Expected Goals (xG) in Hockey | NHL
Expected Goals (xG) Analysis
Expected Goals (xG) measures shot quality by predicting the probability each shot becomes a goal based on distance, angle, shot type, and game situation. Our xG model is trained on thousands of NHL shots. The tables below use our neutral xG model, which evaluates shot quality independent of the current score ā the best lens for comparing teams and players on a level playing field.
Key Metrics:
⢠xG/G: Expected goals per game (offensive threat)
⢠xGA/G: Expected goals against per game (defensive exposure)
⢠Net xG/G: xG/G minus xGA/G (overall xG dominance, >0 is good)
⢠xG%: Team's share of total xG (xGF / (xGF + xGA) à 100)
⢠Finishing Rate: Goals / xG (>1.0 = above expectation)
⢠GSAx: Goals Saved Above Expected (xGA - GA, positive = good goaltending)
Team xG Rankings (2026-27)
Click column headers to sort. Net xG/G >0.3 in green, <0 in red. GSAx >0 = good goaltending.
| Team | GP | xG/G | xGA/G | Net xG/G | xG% | Finish | GSAx |
|---|
Get NHL forecasts in your inbox
Occasional emails with NHL forecasts, analysis, and model updates.
Shot Quality by Shot Type (2026-27)
Shot Share and xG Share are league-wide percentages for each shot type.
| Shot Type | Unblocked attempts | Shot Share | xG | xG Share | xG/Attempt | Goal Rate |
|---|
Shot Quality by Zone (2026-27)
Zone codes follow NHL play-by-play conventions (OZ, NZ, DZ).
| Zone | Unblocked attempts | Shot Share | xG | xG Share | xG/Attempt | Goal Rate |
|---|
Player xG Leaderboard (2026-27)
Click column headers to sort. xG/Attempt = total xG / unblocked attempts (goals, saved shots and misses).
| Player | Team | GP | Unblocked attempts | Shots on goal | xG | Goals | S% | xG/Attempt |
|---|
S% = Goals / shots on goal | xG/Attempt = Expected Goals per unblocked attempt
Team Finishing Rates (2026-27)
Finishing Rate = Goals / xG. >1.1 = overperforming (green), <0.9 = underperforming (red). GSAx = Goals Saved Above Expected (positive = good goaltending).
| Team | Goals | xG | Finishing Rate | GSAx | GSAx/G |
|---|
Player Finishing Leaderboard (2026-27, min 50 unblocked attempts)
Δ = Goals − xG. Positive (green) = overperforming xG, negative (red) = underperforming. Click column headers to sort.
| Player | Team | G | xG | Δ | S% | xG/Attempt | GP |
|---|
Player Spotlight
🌟 xG Leaders
| Player | Team | Metric | Value |
|---|---|---|---|
| Kirill Kaprizov | MIN | xG | 7.2 |
| Brandon Hagel | TBL | xG | 5.8 |
| Sam Reinhart | FLA | xG | 5.3 |
⇧ Overperformers
min 50 unblocked attempts
| Player | Team | Metric | Value |
|---|---|---|---|
| Tage Thompson | BUF | GāxG | +0.3 |
| Matt Boldy | MIN | GāxG | +0.1 |
⇩ Underperformers
min 50 unblocked attempts
| Player | Team | Metric | Value |
|---|---|---|---|
| Matt Boldy | MIN | GāxG | 0.1 |
| Tage Thompson | BUF | GāxG | 0.3 |
Top 15 Most Dramatic Games (Comeback Index)
Comeback Index = max win-probability swing from a team's low point to final. Max Swing = largest single-event change in home win probability. Higher = more drama.
| Date | Teams | Comeback | Max Swing | Result |
|---|---|---|---|---|
| 2026-10-15 | BUF @ TOR | 0.955 | 0.672 | BUF 5ā4 TOR (away win) |
| 2026-10-06 | NSH @ TOR | 0.952 | 0.495 | TOR 5ā4 NSH |
| 2026-10-15 | VAN @ FLA | 0.938 | 0.660 | FLA 3ā2 VAN |
| 2026-10-02 | BOS @ WPG | 0.915 | 0.477 | BOS 4ā3 WPG (away win) |
| 2026-10-06 | MIN @ BUF | 0.913 | 0.390 | BUF 3ā2 MIN |
| 2026-10-05 | WPG @ PIT | 0.891 | 0.737 | WPG 3ā2 PIT (away win) |
| 2026-10-08 | NSH @ MTL | 0.864 | 0.723 | NSH 5ā2 MTL (away win) |
| 2026-10-08 | SJS @ STL | 0.829 | 0.728 | SJS 3ā2 STL (away win) |
| 2026-10-10 | MIN @ FLA | 0.810 | 0.689 | MIN 4ā1 FLA (away win) |
| 2026-10-06 | FLA @ LAK | 0.802 | 0.643 | FLA 2ā1 LAK (away win) |
| 2026-10-10 | CBJ @ STL | 0.781 | 0.779 | STL 5ā3 CBJ |
| 2026-10-10 | TOR @ COL | 0.768 | 0.728 | TOR 6ā3 COL (away win) |
| 2026-10-03 | CAR @ PHI | 0.751 | 0.389 | CAR 3ā2 PHI (away win) |
| 2026-10-07 | COL @ WPG | 0.750 | 0.599 | WPG 3ā2 COL |
| 2026-10-02 | ANA @ VGK | 0.746 | 0.712 | ANA 4ā3 VGK (away win) |
Based on in-game win probability curves from the 2026-27 NHL season. View in-game dashboards →
Download Data
About the xG Model: Our expected goals model uses gradient boosting on shot distance, angle, shot type, game situation (even/power play), rebounds, and rush attempts. The leaderboards above use the neutral variant, which excludes score context so that shot quality comparisons are not skewed by game state. A separate contextual variant (which factors in score differential) is shown per-game on the recent games xG page and on the model performance page.
View: Today's Predictions | Model Performance | Playoff Odds