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 58.0% 0.2315 0.6538 53.6% 1.901 season to date 2025-10-01 2026-04-16 1312 56.3% 0.2416 0.6755 52.4% 1.845 multi season 2023-10-10 2026-04-16 3936 61.4% 0.2287 0.6484 53.6% 1.869
Totals (Over 5.5)
Window Games Accuracy Brier Log Loss Avg Outcome Prob
last 30 245 57.6% 0.2452 0.6838 51.5% season to date 1312 57.0% 0.2466 0.6864 51.1% multi season 3936 55.8% 0.2484 0.6902 50.8%
Playoff Game Performance
Start End Games Accuracy Brier Log Loss
2024-04-20 2026-06-14 256 59.8% 0.2358 0.6648
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
1 1 14.8% 0.0% 2 3 25.1% 0.0% 3 17 36.8% 23.5% 4 64 45.4% 48.4% 5 82 54.6% 48.8% 6 48 64.7% 56.2% 7 25 74.0% 84.0% 8 5 83.9% 80.0%
Calibration (Win Prob Deciles) — Season To Date
Bin Count Mean Pred Observed
1 2 16.4% 0.0% 2 12 26.4% 0.0% 3 86 36.3% 45.3% 4 330 45.5% 45.2% 5 475 54.8% 50.1% 6 273 64.5% 59.3% 7 112 74.2% 70.5% 8 22 82.0% 81.8%
Calibration (Win Prob Deciles) — Multi Season
Bin Count Mean Pred Observed
1 4 17.8% 0.0% 2 60 26.6% 10.0% 3 299 36.3% 34.8% 4 965 45.6% 42.7% 5 1397 54.8% 53.7% 6 824 64.4% 66.4% 7 323 73.9% 79.3% 8 63 82.5% 90.5% 9 1 90.7% 100.0%
Calibration (Over 5.5) — Last 30
Bin Count Mean Pred Observed
5 151 56.7% 60.3% 6 90 62.6% 53.3% 7 4 71.0% 50.0%
Calibration (Over 5.5) — Season To Date
Bin Count Mean Pred Observed
4 22 48.2% 59.1% 5 941 56.4% 58.1% 6 343 62.6% 55.1% 7 6 71.4% 50.0%
Calibration (Over 5.5) — Multi Season
Bin Count Mean Pred Observed
4 72 48.3% 59.7% 5 3041 56.1% 57.0% 6 813 62.3% 52.8% 7 10 70.9% 50.0%
Team Calibration (Home, Top 15 by Volume)
Team Count Mean Pred Observed Bias
EDM 148 62.5% 62.2% +0.3% CAR 147 71.0% 70.7% +0.3% DAL 146 56.6% 63.0% -6.4% FLA 146 56.8% 62.3% -5.5% VGK 143 60.5% 60.1% +0.3% COL 138 69.1% 66.7% +2.5% WPG 133 55.0% 62.4% -7.5% BOS 133 51.1% 56.4% -5.3% TOR 133 51.1% 54.1% -3.0% MTL 133 48.6% 49.6% -1.0% TBL 132 62.3% 62.1% +0.2% WSH 131 54.2% 58.8% -4.6% MIN 131 52.9% 52.7% +0.3% NYR 131 51.7% 51.9% -0.2% LAK 130 59.3% 53.8% +5.4%
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 MIN NYR LAK
Starter Calibration (Home)
Window Starter Status Games Accuracy Brier Log Loss
last 30 Starter 245 58.0% 0.2315 0.6538 season to date Starter 1312 56.3% 0.2416 0.6755 multi season Unknown 18 83.3% 0.2115 0.6148 multi season Starter 3918 61.3% 0.2288 0.6485
Cross-Validation (Expanding Window)
Summary: 3 folds |
Brier: 0.2480 |
Log Loss: 0.6894 |
RMSE Total: 2.406
Show fold details
Fold Train N Val N Brier Log Loss RMSE
Fold 1 701 2,097 0.2510 0.6957 2.446 Fold 2 1,399 1,399 0.2490 0.6914 2.390 Fold 3 2,103 695 0.2441 0.6813 2.382
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 60.7% 0.2206 0.6307 2023-11 213 62.9% 0.2291 0.6494 2023-12 219 63.5% 0.2241 0.6381 2024-01 208 60.6% 0.2221 0.6332 2024-02 172 66.3% 0.2195 0.6291 2024-03 228 69.3% 0.2089 0.6073 2024-04 132 61.4% 0.2253 0.6408 2024-10 166 76.5% 0.1943 0.5759 2024-11 220 62.7% 0.2209 0.6312 2024-12 214 70.6% 0.2077 0.6050 2025-01 224 59.4% 0.2306 0.6526 2025-02 122 53.3% 0.2496 0.6905 2025-03 234 65.0% 0.2275 0.6464 2025-04 132 56.8% 0.2463 0.6869 2025-10 180 57.8% 0.2395 0.6707 2025-11 225 53.8% 0.2397 0.6705 2025-12 226 54.9% 0.2501 0.6933 2026-01 240 54.6% 0.2486 0.6909 2026-02 74 67.6% 0.2221 0.6366 2026-03 242 54.5% 0.2453 0.6832 2026-04 125 61.6% 0.2237 0.6381
Playoff Model Performance
Game-level and series-level accuracy across playoff rounds.
Playoff Games
Round Games Accuracy Brier Log Loss
All Rounds 82 54.9% 0.2444 0.6818 Round 1 45 60.0% 0.2453 0.6838 Round 2 22 50.0% 0.2373 0.6673 Round 3 9 44.4% 0.2568 0.7073 Round 4 6 50.0% 0.2448 0.6826
Playoff Series
Round Series Accuracy Brier Log Loss
All Rounds 15 60.0% 0.2290 0.6502 Round 1 8 50.0% 0.2359 0.6645 Round 2 4 75.0% 0.2256 0.6437 Round 3 2 50.0% 0.2168 0.6230 Round 4 1 100.0% 0.2113 0.6156
Playoff Calibration (Pred vs Observed) Mean Pred Observed
0.0 0.5 1.0 4 5 6