NHL Prediction Model Performance & Calibration
How to Read These Metrics
Accuracy
The percentage of games where the predicted winner (team with >50% win
probability) actually won. Simple but incomplete — it ignores how
confident the model was.
Brier Score
Measures the mean squared error of probability predictions (0–1 scale,
lower is better). A coin-flip baseline yields 0.25; our model targets
values below 0.24. Brier score rewards well-calibrated confidence levels,
not just picking the right side.
Log Loss
A logarithmic scoring rule that heavily penalises confident wrong
predictions. Assigning 90% to a team that loses costs far more than
assigning 55%. This keeps the model honest about uncertainty.
Calibration
Shows whether stated probabilities match real outcomes. In a well-calibrated
model, games given a 70% win probability should be won about 70% of the
time. The calibration tables below group predictions into decile bins so
you can verify this directly.
MAE / RMSE (Total Goals Error)
Both measure how far predicted totals are from actual totals, in goal units.
The game-level windows report MAE (mean absolute error) because
the point estimate is the median of the simulated total, and the median minimizes
MAE. The cross-validation folds report RMSE because they score the
mean (expected goals), where RMSE is the consistent metric.
Why calibration matters most: For probabilistic predictions,
calibration is more important than raw accuracy. A model that says "55%"
every game can be 55% accurate but useless for decision-making. A
well-calibrated model tells you how much to trust each prediction.
Learn more in our analytics guide
and methodology .
Game Predictions (Multi-Window)
Window Start End Games Accuracy Brier Log Loss Avg Winner Prob MAE Total
last 30 2026-03-17 2026-04-16 245 56.7% 0.2352 0.6616 53.0% 1.893 season to date 2025-10-01 2026-04-16 1312 61.8% 0.2275 0.6464 53.6% 1.834 multi season 2023-10-10 2026-04-16 3936 61.5% 0.2288 0.6488 53.5% 1.859
Totals (Over 5.5)
Window Games Accuracy Brier Log Loss Avg Outcome Prob
last 30 245 57.6% 0.2458 0.6854 52.1% season to date 1312 57.2% 0.2462 0.6860 51.7% multi season 3936 56.0% 0.2485 0.6904 51.2%
Playoff Game Performance
Start End Games Accuracy Brier Log Loss
2024-04-20 2026-06-14 256 60.9% 0.2348 0.6619
Daily Performance
Show:
Last 14 Days
Last 30 Days
Full Season
Date
Games
Accuracy
Brier
Log Loss
Prediction Recap Highlights
Definition: High confidence means the model assigned the predicted team
a win probability well above 50%. Edges that hit are the highest-confidence correct calls,
misses are the highest-confidence incorrect calls, and surprise results show the largest
absolute gap between win probability and the actual outcome.
Show:
Last 30 Days
Last 90 Days
Full Season
Biggest Model Edges That Hit
Date
Matchup
Win Prob
Outcome
Biggest Misses (High Confidence)
Date
Matchup
Win Prob
Outcome
Surprise Results
Date
Matchup
Surprise
Outcome
Calibration (Win Prob Deciles) — Last 30
Bin Count Mean Pred Observed
2 4 28.0% 25.0% 3 13 36.1% 30.8% 4 73 45.7% 46.6% 5 74 54.8% 45.9% 6 56 64.0% 60.7% 7 20 74.9% 80.0% 8 5 82.6% 80.0%
Calibration (Win Prob Deciles) — Season To Date
Bin Count Mean Pred Observed
2 17 26.8% 5.9% 3 76 36.5% 21.1% 4 351 45.8% 40.5% 5 462 54.8% 51.3% 6 285 64.0% 67.4% 7 107 73.8% 80.4% 8 14 81.9% 78.6%
Calibration (Win Prob Deciles) — Multi Season
Bin Count Mean Pred Observed
2 49 26.3% 12.2% 3 240 36.2% 28.3% 4 1017 45.7% 42.8% 5 1437 55.0% 53.8% 6 851 64.2% 67.7% 7 302 73.8% 79.1% 8 40 82.1% 90.0%
Calibration (Over 5.5) — Last 30
Bin Count Mean Pred Observed
5 65 57.6% 55.4% 6 168 63.6% 58.9% 7 12 71.3% 50.0%
Calibration (Over 5.5) — Season To Date
Bin Count Mean Pred Observed
4 9 47.6% 55.6% 5 587 57.0% 54.9% 6 689 63.2% 59.7% 7 27 71.6% 51.9%
Calibration (Over 5.5) — Multi Season
Bin Count Mean Pred Observed
4 25 48.1% 56.0% 5 2238 56.7% 55.3% 6 1632 62.8% 57.4% 7 41 71.6% 51.2%
Team Calibration (Home, Top 15 by Volume)
Team Count Mean Pred Observed Bias
EDM 148 62.4% 62.2% +0.2% CAR 147 69.2% 70.7% -1.5% DAL 146 55.3% 63.0% -7.7% FLA 146 57.4% 62.3% -5.0% VGK 143 60.0% 60.1% -0.2% COL 138 66.6% 66.7% -0.1% WPG 133 54.2% 62.4% -8.2% BOS 133 51.7% 56.4% -4.7% TOR 133 51.3% 54.1% -2.9% MTL 133 51.6% 49.6% +1.9% TBL 132 59.4% 62.1% -2.7% WSH 131 54.5% 58.8% -4.3% NYR 131 50.9% 51.9% -1.0% MIN 131 52.8% 52.7% +0.1% VAN 130 49.3% 43.1% +6.2%
Team Calibration (Pred vs Observed) Mean Pred Observed
0.0 0.5 1.0 EDM CAR DAL FLA VGK COL WPG BOS TOR MTL TBL WSH NYR MIN VAN
Starter Calibration (Home)
Window Starter Status Games Accuracy Brier Log Loss
last 30 Starter 245 56.7% 0.2352 0.6616 season to date Starter 1312 61.8% 0.2275 0.6464 multi season Unknown 18 61.1% 0.2328 0.6580 multi season Starter 3918 61.5% 0.2288 0.6488
Cross-Validation (Expanding Window)
Summary: 3 folds |
Brier: 0.2549 |
Log Loss: 0.7033 |
RMSE Total: 2.393
Show fold details
Fold Train N Val N Brier Log Loss RMSE
Fold 1 703 2,089 0.2561 0.7059 2.431 Fold 2 1,396 1,396 0.2550 0.7036 2.369 Fold 3 2,094 698 0.2534 0.7003 2.380
In-Game Checkpoints — Last 30
Checkpoint Games Accuracy Brier Log Loss
end_p1 17 64.7% 0.2108 0.6250 end_p2 17 76.5% 0.1587 0.4810 ot_start 5 60.0% 0.2178 0.6143 p3_10 17 94.1% 0.0727 0.2360 p3_5 17 88.2% 0.0824 0.2520 pregame 17 41.2% 0.2552 0.7059
In-Game Checkpoints — Season To Date
Checkpoint Games Accuracy Brier Log Loss
end_p1 1394 65.8% 0.2111 0.6083 end_p2 1394 77.7% 0.1483 0.4510 ot_start 348 63.8% 0.1956 0.5583 p3_10 1394 84.0% 0.1033 0.3231 p3_5 1394 85.9% 0.0880 0.2766 pregame 1394 56.0% 0.2429 0.6786
In-Game Calibration — Pregame (Last 30 Days)
Bin Count Mean Pred Observed
4 6 44.8% 50.0% 5 6 54.1% 16.7% 6 2 63.5% 50.0% 7 3 73.5% 66.7%
In-Game Calibration — End P2 (Last 30 Days)
Bin Count Mean Pred Observed
0 4 8.4% 0.0% 1 2 11.1% 50.0% 2 1 28.8% 0.0% 3 1 35.6% 0.0% 4 2 44.0% 50.0% 5 1 52.2% 0.0% 6 1 64.0% 100.0% 7 1 78.8% 100.0% 8 2 83.8% 50.0% 9 2 98.4% 100.0%
In-Game Calibration — P3 10 (Last 30 Days)
Bin Count Mean Pred Observed
0 5 2.6% 0.0% 1 3 16.6% 0.0% 2 1 25.5% 100.0% 3 1 37.5% 0.0% 4 1 48.4% 0.0% 5 1 55.6% 100.0% 8 1 89.1% 100.0% 9 4 96.7% 100.0%
xG Holdout — Contextual Train: 2023-10-10 – 2025-12-27 | Test: 2025-12-28 – 2026-06-14
Games (test): 794 | Shots (test): 68188 | ROC AUC: 0.785 | Log Loss: 0.2211 | Brier: 0.0602
xG Splits — Contextual Strength State
Split Shots Goal Rate AUC Log Loss Brier
Even 54578 6.3% 0.780 0.2022 0.0541 PP 11485 10.6% 0.723 0.2915 0.0807 PK 1491 7.2% 0.838 0.2132 0.0609 EmptyNet 634 50.3% 0.754 0.5979 0.2059
xG Splits — Contextual Shot Type
Split Shots Goal Rate AUC Log Loss Brier
wrist 28569 7.2% 0.816 0.2060 0.0561 snap 17624 8.6% 0.774 0.2516 0.0711 slap 8178 4.8% 0.720 0.1788 0.0443 tip-in 6597 6.4% 0.666 0.2270 0.0582 backhand 5044 8.6% 0.818 0.2325 0.0644 deflected 1103 11.5% 0.702 0.3273 0.0951 wrap-around 407 5.4% 0.751 0.1820 0.0456 bat 357 7.8% 0.779 0.2346 0.0625 poke 217 8.8% 0.693 0.2704 0.0701 between-legs 48 12.5% 0.810 0.2950 0.0832 nan 37 59.5% 0.686 0.8924 0.2869 cradle 7 14.3% 1.000 0.2298 0.0636
xG Holdout — Neutral Train: 2023-10-10 – 2025-12-27 | Test: 2025-12-28 – 2026-06-14
Games (test): 794 | Shots (test): 68188 | ROC AUC: 0.782 | Log Loss: 0.2246 | Brier: 0.0615
xG Splits — Neutral Strength State
Split Shots Goal Rate AUC Log Loss Brier
Even 54578 6.3% 0.779 0.2026 0.0543 PP 11485 10.6% 0.703 0.3101 0.0881 PK 1491 7.2% 0.836 0.2131 0.0607 EmptyNet 634 50.3% 0.747 0.5975 0.2069
xG Splits — Neutral Shot Type
Split Shots Goal Rate AUC Log Loss Brier
wrist 28569 7.2% 0.811 0.2099 0.0576 snap 17624 8.6% 0.770 0.2556 0.0726 slap 8178 4.8% 0.720 0.1789 0.0444 tip-in 6597 6.4% 0.661 0.2277 0.0584 backhand 5044 8.6% 0.804 0.2419 0.0680 deflected 1103 11.5% 0.705 0.3258 0.0946 wrap-around 407 5.4% 0.737 0.1868 0.0469 bat 357 7.8% 0.774 0.2388 0.0640 poke 217 8.8% 0.704 0.2674 0.0693 between-legs 48 12.5% 0.794 0.3017 0.0866 nan 37 59.5% 0.694 0.8424 0.2857 cradle 7 14.3% 1.000 0.2357 0.0685
Monthly Performance Trends
Track how model performance varies month-to-month across the season.
Month Games Accuracy Brier Log Loss
2023-10 140 57.1% 0.2383 0.6678 2023-11 213 56.8% 0.2422 0.6767 2023-12 219 61.6% 0.2394 0.6717 2024-01 208 54.3% 0.2358 0.6619 2024-02 172 61.0% 0.2369 0.6664 2024-03 228 62.3% 0.2267 0.6455 2024-04 132 53.0% 0.2495 0.6910 2024-10 166 67.5% 0.2128 0.6145 2024-11 220 63.6% 0.2213 0.6328 2024-12 214 65.9% 0.2097 0.6090 2025-01 224 63.4% 0.2346 0.6618 2025-02 122 56.6% 0.2259 0.6412 2025-03 234 65.4% 0.2169 0.6238 2025-04 132 65.9% 0.2308 0.6537 2025-10 180 66.7% 0.2098 0.6088 2025-11 225 63.1% 0.2210 0.6320 2025-12 226 65.5% 0.2255 0.6422 2026-01 240 60.8% 0.2284 0.6481 2026-02 74 67.6% 0.2255 0.6455 2026-03 242 52.9% 0.2505 0.6947 2026-04 125 61.6% 0.2236 0.6376
Playoff Model Performance
Game-level and series-level accuracy across playoff rounds.
Playoff Games
Round Games Accuracy Brier Log Loss
All Rounds 82 56.1% 0.2455 0.6841 Round 1 45 57.8% 0.2456 0.6843 Round 2 22 59.1% 0.2417 0.6761 Round 3 9 44.4% 0.2568 0.7069 Round 4 6 50.0% 0.2426 0.6781
Playoff Series
Round Series Accuracy Brier Log Loss
All Rounds 15 66.7% 0.2298 0.6520 Round 1 8 62.5% 0.2352 0.6636 Round 2 4 75.0% 0.2320 0.6567 Round 3 2 50.0% 0.2213 0.6313 Round 4 1 100.0% 0.1950 0.5827
Playoff Calibration (Pred vs Observed) Mean Pred Observed
0.0 0.5 1.0 4 5 6