Expected Goals, or xG, scores every shot on a scale from 0 to 1 based on how likely it is to become a goal, then adds those numbers up to show which teams and players are actually creating good scoring chances instead of just catching lucky bounces.
What exactly is Expected Goals?
Expected Goals assigns a probability to every shot attempt based on where it came from, what type of shot it was, and the situation around it. A one-timer from the slot off a cross-crease pass might get an xG value of 0.35, meaning shots like that go in about 35% of the time. A low-percentage wrist shot from the blue line might get 0.02. Add up every shot's value over a game or a season and you get a team or player's total xG: a number that represents how many goals they "should" have scored given the shots they took.
The model behind it runs on years of historical shot data. Sites like Natural Stat Trick track shot location, shot type (wrist shot, slap shot, tip-in, deflection), rebound status, and rush chances, then compare each new shot against thousands of similar past shots to estimate the odds it becomes a goal.
Here's a rough sense of how shot type and location shift the odds a shot goes in:
| Shot type / location | Approximate xG value | Why |
|---|---|---|
| Slot one-timer off a cross-crease pass | 0.30 - 0.40 | Goalie is moving laterally, little time to react |
| Tip-in / deflection near the crease | 0.20 - 0.30 | Close range, hard to track the puck's new angle |
| Rebound shot in the low slot | 0.15 - 0.25 | Goalie is out of position after the first save |
| Wrist shot from the top of the circle | 0.06 - 0.10 | Decent angle but goalie is set and square |
| Point shot from the blue line | 0.02 - 0.04 | Long distance, easy for the goalie to see |
Why do goals alone lie to you about performance?
Goals lie because they come from a small sample size stuffed with randomness. A hot or cold shooting stretch can make a player look like a star or a bust for weeks before the truth catches up. A guy can score on a 60-foot slap shot that clips the goalie's skate and deflects in, and that counts the same as a perfectly executed tap-in from the crease. Over an 82-game season those weird bounces even out. Over 10 or 20 games they warp how a player looks, badly.
Auston Matthews had stretches during his career where his shooting percentage spiked well above his normal rate, then cooled off. His xG stayed steady the whole time. That's the signal xG is built to catch: is a guy actually getting better looks, or is the puck just going in for him right now?
How does xG show the difference between good luck and good process?
xG shows the gap by comparing a player's actual goals to their expected goals. A big gap in either direction is a flag that regression is coming. If a player's goal total is way higher than their xG, they're probably shooting above their normal rate and due to cool off. If it's way lower, they're getting good chances but the puck isn't going in, and that usually turns around.
Connor McDavid consistently ran an xG per 60 minutes near the top of the league on Natural Stat Trick's leaderboards even in seasons where his actual goal totals dipped from an injury-shortened schedule. That gap told you his process, the quality and volume of chances he was creating, hadn't slipped at all.
How is xG used to judge goalies too?
xG flips around to judge goaltenders by comparing the goals they actually allowed to the goals they were expected to allow based on shot quality against them. That separates a goalie stealing games from one just facing an easy workload. A goalie who allows fewer goals than their expected goals against, a stat often shown as GSAx (goals saved above expected), is outperforming the shots he's facing. Linus Ullmark's Vezina-caliber season with the Bruins showed strong GSAx numbers on Hockey-Reference and tracking sites, backing up the eye test that he was stealing points, not just riding a stacked defense.
This matters because raw save percentage doesn't account for whether a goalie faced mostly point shots from the perimeter or a steady diet of odd-man rushes and slot chances. xG-based goalie stats fix that blind spot.
Where can you actually find xG numbers?
You can find xG for any team, player, or goalie for free on tracking sites built specifically for advanced hockey stats. Natural Stat Trick is the standard for team and player xG broken down by game state (5-on-5, power play, etc.). Hockey-Reference layers in more traditional and situational context alongside it. Once you get used to checking xG next to plain goal totals, box scores start looking incomplete without it.
Quick checklist for reading an xG number the right way before you trust it:
- Check the game state (5-on-5 vs. power play) so you're not comparing apples to oranges
- Look at the sample size — a few games of xG swing is normal, a full season isn't
- Compare actual goals to xG side by side, not xG in isolation
If you want to see how shot quality reads on a stat you're actually predicting, our piece on advanced stats for casual fans covers the same idea applied to basketball, where shot quality metrics tell a similar story about efficiency versus outcome.
Does xG actually predict future scoring, or is it just a fancier box score stat?
xG predicts future scoring better than past goals do because it comes from a larger, more stable sample. Shot quality patterns hold up game to game far more reliably than shooting percentage does. Studies using multi-season NHL data have repeatedly shown that a team's or player's xG in one stretch of games correlates more strongly with their goals in the following stretch than their actual goals do. That's the whole reason analytics departments across the league lean on it. It's less noisy.
This is also why xG matters if you're trying to predict real stat lines instead of just reacting to last night's box score. Shot volume and location are far more consistent indicators of what a player will do next than a hot streak that might vanish by Thursday.
Is a higher xG always better?
Generally yes, since a higher xG means better or more frequent scoring chances, but context matters. A team racking up xG on the power play looks different than one doing it at 5-on-5, so always check the game state before comparing two players or teams.
Can a player have a great season with a low xG?
It's possible short term but hard to sustain. A low xG paired with a high goal total usually signals a shooting percentage spike that tends to fade. Players who post low xG over a full season and still score a lot are the exception, not the rule.
Does xG account for who's on the ice?
Most public xG models factor in the shooter, the situation, and shot type, but not always every teammate or opponent involved, so it's not a perfect isolation of individual skill. It's best used alongside other tools, not as the only number that matters.
Once you start looking at shot quality instead of just final scores, a lot of hockey stat lines make more sense. If you want to test your own read on which players are due for a hot or cold stretch, Download GAGE and start putting your predictions up against real lines. Our breakdown of efficiency metrics across sports is a good next read if you want to keep digging into stats that predict rather than just describe.