{
  "baseline": "Trailing four-appearance mean PPR points on the identical eligible player-weeks.",
  "by_position": {
    "QB": {
      "baseline_mae": 7.186267050912584,
      "baseline_rmse": 9.141110654409427,
      "interval_80_coverage": 0.7838616714697406,
      "mae_improvement_pct": 8.612590630147219,
      "mean_startable_overlap": 0.5315789473684209,
      "mean_weekly_spearman": 0.5425100907851041,
      "model_mae": 6.56734328822833,
      "model_rmse": 8.283528385194215,
      "playing_probability_brier": 0.15648414985590778,
      "rows": 3470,
      "zero_outcome_rate": 0.22853025936599425
    },
    "RB": {
      "baseline_mae": 5.053967658776658,
      "baseline_rmse": 7.084754983221241,
      "interval_80_coverage": 0.8025544879306304,
      "mae_improvement_pct": 6.9731112240062245,
      "mean_startable_overlap": 0.5894736842105263,
      "mean_weekly_spearman": 0.6248992668901273,
      "model_mae": 4.701548872704858,
      "model_rmse": 6.522416903793556,
      "playing_probability_brier": 0.1592087532224045,
      "rows": 8534,
      "zero_outcome_rate": 0.272674009842981
    },
    "TE": {
      "baseline_mae": 3.98258958123471,
      "baseline_rmse": 5.588755572586291,
      "interval_80_coverage": 0.8052957260037416,
      "mae_improvement_pct": 9.134806980059103,
      "mean_startable_overlap": 0.4491228070175439,
      "mean_weekly_spearman": 0.5512049231287609,
      "model_mae": 3.618787710180975,
      "model_rmse": 5.111265654132146,
      "playing_probability_brier": 0.18968556626852784,
      "rows": 6949,
      "zero_outcome_rate": 0.36595193553029215
    },
    "WR": {
      "baseline_mae": 4.961584007974132,
      "baseline_rmse": 6.960952361788275,
      "interval_80_coverage": 0.8058493180657866,
      "mae_improvement_pct": 6.267735606428894,
      "mean_startable_overlap": 0.5570175438596491,
      "mean_weekly_spearman": 0.6045562861131358,
      "model_mae": 4.650605040463455,
      "model_rmse": 6.429817632553875,
      "playing_probability_brier": 0.16075596236598352,
      "rows": 13711,
      "zero_outcome_rate": 0.3342571657793013
    }
  },
  "by_season": {
    "2020": {
      "baseline_mae": 5.3540029704249,
      "baseline_rmse": 7.328284055604093,
      "interval_80_coverage": 0.7867105772956219,
      "mae_improvement_pct": 7.961216526049994,
      "mean_startable_overlap": 0.5159722222222223,
      "mean_weekly_spearman": 0.5644697737122666,
      "model_mae": 4.927759201138225,
      "model_rmse": 6.74082589638514,
      "playing_probability_brier": 0.1720747772181325,
      "rows": 5162,
      "zero_outcome_rate": 0.3062766369624177
    },
    "2021": {
      "baseline_mae": 5.257919010463921,
      "baseline_rmse": 7.196725902414945,
      "interval_80_coverage": 0.7887860642351661,
      "mae_improvement_pct": 8.064797021880809,
      "mean_startable_overlap": 0.513454861111111,
      "mean_weekly_spearman": 0.5543046672069054,
      "model_mae": 4.8338785146951215,
      "model_rmse": 6.5718994717517845,
      "playing_probability_brier": 0.17648793322446016,
      "rows": 5511,
      "zero_outcome_rate": 0.3295227726365451
    },
    "2022": {
      "baseline_mae": 4.996380217896927,
      "baseline_rmse": 6.935254634473277,
      "interval_80_coverage": 0.8099522585383768,
      "mae_improvement_pct": 7.913467193692482,
      "mean_startable_overlap": 0.5314670138888888,
      "mean_weekly_spearman": 0.5782056655528434,
      "model_mae": 4.600993308481513,
      "model_rmse": 6.316613748444544,
      "playing_probability_brier": 0.16606224752111642,
      "rows": 5446,
      "zero_outcome_rate": 0.31582813073815647
    },
    "2023": {
      "baseline_mae": 4.820770718232044,
      "baseline_rmse": 6.802357737003928,
      "interval_80_coverage": 0.8171270718232044,
      "mae_improvement_pct": 6.709497490357462,
      "mean_startable_overlap": 0.556640625,
      "mean_weekly_spearman": 0.6048711033738552,
      "model_mae": 4.497321227876378,
      "model_rmse": 6.223790222621193,
      "playing_probability_brier": 0.15753913443830572,
      "rows": 5430,
      "zero_outcome_rate": 0.29318600368324127
    },
    "2024": {
      "baseline_mae": 4.896681342872868,
      "baseline_rmse": 6.923458500458753,
      "interval_80_coverage": 0.7983856173179233,
      "mae_improvement_pct": 5.970302487761947,
      "mean_startable_overlap": 0.5444878472222222,
      "mean_weekly_spearman": 0.594516113203723,
      "model_mae": 4.604334654841554,
      "model_rmse": 6.426344059070199,
      "playing_probability_brier": 0.16195422858191158,
      "rows": 5451,
      "zero_outcome_rate": 0.3082003302146395
    },
    "2025": {
      "baseline_mae": 4.7806432438794735,
      "baseline_rmse": 6.80878617066362,
      "interval_80_coverage": 0.8132062146892656,
      "mae_improvement_pct": 7.041815512953359,
      "mean_startable_overlap": 0.5277777777777778,
      "mean_weekly_spearman": 0.587368348075035,
      "model_mae": 4.443999166313012,
      "model_rmse": 6.291915225029684,
      "playing_probability_brier": 0.16250662076271186,
      "rows": 5664,
      "zero_outcome_rate": 0.3278601694915254
    }
  },
  "design": "Rolling future-season evaluation. Each position model trains only on seasons before its held-out season; every player-week feature uses completed prior weeks.",
  "limitations": [
    "Historical injury, depth-chart, and news states are not available in this public-data benchmark.",
    "The player pool is reconstructed from prior appearances and may lag transactions or role changes.",
    "Playing probability is a simple trailing-appearance estimate, not an injury model.",
    "Intervals are position-specific training-residual bands rather than player-specific simulations."
  ],
  "model_version": "0.2.0",
  "overall": {
    "baseline_mae": 5.013782757776145,
    "baseline_rmse": 6.998209442239308,
    "interval_80_coverage": 0.8025349008082292,
    "mae_improvement_pct": 7.295038537134579,
    "mean_startable_overlap": 0.5317982456140351,
    "mean_weekly_spearman": 0.580792641729282,
    "model_mae": 4.648025373428166,
    "model_rmse": 6.427747642240997,
    "playing_probability_brier": 0.16605245836394808,
    "rows": 32664,
    "zero_outcome_rate": 0.31367866764633845
  },
  "passed": true,
  "position_mae_wins": 4,
  "promotion_checks": {
    "all_positions_present": true,
    "all_test_seasons_present": true,
    "beats_trailing_mean_overall": true,
    "interval_coverage_between_68_and_92_pct": true,
    "wins_all_four_positions": true,
    "wins_at_least_four_test_seasons": true
  },
  "reproducibility": {
    "identical": true,
    "predictions_sha256": "fa913128ea2a25c38940d95e2ae23ca1d908d8b452d42125616edfb7be4c24fe",
    "runs_compared": 2
  },
  "run_id": "historical-weekly-all-position-ppr-v1",
  "schema_version": "1.0",
  "scope": "Historical weekly full-PPR forecasts for QB, RB, WR, and TE players with at least two prior appearances in the trailing four weeks.",
  "season_mae_wins": 6,
  "test_seasons": [
    2020,
    2021,
    2022,
    2023,
    2024,
    2025
  ]
}
