What Exactly Is Hockey xG?
Hockey xG, or Expected Goals, is a statistical metric that assigns a probability to each shot attempt based on its likelihood of resulting in a goal. Rather than simply counting shots, xG measures the quality of those shots by analyzing factors like location, angle, distance, and shot type. This allows analysts to isolate the quality of play from random luck—such as bounces, goaltender performance, and shooting variance.
The core principle is straightforward: a shot from the home plate (directly in front of the goal) has a much higher probability of scoring than a shot from the blue line. By summing the probability values of all shots taken during a game or season, teams and analysts can estimate how many goals a team should have scored given the quality of their opportunities.
Think of it this way: if a team generates 3.2 xG in a game but scores only 1 goal, that team is underperforming relative to the quality of chances created. Conversely, a team scoring 3 goals on 1.8 xG is overperforming—likely due to hot shooting or elite goaltending. Over time, actual goals tend to regress toward xG levels, making it a powerful predictive tool.
How Hockey xG Differs from Actual Goals
The fundamental difference is that xG measures potential, while goals measure results. Goals are influenced by factors largely outside a team's control: a goaltender's performance on any given night, the accuracy of individual shooters, and simple luck (deflections, post shots, etc.). xG strips away these variables to reveal the underlying quality of play.
This distinction is crucial for understanding team performance. A team that consistently generates high xG but low actual goals may appear to be underperforming—and they might be—but more often, they're simply experiencing variance that will normalize. Conversely, a team outperforming xG by a large margin is often benefiting from unsustainable goaltending or shooting luck, suggesting regression is likely.
Why Coaches and Analysts Use Hockey xG
Modern hockey organizations rely on xG for several key reasons:
Evaluates play quality independently of results. Goals are noisy in the short term. A team might lose a game 2–1 despite generating 2.8 xG while the opponent generated only 0.9 xG. xG reveals who actually played better, regardless of the scoreboard.
Identifies sustainable performance. Teams that consistently outperform xG (scoring more goals than expected) are often relying on luck. Over a full season, these teams tend to regress. Teams underperforming xG are candidates for improvement, especially if their underlying play is sound.
Predicts future outcomes. Research shows that xG percentage (the share of expected goals a team generates) is one of the best predictors of future goal differential and win probability. Teams with 52%+ xG typically win more games than those with 48% xG.
How Is Hockey xG Calculated?
Understanding how xG models work requires knowing the variables that feed into them. While different providers use slightly different methodologies, the fundamental approach is consistent.
The Foundation: Shot Location
Shot location is the single most important variable in any xG model. Historical data shows that goals are far more likely from certain areas of the ice. The "home plate" or "slot" area—directly in front of the goal, typically 10–20 feet away—is where the vast majority of goals are scored. Conversely, shots from the blue line (50+ feet away) rarely result in goals.
To build an xG model, analysts divide the ice into small zones and calculate the historical goal-scoring percentage for shots from each zone. A shot from directly in front of the goal might have a 15–25% conversion rate, while a shot from the point might have only a 3–5% conversion rate. These percentages become the baseline xG values.
Additional Factors in Modern xG Models
While location is paramount, sophisticated xG models incorporate many additional variables to refine their estimates:
- Shot type: Wrist shots, snap shots, backhands, one-timers, and tip-ins have different success rates. A one-timer from the slot has higher probability than a backhand from the same location.
- Shot angle: A shot taken directly in front of the goal (0° angle) is more dangerous than one taken from a sharp angle near the boards.
- Distance from goal: Closer shots are more likely to score. The model accounts for precise distance, not just zone.
- Defensive traffic: Shots with a screen or deflection have higher xG values. Shots with a defender in the passing lane have lower values.
- Game situation: Power play shots have different probabilities than even-strength shots. Penalty kill shots are lower danger.
- Rebound context: A shot on a rebound (second or third chance) often has higher probability than a shot from fresh play.
- Time and game state: Some models adjust for score situation (teams trailing often take lower-quality shots in desperation).
Modern models use machine learning and logistic regression to weight these factors and calculate precise probability values.
Building an xG Model: The Process
Creating an xG model involves several steps:
-
Collect historical data. Gather all unblocked shot attempts (Fenwick) from multiple seasons with detailed attributes: location, type, angle, distance, defensive context, and outcome (goal or no goal).
-
Train the model. Use statistical techniques (logistic regression, gradient boosting, neural networks) to identify which variables best predict goal probability. The model learns the relationship between shot attributes and outcomes.
-
Assign probability values. For each unique combination of shot attributes, the model assigns a probability (0.0 to 1.0) that represents the likelihood of that shot resulting in a goal.
-
Validate performance. Test the model on unseen data using metrics like log loss and AUC (Area Under Curve) to ensure it generalizes well and doesn't overfit.
-
Apply to new data. Once validated, the model is applied to current season shot data to calculate xG values for every shot.
The key principle: the model assumes an average shooter against an average goaltender. This ensures xG values reflect shot quality, not individual player talent, allowing analysts to separately evaluate shooting skill and goaltending.
Different xG Models and Their Approaches
Several public and proprietary xG models exist, each with slightly different methodologies:
| Model | Provider | Key Strength | Limitation |
|---|---|---|---|
| Natural Stat Trick | Public | Transparent, widely adopted, long history | Limited to public NHL data |
| MoneyPuck | Public | Includes optional "shooting talent" adjustment | May not reflect recent tracking changes |
| HockeyStats | Public | Advanced feature engineering, recent updates | Complex methodology, less transparency |
| Evolving Hockey | Subscription | Proprietary data integration, highest sophistication | Behind paywall, less accessible |
| Understat (soccer-adapted) | Public | Cross-sport validation | Not hockey-specific |
These models often produce slightly different values for the same shot—sometimes varying by 0.05 or more—due to different variables and weighting. However, trends are usually consistent across models. A team with 52% xG on one model typically has 51–53% xG on another.
Interpreting xG Statistics: What the Numbers Mean
Understanding xGF, xGA, and xG%
When analyzing hockey xG statistics, you'll encounter three key metrics:
xGF (Expected Goals For) is the total expected goals your team generates through their shot attempts. A team that takes 25 shots with an average xG value of 0.08 per shot would have 2.0 xGF.
xGA (Expected Goals Against) is the total expected goals the opposing team generates. It reflects the quality of chances your team's defense allowed.
xG% (Expected Goals Percentage) is your team's share of expected goals. If your team generates 2.0 xGF and the opponent generates 1.5 xGA, your xG% is 2.0 / (2.0 + 1.5) = 57%. This is a powerful indicator of play quality.
A team with 50% xG% is league average. Teams consistently above 52% xG% tend to win more games. Elite teams often maintain 54%+ xG%.
Overperforming and Underperforming xG: What It Means
One of the most useful applications of xG is identifying teams or players whose actual goal totals diverge from their expected goals.
Overperforming xG means a team is scoring more goals than their xG suggests. A team with 2.0 xGF but 3 actual goals is overperforming by 1.0 goal. This can result from:
- Elite shooting: Skilled forwards consistently converting at higher rates than average
- Hot goaltending: The opposing goaltender playing poorly, allowing goals on below-average chances
- Luck: Favorable bounces, deflections, and variance
Underperforming xG means a team is scoring fewer goals than expected. A team with 2.5 xGF but only 1 actual goal is underperforming by 1.5 goals. This can result from:
- Poor shooting: Forwards missing high-quality opportunities
- Weak goaltending: Your goaltender allowing goals on below-average chances
- Bad luck: Unlucky bounces, posts, and variance
The critical insight: overperformance and underperformance tend to regress toward xG over time. A team outperforming xG by 0.5 goals per game is likely due for regression. Similarly, a team underperforming is likely to improve as variance normalizes. This makes xG differential a powerful predictor of future results.
Separating Shooting from Goaltending: GAx and GSAx
To isolate individual components of performance, analysts use two additional metrics:
GAx (Goals Above Expected) = Actual Goals For – Expected Goals For
A positive GAx means your team scored more goals than the quality of shots warranted. This indicates elite shooting talent. A negative GAx suggests poor finishing.
GSAx (Goals Saved Above Expected) = Expected Goals Against – Actual Goals Against
A positive GSAx means your goaltender allowed fewer goals than the xGA suggested. This indicates strong goaltending. A negative GSAx suggests weak goaltending.
By separating these metrics, teams can identify whether a winning record is built on strong play driving (high xG%), elite shooting (positive GAx), or strong goaltending (positive GSAx). This matters for sustainability: strong play driving is more sustainable than outlier shooting or goaltending.
High Danger Chances vs. xG: Understanding Shot Danger Classification
What Are High Danger Chances?
High danger chances are shots with a ≥20% probability of resulting in a goal. These are the prime scoring opportunities—typically from the slot, home plate, or immediately in front of the goal.
Despite accounting for only about 5% of all shot attempts, high danger chances generate approximately 33% of all goals. This concentration reflects the importance of controlling the dangerous areas of the ice.
Medium danger chances (8–20% probability) account for another ~20% of shots and ~33% of goals. Low danger chances (<8% probability) make up ~75% of shots but only ~33% of goals.
How High Danger Relates to xG
High danger chances are incorporated into xG values, not separate from them. When an xG model assigns a 0.25 value to a slot shot, that's because historical data shows slot shots convert at approximately 25% rate—making them "high danger" by definition.
xG is more comprehensive than high danger counting because it captures all shot quality on a spectrum. A shot with 0.08 xG is higher danger than a 0.02 xG shot, even if neither qualifies as "high danger" by the ≥20% threshold.
Why Both Metrics Matter
Teams should monitor both metrics for a complete picture:
- xG provides a comprehensive, probability-weighted view of all shot quality
- High danger chances isolate the most critical scoring opportunities and are easier to visualize and understand
- Teams generating high danger > xG (more high danger chances than expected for their xG) are creating the most sustainable type of offense
- Teams generating xG > high danger may be relying on lucky bounces and lower-quality chances
For example, a team with 2.0 xG and 8 high danger chances is in a stronger position than a team with 2.0 xG and 3 high danger chances, even though their xG is identical.
The Evolution and History of Hockey xG
Origins in Soccer Analytics
Expected goals did not originate in hockey. The concept was developed in soccer/football analytics in the early 2010s as a way to evaluate team performance beyond just goals scored. The metric gained prominence in soccer through the work of analysts and statisticians who recognized that goal-scoring is inherently noisy and that shot quality provides a clearer picture of underlying play.
Hockey analysts recognized the value of this approach and adapted xG for ice hockey, accounting for the sport's unique characteristics: the smaller playing surface, different shot types, and higher-scoring nature compared to soccer.
Development of Modern Hockey xG Models
The first public hockey xG models emerged around 2013–2014, with Natural Stat Trick being among the earliest and most influential. These initial models were relatively simple, relying primarily on shot location and basic shot type information.
Over the following decade, xG models became increasingly sophisticated:
- Machine learning integration: Models shifted from simple logistic regression to gradient boosting and neural networks, allowing for non-linear relationships between variables
- Feature engineering: Analysts added dozens of variables—defensive pressure, rebound context, game state, and more—to improve accuracy
- Validation and transparency: Public models published their methodologies and performance metrics, allowing the community to evaluate their reliability
- Specialization: Different models emerged for different situations (5v5 vs. power play, zone entries, etc.)
Today's xG models are highly refined, with log loss scores approaching theoretical limits and consistent predictive power across multiple seasons.
Recent Changes in NHL Data Tracking
The NHL's transition to automated puck and player tracking in 2021–22 created both opportunities and challenges for xG models.
The opportunity: Automated tracking provides more precise shot location data, angle measurements, and defensive positioning information, theoretically allowing for more accurate xG values.
The challenge: The transition introduced data quality issues and inconsistencies. Models trained on historical data (2007–2021) sometimes don't align with post-2021 data, a phenomenon called "data drift."
A particularly notable issue emerged in 2023–24 when the NHL began tracking "short misses"—shots where the shooter fanned the puck or flubbed the attempt. These weren't previously tracked and don't represent legitimate scoring chances. However, because they're now included in the data, some xG models erroneously assign them probability values, artificially inflating xG and making goaltenders appear stronger than reality.
Sophisticated xG providers like HockeyStats have adjusted their models to exclude short misses or treat them separately, but this highlights the ongoing evolution and recalibration required to maintain model accuracy.
Practical Applications: Using Hockey xG for Analysis and Betting
Using xG for Game Prediction
One of the most valuable applications of xG is predicting game outcomes. Research consistently shows that:
- Teams with higher xG% win more games than teams with lower xG%
- xG% is more predictive of future goal differential than current goal differential
- Over a 20–30 game sample, xG% correlates strongly with win percentage
This means that if you're analyzing a team's true strength, xG% is often more reliable than their current record. A team with a 10–15 record but 52% xG% is likely stronger than their record suggests and due for improvement. Conversely, a team with a 15–10 record but 48% xG% may be vulnerable to regression.
For game prediction, the xG% differential between teams is highly informative. If Team A has 54% xG% on the season and Team B has 48%, Team A is the clear favorite, even if their records are similar.
Identifying Value in Betting Markets
Sophisticated bettors use xG to identify mispricings in betting markets:
Backing teams underperforming xG: If a team is underperforming their xG (scoring fewer goals than expected), they're likely to improve as variance normalizes. If betting markets haven't adjusted to this underperformance, there's value in backing them.
Fading teams overperforming xG: Conversely, if a team is significantly overperforming xG (especially due to unsustainable goaltending), they're likely to regress. If the market is still pricing them as if their recent results are sustainable, there's value in fading them.
Combining metrics: The most sophisticated analysis combines xG with goaltending metrics (GSAx), shooting metrics (GAx), and sample size considerations. A team with strong xG%, elite goaltending (high GSAx), and elite shooters (high GAx) is more likely to sustain success than a team relying on one factor.
Evaluating Player Performance
xG can also be applied to individual players:
Individual xG (iXG) measures the expected goals generated by a specific player's shot attempts. A forward with 2.5 iXG in 10 games is generating good scoring chances, even if they've only scored 1 goal.
Shooting talent vs. play driving: By comparing a player's iXG to their actual goals, you can assess whether they're a strong shooter (overperforming iXG) or a weak shooter (underperforming). This helps separate individual skill from team context.
Consistency over sample size: A player with 1.5 iXG over 5 games is less meaningful than a player with 1.5 iXG over 30 games. Larger samples are required to distinguish skill from variance.
Limitations and Criticisms of Hockey xG
While xG is a powerful tool, it has real limitations that analysts must understand.
What xG Doesn't Capture
Individual shooter skill: xG assumes an average shooter. An elite shooter like Connor McDavid or Auston Matthews will outperform xG consistently because they're better than average. Conversely, a weak shooter will underperform. This is a feature (it isolates play driving) but also a limitation (it can't evaluate shooting talent directly).
Game context and pressure: xG doesn't fully account for the pressure of the moment. A shot taken while trailing 5–1 in the third period might be structurally identical to one taken in a close game, but the context is entirely different. Some modern models attempt to adjust for this, but imperfectly.
Rebound patterns and luck: While xG incorporates rebound context, it can't predict which rebounds will occur or how they'll play out. A missed shot that creates a rebound might have lower xG, but the rebound could be a high-danger chance. This variance is inherent and can't be fully eliminated.
Goaltender positioning: xG assumes a "standard" goaltender position. It doesn't account for a goaltender being out of position or making an exceptional save. This is why GSAx exists—to measure goaltending performance beyond what xG predicts.
The "Short Miss" Problem and Data Quality Issues
As mentioned earlier, the NHL's tracking system changes have introduced data quality issues. The most significant is the tracking of "short misses"—fanned shots and flubs that weren't previously recorded.
The problem: These aren't legitimate scoring chances. A player who fans a shot didn't create a scoring opportunity; they failed to execute a basic skill. Yet, if an xG model treats these as regular missed shots, it assigns them a probability value, inflating xG and making goaltenders appear to allow fewer goals than they actually should.
This is an ongoing issue that requires model recalibration. Some providers have addressed it; others haven't. When comparing xG values across providers or seasons, it's important to understand whether short misses are being handled consistently.
When xG Fails or Misleads
Elite outliers: Some players and goaltenders consistently outperform or underperform xG by larger margins than variance would predict. Connor McDavid's shooting talent, for instance, is so elite that he outperforms xG year after year. This is real skill, not luck, but xG doesn't capture it directly.
Small sample sizes: Over 5–10 games, variance dominates xG. A team might underperform xG significantly due to bad luck. Meaningful xG analysis requires at least 20–30 games.
Systematic team effects: Some teams might have systematic advantages (better rebounding, faster transition game) that xG doesn't fully capture. Over time, these effects should show up in xG, but in shorter windows, they can create misleading divergences.
Goaltender performance variance: Goaltenders have high variance. A goaltender might have a 0.950 save percentage on 2.0 xGA in a single game due to luck. xG doesn't predict this short-term variance.
FAQ: Common Questions About Hockey xG
Q: Can a team's xG be higher than their actual goals?
A: Yes, and it's common. When a team generates 3.2 xG but scores only 2 goals, they're underperforming by 1.2 goals. This can happen due to poor finishing, weak goaltending from the opposing team, or simple bad luck. Over a full season, teams tend to regress toward their xG, so persistent underperformance often signals future improvement.
Q: What's a "good" xG percentage?
A: 50% is league average. A team with 50% xG% generates as many expected goals as their opponents. Teams consistently above 52% xG% are strong teams that typically win more games. Elite teams often maintain 54%+ xG%. Conversely, teams below 48% are struggling with underlying play quality.
Q: How long does it take for xG to stabilize and become meaningful?
A: Roughly 20–30 games for meaningful trends. In smaller samples (5–15 games), variance and luck dominate. A team might have a 55% xG% over 5 games due to luck, but this might regress to 51% over 30 games. For reliable analysis, use at least a 20–30 game sample.
Q: Is xG better than Corsi or Fenwick?
A: They're complementary, not competing metrics. Corsi counts all shot attempts (including blocked shots). Fenwick counts unblocked shot attempts. xG weights shot attempts by quality. xG is more predictive because it incorporates quality, but all three together provide a fuller picture. A team with high Corsi% but low xG% is taking a lot of low-quality shots.
Q: Do all xG models agree on the same values?
A: No. Different models use different variables and weighting, so they produce different xG values for the same shot. Differences of 0.02–0.05 per shot are common. However, trends are usually consistent—if one model shows 52% xG%, most others will show 51–53%. Don't obsess over exact values; focus on trends and comparisons.
Q: Why do some teams consistently outperform xG?
A: Usually because of one or more of these factors: (1) elite shooters who are better than average, (2) strong goaltending from the opposing team, or (3) luck. True skill-based outperformance of xG is rare and difficult to sustain. Most teams that significantly outperform xG experience regression over time.
Q: Can xG predict individual game outcomes?
A: xG is more useful for predicting trends and season-long results than individual games. In a single game, luck and variance are high. A team might dominate xG and still lose 1–0 due to a lucky goal. Over a season, xG% is highly predictive of win percentage, but individual game prediction requires additional factors (goaltender form, injuries, etc.).
Q: How does xG account for power plays and penalty kills?
A: Modern xG models include game situation as a variable. A shot during a power play has different probability than an even-strength shot from the same location, because power play shots are typically higher quality (more time and space). Models either calculate separate xG values for different situations or include situation as a weighting factor.
Related Terms
- Corsi — All shot attempts, including blocked shots
- Fenwick — Unblocked shot attempts
- Expected Goals — General definition of xG across sports
- High Danger Chances — Shots with ≥20% goal probability
- Shot Quality — General concept of evaluating shot value