Expected Goals (xG) in Hockey: A Beginner's Guide With 2025-26 Season Proof
Expected goals (xG) doesn't just explain hockey better than shot counts — the 2025-26 season is proving it in real time. Here's what xG is, how it works, and why Colorado, Minnesota, and Dallas are the perfect case studies.
The NHL trade deadline just passed, the playoff race is heating up, and right now somewhere on hockey Twitter someone is yelling about their team having better “xG” than their record suggests. They’re probably right. And if you don’t know what xG means, you’re missing half the conversation.
Expected goals isn’t complicated. But the 2025-26 season is giving us some of the clearest real-world proof I’ve ever seen of what the stat actually reveals — and what it tells you that the goal column can’t.
What xG Actually Measures
A shot is not a shot. A one-timer from the low slot on a cross-ice feed has about a 25% chance of becoming a goal. A wrist shot from the blue line with three defenders between the shooter and the net has maybe a 2% chance. Traditional stats count both of those the same way. Expected goals does not.
xG assigns each unblocked shot a probability between 0 and 1 based on factors like distance to the net, angle to the net, shot type (one-timer, wrist shot, deflection, rebound), and whether the shot came off a rush. You add up all those individual probabilities and you get a team’s or player’s total expected goals — a quality-adjusted measure of offense and defense that goes far beyond raw shot counts.
A team that generates 3.0 xG in a game isn’t necessarily expected to score exactly 3 goals. It means that the shots they took, in those locations and of those types, would produce about 3 goals if the same sequence played out many times with an average goalie. Over a full season, teams tend to drift toward their xG totals. The ones that don’t usually have a good reason — elite goaltending, elite finishing, or a small-sample fluke.
How the Math Works (Without Drowning in It)
You don’t need to understand logistic regression to use xG. Here’s the practical version.
Every public xG model — MoneyPuck, Natural Stat Trick, Evolving-Hockey — is trained on years of NHL shot data. The models learn which shot types and locations historically produce goals at which rates, then apply those probabilities to each new shot in real time.
Shot location is the biggest driver. Shots from the “home plate” area directly in front of the crease — roughly the inner slot — are worth dramatically more than anything from the perimeter. Shot type matters too: deflections and rebounds are harder for goalies to stop and receive higher probability values. Rush shots, when the defense hasn’t set up yet, tend to be more dangerous than shots out of the cycle.
What xG can’t see: whether the goalie was screened, whether it was a cross-crease pass that forced a lateral movement, or exactly where opposing skaters were standing. That’s why the models carry uncertainty — they’re approximations, not truth. But as approximations go, they’re remarkably good at predicting future performance.
The 2025-26 Season Is Making the Case
Let me give you three teams from this season that illustrate exactly why xG matters more than the goal column.
Colorado is the most dominant team in hockey by xG — and it’s not close. The Avalanche are posting 3.26 expected goals per 60 minutes at 5-on-5, which isn’t just the best mark in the league, it’s genuinely unapproachable. Nathan MacKinnon has been playing at a historic pace, and Colorado’s structure generates elite scoring chances at an absurd rate. Their actual goal totals confirm it. This is what a truly dominant xG profile looks like when it lines up with results.
Minnesota’s situation is the opposite story. The Wild rank 25th in expected goals against, projected to give up about 2.8 goals per game at 5-on-5. But they’re actually allowing only about 2.12. That gap — more than half a goal per game — is almost entirely goaltending. Their netminder is playing well above expected. That’s unsustainable over a full season at that margin. If you’re watching Minnesota’s results and thinking they have a sound defensive structure, xG is telling you something different: they’re being papered over by a hot goalie, and that paper tears eventually.
Dallas presents the flip side of shooting percentages. The Stars are a bottom-10 team in scoring chances, shots, and high-danger chances per 60 — but they rank second in power-play efficiency and 10th in goals per game overall. They’re winning with elite special teams and converting at an unusually high rate. Are they actually better than their xG suggests? Maybe, at the margins. But teams in this position historically regress when their shooting percentage cools even slightly. Dallas fans should keep that in mind during the playoff run.
xGF%: The Number Worth Knowing
If you only track one xG metric, make it xGF% at 5-on-5. It’s xG For divided by xG For plus xG Against, expressed as a percentage. Above 50% means you’re generating better-quality chances than you’re allowing. Elite teams sustain 53-57%.
This metric is particularly useful because it captures both sides of the game in one number. A team can have a great offense but a leaky defense and still post a mediocre xGF%. A defensive specialist who limits chances, even without generating much offense, still shows up positively in xGF%.
You can find current xGF% for every NHL team and player at Natural Stat Trick or MoneyPuck. Both sites break it down by game state (even strength, power play) and score situation. I’d start with 5-on-5 even strength — it’s the cleanest read on team quality without the noise of special teams.
xG vs. Corsi: Which Should You Use?
Both. They measure related but distinct things.
Corsi counts all shot attempts regardless of quality. Its strength is that it’s a massive sample of events that stabilizes quickly — by about 20-25 games, a team’s Corsi starts telling you something real. Its weakness is that it treats a harmless point shot the same as a dangerous one-timer from the slot.
xG adds quality weighting to that volume. It’s a more accurate picture of true offensive and defensive performance. Its weakness is that it relies on the accuracy of the NHL’s shot location data, which is imperfect — shot coordinates can be inconsistently recorded between arenas. And because it uses a smaller effective sample (weighting some shots near zero), it takes slightly longer to stabilize than Corsi.
In practice, teams that look good in both Corsi and xG are the most convincing. Colorado is exactly that team right now. Teams that diverge — good Corsi, mediocre xG — are often generating a lot of perimeter shots without actually threatening the net.
Where to Start
If you’re new to xG, here’s the fastest path to actually using it.
Go to Natural Stat Trick and pull up this season’s team stats. Sort by xGF% at 5-on-5 and compare it to the standings. You’ll see which teams look better than their record (xGF% is outpacing their standing) and which look worse (standing is outpacing xGF%). The ones underperforming their xG are the teams analysts are quietly backing to turn things around in the second half.
Then go do the same at the player level. Look at players whose individual xG numbers are out of step with their actual goal totals. That gap — positive or negative — almost always tells you something about where that player is headed.
Expected goals isn’t a crystal ball. But it’s a better guide to what’s actually happening on the ice than the goal column alone. The 2025-26 season is proving it in real time. Colorado doesn’t need luck. Minnesota is borrowing some. Dallas is testing the limits of what a high shooting percentage can sustain.
The numbers don’t lie. They just need to be read right.
Already comfortable with xG? Go deeper with RAPM (Regularized Adjusted Plus-Minus) — the metric that controls for linemates and opponents — or revisit the xG explainer for a closer look at how individual shot probabilities get calculated. What teams are you watching differently now that you know what their xG says? Drop your take on social media.
Related Articles
The NHL Salary Cap Explained: Everything a New Fan Needs to Know
The salary cap is the invisible force that shapes every roster decision, trade, and free-agent signing in hockey. Here's how it actually works — and why it matters.
Read MoreWho Has the Most Dangerous Power Play in the NHL Right Now?
With the regular season ending April 16, the gap between the league's best power plays and the rest has never been wider. Here's who's running the most lethal 5-on-4 units heading into the playoffs.
Read MoreWhat Is Corsi in Hockey? A Simple Explanation of the Stat Everyone Argues About
Corsi is the foundational advanced stat in hockey analytics — and it's simpler than you think. Here's what it measures, why it matters, and why some people still can't stand it.
Read More