Model Accuracy Dashboard

Unified view of prediction accuracy for both fantasy projections and game betting

Game predictions: Backtest (2021–2024 seasons, generated 2026-01-18)
holdout season — already spent: most knobs were measured on it too
Win Prediction Accuracy
53.9%
1087 games analyzed (backtest)
Against The Spread
49.3%
Beat the line
Fantasy Pts MAE
5.18
Average error in PPR
Projection Correlation
0.553
Pred vs Actual r-value

Game Prediction Accuracy

Data Source Context
Live Predictions
0
Made before game kickoff
Backtest Predictions
4316
Generated after game (historical analysis)
Spread: 48.0% O/U: 46.4%

Note: All current predictions are from backtesting (historical analysis). Live prediction tracking begins when predictions are generated before game kickoff.

Moneyline (Win/Loss)

53.9% Correct Predictions
586 Correct
1087 Total
56.5% High Conf (70%+)
-7.4% ROI (backtest)

Spread (ATS)

49.3% ATS Accuracy
11.6 MAE (pts)
14.8 RMSE
518 ATS Wins
-4.9% ROI (backtest)

Total (Over/Under)

50.8% O/U Accuracy
11.7 MAE (pts)
15.0 RMSE
544 O/U Wins
-2.1% ROI (backtest)

Seasonal Performance

Season Games Win Accuracy Spread Error Total Error ROI
2021 272 57.0%
2022 271 55.7%
2023 272 51.1%
2024 272 51.8%

Fantasy Projection Accuracy

Stat Type MAE RMSE Bias Correlation Players Sample
Fantasy Points Ppr 5.18 4.96–5.41 6.90 +0.01 0.553 0.52–0.58 447 3110
Fantasy Points Half 4.74 4.53–4.97 6.39 +0.02 0.572 0.54–0.60 447 3110
Fantasy Points Std 4.36 4.16–4.59 5.96 +0.04 0.599 0.56–0.63 447 3110
Passing Yards 60.80 56.13–65.89 78.67 +1.32 0.354 0.24–0.46 60 391
Passing Tds 0.98 0.91–1.04 1.18 +0.05 0.212 0.06–0.34 60 391
Rushing Yards 20.35 18.59–21.98 28.82 -1.18 0.599 0.53–0.65 164 1213
Rushing Tds 0.41 0.36–0.45 0.59 -0.01 0.246 0.17–0.30 164 1213
Receiving Yards 18.54 17.47–19.60 25.84 -0.25 0.588 0.54–0.62 387 2719
Receiving Tds 0.29 0.26–0.31 0.45 -0.00 0.239 0.19–0.29 387 2719
Receptions 1.42 1.35–1.49 1.88 -0.03 0.586 0.54–0.62 387 2719

Ranges under each figure are 95% confidence intervals, bootstrapped by resampling players rather than rows. The same player appears every week and his weeks are correlated, so treating rows as independent would make every interval look tighter than it is — the “Players” column is the sample size that actually counts.

Touchdown Models — Probability of Scoring

TD counts barely persist week to week, so a point projection is the wrong output and its MAE is not informative. These are scored as forecasts instead: log loss against simply quoting the base rate, with AUC for ranking. Calibrated on seasons strictly before the one shown, so the numbers are out-of-sample. Positive skill beats the base rate; negative means you would do better ignoring the model.

Stat Base Rate Actual Log Loss Base Log Loss Skill AUC Sample
Passing Tds — unproven 75.7% 74.4% 0.5664 0.5690 +0.5% 0.598 391
Rushing Tds 22.3% 22.8% 0.5161 0.5374 +4.0% 0.654 1213
Receiving Tds 16.8% 16.9% 0.4271 0.4546 +6.0% 0.682 2719

Admin Actions

Note: Projections should be stored before games each week. Actuals can be fetched after games complete.

Player Props Performance

Awaiting live prop lines

No performance is shown because no bets yet meet the bar: the line must come from a real sportsbook and the bet must have been recorded before it settled. Currently 34 bets qualify.

The stored history was generated from synthetic lines derived from actual results, so a win rate or ROI computed on it would be meaningless. This section fills in on its own once live line scraping starts.

View Current Props