Stat Trick Hockey · Analytics Guide
What Are We Actually Measuring?
Hockey stats used to be simple: goals, assists, plus/minus. We've come a long way. Here's everything you need to understand what this dashboard is telling you — no math degree required.
The Basics
What Is Expected Goals?
Not every shot is created equal. A tap-in from two feet in front of an empty net is basically a guaranteed goal. A slap shot from the blue line through a wall of defenders almost never goes in. Expected Goals (xG) is a number between 0 and 1 that tells you how likely any given shot was to score, based on where it came from and how it was taken.
Think of it like this: if a shot has an xG of 0.25, it means that historically, shots taken from that position in that situation score about 1-in-4 times. The shooter might score or miss on this particular attempt — but on average, that's a 25% shot.
High Danger
Rebound in the crease · 6ft · straight on
0.72
72% chance of a goal
Right in front, off a rebound — the goalie is out of position. These are the chances teams fight hardest to create.
Quality Chance
Wrist shot from the slot · 22ft · slight angle
0.21
21% chance of a goal
In the heart of the slot with a clear lane. Not a gimme, but a shot a good scorer is expected to convert on a regular basis.
Low Danger
Slap shot from the point · 58ft · steep angle
0.03
3% chance of a goal
Far out, sharp angle, goalie is set. Goals happen, but the math is working heavily against you here.
Add up the xG for every shot a team takes in a game and you get their total xG — a measure of how many goals they should have scored based on the quality of chances they created. Teams that consistently out-xG their opponents win more games in the long run, even when the puck doesn't bounce their way on a given night.
Under the Hood
How Do We Calculate It?
Our model looks at five things about every shot — the same five things a goalie is thinking about as the puck leaves the stick:
📐
Distance
How far was the shot from the net? Every foot matters. A shot from 10 feet scores at nearly 5× the rate of one from 50 feet.
📏
Angle
How sharp was the angle? Dead straight on gives the shooter the full net. From the side, the goalie cuts most of it off.
🏒
Shot Type
Tip-ins and deflections score at much higher rates than slap shots, even from the same spot. The goalie has almost no time to react.
⚡
Situation
Power plays produce better shots. Even strength play is the baseline. Shorthanded shots are rare and typically low-danger.
🔄
Rebound & Rush
Was this shot off a rebound (goalie just made a save, scramble in front)? Or off a rush (fast break, goalie not set)? Both situations dramatically raise the odds of scoring — rebounds especially, converting at nearly 3× the normal rate.
We fed every shot from the 2025–26 NHL season — over 112,000 shots — into a machine learning model that learned which combinations of these factors predict goals. The result is a model with an AUC of 0.744, meaning it correctly identifies the higher-quality shot about 74% of the time when comparing any two shots.
Reading the Leaderboard
Goals Above Expected
GAX (Goals Above Expected) is the difference between how many goals a player actually scored and how many the model expected them to score based on their shots. It's a measure of finishing ability.
| GAX Value |
What It Means |
Example |
| +5 or higher |
Elite finisher — converting at a rate well above what the shot locations predicted. Either a sniper or getting very lucky. |
Auston Matthews finishing through traffic on shots others miss |
| -2 to +2 |
Right around what the model expected. Neither running hot nor cold. This is where most players land over a full season. |
Consistent two-way forward, goals track closely with shot quality |
| -5 or lower |
Scoring well below expectations — either a cold streak, bad luck, or the model is overrating their shot locations. |
A physical player who gets to good spots but can't finish |
One important thing: GAX regresses toward zero over time. Players who are +8 in December usually finish the season closer to +3. Finishing is real, but luck plays a big role. A player with strong positive GAX over multiple seasons is a genuine sniper. One season of high GAX might just be a hot streak.
The Big Picture
What Is WAR?
Goals and points tell you what happened. xG tells you the quality of chances. WAR (Wins Above Replacement) tries to answer the hardest question in hockey analytics: how many wins is this player actually worth?
The name comes from baseball, where it's been used for decades. The idea is simple: compare the player to a "replacement level" player — someone you could sign for the minimum, call up from the minors, or find on the waiver wire. A player worth +3 WAR means their team wins 3 more games per season with them than with that minimum-level replacement.
Our WAR model breaks a skater's value into four parts:
⚔️
xGF · Offensive Value
How much quality offense did this player generate while on the ice? We measure the xG created while they were skating — not just their own shots, but everything that happened with them on the ice. Players who drive play to dangerous areas score well here.
🛡️
xGA · Defensive Value
How much quality defense did they provide? We track xG allowed while they're on the ice. A player who consistently limits high-danger chances against is enormously valuable — even if they never score.
🎯
Finishing · Personal Scoring
This is their personal GAX — goals scored vs expected. We deliberately shrink this number toward zero because finishing fluctuates so much from year to year. A small but real component of total value.
🧭
Deployment · Context
Is this player being used in tough situations (lots of defensive zone starts, against top opponents) or sheltered ones (easy minutes, offensive zone only)? We adjust for this so hard-minutes players don't get penalised.
For goalies, WAR is simpler. It's based entirely on GSAx (Goals Saved Above Expected) — the difference between how many goals the model expected them to allow (based on shot quality) and how many they actually gave up. A goalie who stops shots the model says should go in is worth his weight in playoff runs.
Common Questions
Things People Ask Us
Why does a player with 40 goals have negative GAX? ▼
Because they took a lot of very high-quality shots. If the model expected them to score 45 goals based on where their shots came from, and they only scored 40, their GAX is -5. It sounds weird, but it means they were actually a step below expectation given how good their chances were. A player with 30 goals from tough angles and low-danger areas might have positive GAX.
Why doesn't WAR match the points leaderboard? ▼
Points count assists equally with goals, and a primary assist on a power play counts the same as one on a lucky bounce. WAR tries to measure actual impact on winning. A shutdown defenseman who never puts up big numbers but consistently limits high-danger chances will rank higher in WAR than a power-play specialist with 50 points who is a liability at even strength.
Is WAR the final word on how good a player is? ▼
No, and anyone who tells you a single number captures a player's full value is selling something. WAR misses things: faceoffs, physicality, leadership, penalty killing reads, and the impact a player has that never shows up in shot attempts. Think of WAR as one very good lens — better than goals alone, but best used alongside other context.
How often is the data updated? ▼
The model runs every morning. Monday through Saturday it does an incremental update — pulling the last few days of games and re-scoring. Sunday mornings it does a full retrain on the entire season so far, which keeps the model sharp as the season progresses and more data becomes available.
Why does my favourite player rank lower than I expected? ▼
A few possibilities. They might be taking lots of shots from low-danger areas (point shots that look good on the box score but are unlikely to score). They might be on the ice for a lot of high-danger chances against. Or the model might genuinely be undervaluing something they do well — no model is perfect. We'd encourage you to look at their xGF and xGA components separately to understand where the number is coming from.
What's the difference between xG and Corsi / Fenwick? ▼
Corsi counts all shot attempts (on goal, missed, blocked). Fenwick counts unblocked attempts. Both treat every shot equally. xG weights each shot by how likely it was to actually score. A team that outshoots opponents 40-30 from the perimeter might actually be outplayed by a team generating 20 high-danger chances from in close. xG captures that. It's a meaningfully better predictor of future goal-scoring than raw shot counts.
Why do shorthanded shots have higher avg xG than power play shots? ▼
This surprises most people, but it's real. In the 2025–26 season, shorthanded shots converted at 13.2% vs power play shots at 11.2% — and the model reflects that. Here's why: a team killing a penalty almost never shoots unless they have an elite opportunity. Shorthanded shots are almost exclusively odd-man rushes and clean breakaways — the highest-danger situations in hockey. The penalty kill unit isn't firing from the point or cycling the puck for screens. They're sprinting the other way with numbers. Meanwhile, power plays generate a lot of volume — point shots, perimeter passes, half-chance tips — which drags the average xG down even though the best PP looks are elite. So PP is better at generating sustained pressure and total xG over a game, but the average individual shorthanded shot is actually more dangerous than the average power play shot.
Quick Reference
Glossary
xG — Expected Goals
Probability (0–1) that a given shot results in a goal, based on location, type, and context.
xGF — xG For
Total expected goals generated by a team or player while on the ice. Measures offensive output quality.
xGA — xG Against
Total expected goals allowed while a player is on the ice. Lower is better. Key defensive metric.
GAX — Goals Above Expected
Actual goals minus xG. Positive = outperforming expectations. Negative = underperforming.
WAR — Wins Above Replacement
Estimated wins added vs a replacement-level player. Combines offense, defense, finishing, and deployment.
GSAx — Goals Saved Above Expected
Goalie metric. xGA against minus actual GA. Positive = better than expected. The primary goalie WAR driver.
Replacement Level
The 42nd percentile of production — roughly what a team gets from a freely available callup or waiver claim.
AUC — Area Under Curve
Model accuracy metric. 0.5 = random guessing. 1.0 = perfect. Our model sits at 0.744 — competitive with published NHL models.
Slot / Danger Zone
The area directly in front of the net, roughly inside 30ft and within 45° of centre. Where most high-xG shots originate.
Rebound
A shot taken within 3 seconds of a save. Goalies are out of position and conversion rates nearly triple vs normal.
Rush Shot
A shot taken within 4 seconds of a zone entry. The defense is outnumbered and the goalie isn't set — higher xG than comparable stationary shots.
Calibration
A model is "calibrated" when its predictions match reality. Our xG/G ratio is 0.999 — meaning the model's total predicted goals almost exactly matches actual goals league-wide.
Ready to Explore the Data?
Now that you know what you're looking at — head back to the dashboard and see how your favourite players stack up.
OPEN THE DASHBOARD →