Pregame win probability
NHL · how the number is made and how it was tested
What the number is
Before each NHL game we show each team’s chance to win, overtime and shootout included. The number is worked out the morning of the game (or the day before), stored before puck drop, and never changed afterwards, win or lose.
It uses only two things:
- Each team’s rating, built from results alone. A regulation win counts in full; an overtime or shootout win counts 60%, because those are closer to a coin flip. Ratings move a little after every game, and each summer every team keeps 65% of its distance from average.
- Rest: whether either team played the night before.
Home ice is part of the baseline: with two equal teams and no back-to-back, the home side is about 54% to win. The model knows nothing about injuries, lineups or who starts in goal, so read it as a baseline, not a pick.
How it was tested
We replayed 2016-17 to 2025-26. Each season was predicted by a model whose settings were picked using only the seasons before it, the way it would have run at the time. The rules for passing were written down before this run. Predictions on the site appear only because it passed.
Log loss is lower when the predicted chances are closer to what happened; “no skill” is always predicting the home team’s usual win rate. A calibration slope of 1 means 60% calls come in about 60% of the time; under 1, the model was too sure of itself; over 1, not sure enough.
- ✓ 13187 out-of-sample games (need 5000)
- ✓ log loss 0.6693 vs no-skill 0.6901
- ✓ home won 54.0% vs predicted 54.4% (gap 0.4, allowed 1.0 pts)
- ✓ calibration slope 1.047 (SE 0.046; 95% CI 0.956..1.137 must lie inside 0.85..1.15)
- ✓ every decile within max(3 pts, 99.5% band) (largest gap 2.2 pts)
Predicted against actual, 2016-17 to 2025-26
Every game sorted by the home team’s predicted chance and cut into ten equal groups. On the diagonal, games called 60% were won 60% of the time.
| Group | Games | Predicted | Home won | Gap (pts) | Allowed |
|---|---|---|---|---|---|
| 1 | 1,318 | 37.2% | 36.7% | −0.5 | ±3.7 |
| 2 | 1,319 | 44.2% | 43.2% | −1.0 | ±3.8 |
| 3 | 1,319 | 47.9% | 45.9% | −1.9 | ±3.9 |
| 4 | 1,318 | 50.8% | 51.5% | +0.7 | ±3.9 |
| 5 | 1,319 | 53.4% | 51.9% | −1.4 | ±3.9 |
| 6 | 1,319 | 55.8% | 53.9% | −1.9 | ±3.8 |
| 7 | 1,318 | 58.3% | 60.5% | +2.2 | ±3.8 |
| 8 | 1,319 | 61.1% | 59.1% | −2.0 | ±3.8 |
| 9 | 1,319 | 64.6% | 64.4% | −0.2 | ±3.7 |
| 10 | 1,319 | 70.8% | 72.3% | +1.5 | ±3.5 |
Season by season
One season is about 1,300 games, too few to judge calibration on its own, so the pass rules apply to all ten together. Shown so you can see how much it moves.
| Season | Games | Log loss | No skill | Slope |
|---|---|---|---|---|
| 2016-17 | 1,317 | 0.6751 | 0.6867 | 0.91 ± 0.17 |
| 2017-18 | 1,355 | 0.6701 | 0.6866 | 1.13 ± 0.17 |
| 2018-19 | 1,358 | 0.6774 | 0.6911 | 0.98 ± 0.16 |
| 2019-20 | 1,212 | 0.6825 | 0.6930 | 0.88 ± 0.18 |
| 2020-21 | 952 | 0.6625 | 0.6910 | 1.44 ± 0.20 |
| 2021-22 | 1,401 | 0.6501 | 0.6898 | 1.43 ± 0.14 |
| 2022-23 | 1,400 | 0.6612 | 0.6935 | 1.12 ± 0.12 |
| 2023-24 | 1,400 | 0.6606 | 0.6904 | 1.04 ± 0.12 |
| 2024-25 | 1,398 | 0.6653 | 0.6858 | 0.92 ± 0.12 |
| 2025-26 | 1,394 | 0.6889 | 0.6936 | 0.64 ± 0.15 |
2025-26 was the weakest: a slope of 0.64 means the model was too confident that season, and it barely beat no skill. Seasons differ more than chance alone explains; on that spread, a single new season’s slope could reasonably land anywhere from about 0.56 to 1.53.
When it is weaker
| Games | Count | Log loss | No skill | Slope |
|---|---|---|---|---|
| First 20 games | 3,401 | 0.6764 | 0.6890 | 0.93 ± 0.10 |
| After 20 games | 9,786 | 0.6669 | 0.6905 | 1.08 ± 0.05 |
| Regular season | 12,282 | 0.6679 | 0.6897 | 1.06 ± 0.05 |
| Playoffs | 905 | 0.6891 | 0.6950 | 0.81 ± 0.25 |
Early in a season ratings still lean on last year. Playoff games are few and close, and the model has little edge there.
What to keep in mind
- These ten seasons are not a blind test. An earlier version of this model was checked on the same seasons and failed; the pass rules above were written after that. The real test is the games still to come.
- The confidence interval above treats every game as independent. Grouping by season instead gives a wider range, roughly 0.89 to 1.20, which would not fit inside the 0.85 to 1.15 band the rules ask for.
- Too-confident and not-confident-enough seasons partly cancel out in the ten-season total.
The live record, 2026-27
Every prediction shown on this site is written to a log before the game starts, and the log cannot be edited or deleted. Once at least 1,000 regular-season games from this model are final, we will score them here by rules fixed in advance: beat no skill, overall miss within 3 points, a calibration slope between 0.85 and 1.15, and every tenth within its allowed band. Playoff games are scored separately. If it fails, the predictions come off the site.
The model
wp-nhl-pre-v2-20261112-9dd111f2 · settings chosen on all ten seasons (8 of the ten season-by-season picks chose the same settings) · fit on 2011-12 to 2025-26 · rating step 6 · summer carry 0.65 · overtime/shootout win 0.6 · intercept 0.145, rating gap 0.792 per 100 points, rest 0.271 · sha256 7d72bd352048