Stats Glossary
We never use a number without its meaning. Every metric below appears across the publication — dotted-underlined terms on any page open these same definitions inline. Entries marked model-est. proxy are our stand-ins for data that doesn't publicly exist; they are disclosed everywhere they appear.
Every shot's scoring probability — judged on location, angle, shot type and game state — summed up.
It counts the goals a team should have scored on its chances: the cleanest read on who actually controlled the game.
A 0.20 xG shot goes in about 1 time in 5. An average NHL shot is worth ~0.07.
A team's slice of all the expected goals in a game or season: xGF ÷ (xGF + xGA).
The single most predictive team-quality number we have — it forecasts future wins better than wins do.
50% = dead even · 52%+ = solidly good · 55%+ = territorial control.
Share of all shot attempts — on goal, missed or blocked — while a team is on the ice at 5-on-5.
A volume proxy for possession: you can't attempt shots without the puck.
50% = even · 53%+ = a strong possession side.
Corsi minus blocked shots — the share of unblocked attempts.
Possession, weighted toward the attempts that actually reach the net.
Shot attempts from the slot and crease — the ice where shots become goals most often.
Quality over volume: who created the looks that actually go in.
Every chance binned by scoring probability: high (slot and crease), medium, and low (points, bad angles).
Ten point shots can matter less than one clean look from the slot — the tiers keep shot totals honest.
Roughly: high ≈ 1-in-5 scores · medium ≈ 1-in-15 · low ≈ 1-in-30.
A shot created within seconds of the puck entering the zone, before the defense is set.
Rush shots score far more often than set-play shots, so the xG model prices them up.
A shot taken quickly after a previous shot, usually with the goalie out of position.
Rebounds convert at a multiple of first shots — teams that generate them out-score their raw volume.
Expected goals a team or player generates per 60 minutes of ice time.
The offense dial: how dangerous you are, with the finishing luck stripped out.
League average sits near 2.6 at 5-on-5 · 3.0+ is dangerous.
The quality of chances given up per 60 minutes while on the ice.
The defense dial: it measures suppression before the goalie gets involved.
Lower is better · ~2.6 = league average · near 2.0 = elite suppression.
Actual goals scored. The scoreboard.
The result layer — always reconciled here against process (xG) and luck (PDO), never read alone.
Any counting stat scaled to a full 60 minutes of ice time.
Raw totals reward minutes played; rates reveal who produces the most while actually out there.
On-ice shooting % plus save % — the two bounce-driven numbers. The league averages almost exactly 1.000.
Big deviations are mostly luck and mean-revert hard: a hot PDO team is often a fade, a cold one a buy.
1.000 = neutral · above ~1.02 = running hot · below ~0.98 = due better.
Actual goals minus expected goals — how far the results outran (or trailed) the chances.
Positive means hot or genuinely skilled finishing; most of it mean-reverts, elite snipers keep a slice.
+ = burying more than the looks deserved · − = snakebitten.
Expected goals against minus actual goals against, for a goalie.
The modern goalie test: did he beat the quality of shots he faced? Positive = stole saves.
0 = exactly as expected · +10 over a season = stolen games · negative = leaking.
Saves divided by shots against.
The classic number — but blind to shot quality, which is why we always pair it with GSAx.
Save percentage on high-danger shots only — the slot-and-crease looks.
Where goalies actually separate: anyone stops point shots; stopping chances in tight is the skill.
The trained game-outcome model's pre-game chance of winning, from form, xG, goaltending and rest.
Hockey is noisy — even heavy favorites lose 4 of 10 replays. Read it as a lean, never a call.
55% is a real edge in this sport · 65%+ is rare.
Our all-in player value estimate, built from 5-on-5 on-ice impact. A proxy — not official RAPM-style WAR.
It ranks players usefully, but on-ice numbers share credit with linemates — trust the order, not the decimals.
0 ≈ replacement level · +2 = clear top-of-lineup player · gaps under ~0.3 are ties.
A skater's on-ice impact after adjusting for role, minutes and teammates — the input under the WAR proxy.
Closer to the player's own signal than raw on-ice share, but still a model estimate.
Six percentile dials per skater, versus the same position: offense, creation, defense, finishing, danger, two-way.
Two players with the same value can be opposites — the profile shows how the value is made.
Each bar is a 0–100 percentile against the same position.
A blend of a U-23 skater's current impact, year-over-year xG growth, and the development model's projection.
It flags who is becoming good before the goal totals announce it.
Higher = stronger breakout case. The score ranks the class; it doesn't guarantee anyone.
The percent change in a skater's expected-goal generation versus last season.
Chance creation grows before scoring does — it's the earliest reliable skill signal.
The trained development-curve model's projected growth for a young skater, from usage and shot trends.
The best-fit model in our suite (R² 0.83) — still a projection, not a promise.
Impact percentile minus market visibility: how far a player's on-ice value outruns his profile.
Big positive gaps are the market's blind spots — production the league isn't pricing yet.
+20 or more = seriously under-noticed · negative = the brand outruns the play.
A 0–100 estimate of how visible a player is to the market: counting stats, minutes, team spotlight.
It stands in for the salary data we don't have — visibility is roughly what the market pays for.
The value board's headline number: the size of the impact-vs-visibility gap, weighted by contract phase.
One number to rank bargains — high means a big gap on a cheap-phase deal.
An estimate of contract stage from age and experience — ELC, bridge, prime, veteran. Not real contract data.
Phase sets leverage: the same value gap matters far more on an entry-level deal.
ELC (est.) = the cheapest years. Every "(est.)" means estimated, never sourced.
How much better a unit's observed xG share is than the sum of its members' individual baselines.
It separates good players who happen to share ice from an actual line — the whole versus the parts.
+2 or better = real chemistry · negative = the unit underperforms its talent.
What a unit "should" produce: the additive xG-share baseline from its members' individual profiles.
The yardstick chemistry is measured against.
A 0–1 similarity between how a candidate plays and how the acquiring club creates its offense.
A rush team buying a cycle grinder wastes value — fit protects the projection.
.700+ = already plays your way.
A 0–1 guess at how gettable a player looks, from the selling club's points pace. Not real availability.
Sellers sell and contenders don't — it's a season-shape inference, never a rumor report.
The trade board's blend: on-ice value × positional need × style fit × acquirability.
Read it as a scouting shortlist ranking — it knows nothing about cap space, term or intent.
Fit score crossed with market-gap value: the candidates who plug the hole AND look like bargains.
The intersection is where smart front offices actually shop.
A flagged assignment where an attacker's xGF/60 outruns the best available checker's xGA/60.
A tendency to attack, not a prediction — real matchups shift with every line change.
Days since each team's last game, and whether they're on a back-to-back.
Tired teams defend worse — rest edges quietly move win probability.
Share of a player's shifts that begin in the offensive zone.
Sheltered deployment inflates raw numbers; we adjust for it when reading impact.
Minutes played, per game or in total.
Deployment is a coach's opinion of a player, measured in minutes.
Unless labeled otherwise, every rate is 5-on-5 and score/venue context is stated where it matters. Full methodology on the Method page.