{
  "baseline": "Trailing four-appearance mean PPR points on the identical player-week rows.",
  "by_season": {
    "2020": {
      "baseline_mae": 5.420234447539461,
      "baseline_rmse": 7.477959193615758,
      "interval_80_coverage": 0.7715877437325905,
      "mae_improvement_pct": 6.519562812273755,
      "mean_top_24_overlap": 0.40277777777777785,
      "mean_weekly_spearman": 0.5802713976440957,
      "model_mae": 5.066858858159627,
      "model_rmse": 6.9768441672597135,
      "rows": 2154,
      "zero_outcome_rate": 0.32079851439182916
    },
    "2021": {
      "baseline_mae": 5.026192608386639,
      "baseline_rmse": 6.9090344369001695,
      "interval_80_coverage": 0.808955223880597,
      "mae_improvement_pct": 6.03523179245675,
      "mean_top_24_overlap": 0.4401041666666667,
      "mean_weekly_spearman": 0.6010888086669713,
      "model_mae": 4.722850234135177,
      "model_rmse": 6.404442994482642,
      "rows": 2345,
      "zero_outcome_rate": 0.3488272921108742
    },
    "2022": {
      "baseline_mae": 5.058392297357814,
      "baseline_rmse": 6.980855528660271,
      "interval_80_coverage": 0.8096730855351545,
      "mae_improvement_pct": 7.110950820085586,
      "mean_top_24_overlap": 0.4453125,
      "mean_weekly_spearman": 0.5972344131990557,
      "model_mae": 4.698692508805703,
      "model_rmse": 6.367348078666303,
      "rows": 2233,
      "zero_outcome_rate": 0.33139274518584866
    },
    "2023": {
      "baseline_mae": 4.8267947057977265,
      "baseline_rmse": 6.9110813776685145,
      "interval_80_coverage": 0.8226154510142426,
      "mae_improvement_pct": 6.058438729525001,
      "mean_top_24_overlap": 0.49218750000000006,
      "mean_weekly_spearman": 0.6212749019670158,
      "model_mae": 4.534366305947015,
      "model_rmse": 6.349471379000624,
      "rows": 2317,
      "zero_outcome_rate": 0.29995684074233925
    },
    "2024": {
      "baseline_mae": 4.9058850726552174,
      "baseline_rmse": 7.031125079063818,
      "interval_80_coverage": 0.802289740202554,
      "mae_improvement_pct": 6.4124568911812245,
      "mean_top_24_overlap": 0.4348958333333333,
      "mean_weekly_spearman": 0.6164302434608704,
      "model_mae": 4.591297307240307,
      "model_rmse": 6.499153262014004,
      "rows": 2271,
      "zero_outcome_rate": 0.32628797886393657
    },
    "2025": {
      "baseline_mae": 4.5781402481527955,
      "baseline_rmse": 6.474156401645695,
      "interval_80_coverage": 0.8264324550397323,
      "mae_improvement_pct": 5.909366464593202,
      "mean_top_24_overlap": 0.4505208333333333,
      "mean_weekly_spearman": 0.6097053253194056,
      "model_mae": 4.30760116362641,
      "model_rmse": 5.981785181305212,
      "rows": 2391,
      "zero_outcome_rate": 0.3755750731911334
    }
  },
  "limitations": [
    "This is a historical baseline, not a current-season projection.",
    "The eligibility pool is reconstructed from prior appearances and can lag trades, signings, and injuries.",
    "The model does not use live injuries, depth charts, routes, coaching, betting markets, or news.",
    "Intervals are empirical training-residual bands and are evaluated for coverage, not player-specific variance."
  ],
  "model_version": "0.1.0",
  "overall": {
    "baseline_mae": 4.961584007974132,
    "baseline_rmse": 6.960952361788275,
    "interval_80_coverage": 0.807453869156152,
    "mae_improvement_pct": 6.342307918853432,
    "mean_top_24_overlap": 0.4447368421052633,
    "mean_weekly_spearman": 0.6045874741734163,
    "model_mae": 4.646905072535823,
    "model_rmse": 6.427600248665232,
    "rows": 13711,
    "zero_outcome_rate": 0.3342571657793013
  },
  "passed": true,
  "promotion_checks": {
    "all_test_seasons_present": true,
    "beats_trailing_ppr_mae": true,
    "interval_coverage_between_70_and_90_pct": true,
    "wins_at_least_four_test_seasons": true
  },
  "schema_version": "1.0",
  "scope": "Historical weekly PPR forecasts for WRs with at least two prior appearances in the trailing four weeks.",
  "season_mae_wins": 6,
  "test_seasons": [
    2020,
    2021,
    2022,
    2023,
    2024,
    2025
  ]
}
