← Back to game board

Measure the model.
Understand the limits.

Player models v3.0.0 · Winner v1.0.0. Weekly walk-forward testing covers all 18 regular-season weeks in 2024 and 2025. Training and calibration use only earlier weeks. 2024 was development; the results below use the final 2025 retrospective test.

Game winners and underdogs

The v4 yardage, volume, scoring, and correlation results are in the expanded market report →

271 decided games · winner accuracy 65.7%, compared with 65.7% for the moneyline favorite. One tied game is excluded from these binary scores; live forecasts reserve a separate tie probability.

The winner model has not demonstrated an advantage over market probabilities. Treat underdog forecasts as experimental.
2025 measureModelMarket baseline
Probability error (Brier, lower is better)0.21210.2121
Log loss (lower is better)0.60940.6094
Underdog ranking (AUC, higher is better)0.6440.644
Underdogs estimated at least 40% to win35/82 won (42.7%)42.7% of 82
Underdogs picked as outright favorites0 picks0 by definition

All market underdogs combined won 93/270 games (34.4%). The watch group contains closer matchups; its higher win rate alone does not establish value or profitability. A watch is a competitive underdog, not a predicted winner. Model and market estimates blend using a weight chosen on earlier calibration weeks; some weeks correctly fall back to the market.

Touchdown probabilities

6,964 player-games. Brier error evaluates probability quality, not betting returns. The anytime baseline is the historical position scoring rate; the first-TD baseline distributes historical position first-score rates within each game.

MarketModel BrierBaseline BrierLower error
Anytime TD0.11770.132611.3%
First TD0.03420.03512.7%

The first-TD top player scored first in 11.8% of 272 games, versus 5.9% for the baseline. First-scorer prediction remains difficult; a low per-player Brier score alone is not proof of strong first-pick accuracy.

Receiving, rushing, and passing yards

Mean absolute error (MAE) is measured in yards. The baseline is the player’s previous three-game average. We report regular-usage players separately so backups and zero-yard games cannot hide the harder cases.

MarketAll players MAE / baselineRegular usage MAE / baseline80% range coverage
receiving12.9 / 14.722.4 / 25.5 (2282 rows)79.3%
rushing7.2 / 8.323.3 / 26.7 (1013 rows)78.4%
passing65.9 / 71.966.9 / 74.4 (555 rows)82.1%

Regular usage means a prior three-game average of at least 3 targets, 5 carries, or 15 pass attempts respectively. The ranges target 80% coverage across players; actual coverage is shown above.

2024 development results

272 games: winner accuracy 71.7% versus market 71.3%. Anytime-TD Brier 0.1163 versus baseline 0.1328; first-TD Brier 0.0345 versus baseline 0.0354. All three yardage models also beat their recent-average baselines.

Injuries, timing, and what remains unproven

Live reports are captured from ESPN, combined with weekly active rosters, and stored with each forecast. Confirmed absences are removed from player projections. Missing teammate usage informs player models; prior snap-weighted injury burdens inform the winner model. Questionable and doubtful players remain conditional forecasts, not confirmed participants.

During the regular season, the scheduler checks for tomorrow’s games each evening at 9:17 PM Eastern daylight time / 8:17 PM standard time, and refreshes again about 25–90 minutes before kickoff. Scheduled jobs and source updates can be delayed. A failed or stale injury refresh blocks publication and leaves the last successful forecast visible with its actual timestamp.

Every successful run stores paired game/player predictions and its injury snapshot in Supabase. Those captures make future evaluation of actual night-before forecasts possible. Source availability · Current injury reports