Skip to content

How our NHL model works

NHL

Every win probability, power rating, expected-goals number and playoff odd in our NHL section is ours, built on the NHL's own play-by-play feed. Scores, standings and box-score stats are the league's. Here is how each of ours is made, and what it does not know.

Expected goals

Every unblocked shot attempt — a goal, a save or a miss — gets a probability of being a goal. Add those up and you have expected goals: how many goals an average shooter against an average goalie would score from the same chances.

The probability comes from a model trained on every shot in the league's play-by-play since 2010-11. It looks at where the shot came from (distance, angle, location), the kind of shot, how many skaters each side had, whether the net was empty, what happened just before (a rebound, a rush up the ice, how far and how fast the puck moved), the shooter's handedness and side, his finishing record in earlier seasons, and a correction for arenas whose scorers record shot locations a little closer or farther than the rest. The score is deliberately left out.

The league's scorekeeping changes over time — rebounds and missed shots are logged far more often now than in 2010 — so recent seasons count most, and the model carries a measured correction forward into the season being played. Without it, every goalie would look as if he were stopping more than he should.

What it cannot see. Blocked shots (they are not in the model's population), a screen or a deflection the feed does not record, pre-shot passing that is not in the play-by-play, and the goalie's positioning. Two shots from the same spot look the same to it even when one was wide open.

Power ratings: three parts

A club's power rating is its chance of beating a league-average club on neutral ice, with average goaltending on the other side. It adds up three parts, each weighted by how much it has actually mattered in past seasons:

  • Ability to win — the club's recent win rate, with newer games weighted more and every overtime or shootout result counted as a tie.
  • Scoring chances — expected goals created and allowed per 60 minutes at five-on-five, actual five-on-five goals, and power-play chances for and penalty-kill chances against. This part carries the most weight.
  • Goaltending — goals saved above expected per 60 minutes by the goalies likely to start, weighted by how likely each one is to play, and pulled toward average for a goalie with little NHL history.

Every rating only ever sees games before the day it describes. Over the summer each club is pulled part of the way back toward the league average, so opening-night ratings are last season's form, discounted. They sharpen as the season's games come in.

What it cannot see. A trade, a signing, an injury or a call-up — until games are played with the new roster. Early in a season the ratings still lean on last year. The lineup layer below is how the pregame number catches some of that sooner.

Pregame win probability

For a real game the same three parts are compared club against club, then adjusted for home ice and for either club playing the second night of a back-to-back. The goalie part uses each club's projected starter: the share of its last ten starts, most recent weighted most, with a goalie who started the night before discounted heavily (teams usually rest him). Once the league marks a starter, he is certain.

The number is also turned into expected goals for each side, from how fast both clubs play and how good the likely goalies are. That is what the chance of overtime comes from.

A game's number is frozen in the three hours before puck drop. A recap shows what the model said beforehand, never a figure recomputed with knowledge of later games.

What it cannot see. A late scratch or a goalie change announced after the number freezes, travel beyond back-to-backs, and anything about motivation — a club resting players late in a season it has already decided.

Lineups and player impact

On top of the team parts sits a layer for who is actually dressing. Every five-on-five shift in the league's shift charts becomes a stretch of time with the same ten skaters on the ice and the expected goals each side created. From all of those, the model solves for each skater's effect — how many expected goals per 60 minutes his presence adds for his team and allows against it — with his linemates, his opponents, home ice and the score accounted for.

Each season starts from ratings built on the three seasons before, and every finished game moves them. A skater's early games move his rating only a little; a full season of evidence overrides where he started. A club's lineup rating is those impacts added up over the skaters who dress, weighted by how much each plays. Before the league posts lineups, the model assumes the club's previous game.

That per-skater number is the 5-on-5 impact on our player leaderboards.

What it cannot see. Special teams, and a player's own shots — it is an on-ice rating, not a scoring rate, so a defenseman who rarely shoots can rate highly. Players who share almost every shift are hard to tell apart, and a rookie starts at a depth player's average until he has played.

In-game win probability

Once the puck drops, the pregame number becomes two scoring rates — one per club — chosen so that a race between them reproduces the pregame chance exactly. From there the model plays out the time left: the current score, the clock, and any power play in progress (a club on the power play scores well over twice as often; the club shorthanded far less). A trailing club scores a little more often, as trailing clubs do.

The last five minutes are stepped through second by second, because that is when goalies are pulled: the trailing club's scoring rate climbs and so does the leader's, into an empty net, and a tying goal ends that. A game tied after regulation goes to overtime, with a lean toward the pregame favorite in the regular season and sudden death in the playoffs.

So at puck drop the live number is the pregame number, and it fades exactly as the clock runs.

What it cannot see. How the game is being played. Shots, chances and momentum do not move it — only goals, penalties and time do. It also does not know that a backup goalie has come in until the goaltending changes a later game's rating.

Deserve to win

After a game, deserve-to-win asks: if both clubs had created exactly these chances again, with average goaltending at both ends, how often would each have won? Each shot goes in with its expected-goals probability, and the chance of every final score is worked out exactly rather than by simulation. A flurry of rebounds seconds apart counts as the one chance it really was, not as three separate ones. Empty-net shots are left out (they measure who was trailing late), and a replay that ends level is split evenly.

What it cannot see. Goaltending, on purpose — a goalie who stole a game is exactly what it is built to set aside. It also inherits everything expected goals cannot see, and it does not know that a club protecting a lead stops chasing chances.

Playoff odds

The rest of the regular season is played out ten thousand times with the pregame model, game by game, including overtime and shootout points. Each simulated season is then run through the NHL's playoff format — the top three in each division and two wild cards per conference — and the bracket played out series by series. A club's odds are the share of those seasons in which it made the playoffs, won its division, reached each round and won the Cup. They refresh after each finished game.

What it cannot see. Trades and injuries still to come, and changes in form during the season beyond what games reveal. Every simulated game uses today's ratings, so the odds are a snapshot, not a forecast of how the ratings will move. "<1%" means it happened in some simulated seasons; it is never a promise that it cannot.

Data: the NHL's play-by-play, shift charts, boxscores, rosters, schedules and standings. The model is refitted each summer on every season since 2010-11 and updated after every finished game during the season. Power ratings → Playoff odds →