Motion-blurred skater in a Winnipeg Jets sweater
Breakdown · BUF at WPG

E. Comrie stands tall as the Jets edge the Sabres

The verdict · stolen

The Jets stole one. They lost the expected-goals battle 4.88–2.74 and won anyway.

BUF 1 · WPG 4
◆ By the ModelJul 11, 7:04 PMxG: xgboost-0.758Edited for clarityDrafted from NHL play-by-play by Backcheck's model, worded for clarity by an AI editor that may not change a number. Nobody at Backcheck was at the rink. How this works

Winnipeg won a game it had no business winning. The Sabres controlled 64% of expected goals at even strength, yet lost 4–1. One goaltender's near-perfect game decided it: E. Comrie stopped 3.88 goals above expected.

The Sabres generated 4.88 xG to Winnipeg's 2.74, a 64%-36% split that should produce a narrow result, not a blowout. Buffalo created 9 high-danger chances; Winnipeg created 1 and converted it. The Jets were surgical on the rush, scoring 3 goals on 19 chances. Buffalo crashed the net for 9 rebound opportunities and buried one.

E. Comrie stopped 34 of 35 shots—a 0.971 save percentage—and was perfect on high-danger looks: 9-for-9. U. Luukkonen, by contrast, allowed 19 of 22, posting a 0.864 SV%. The Sabres underperformed their xG by 3.88 goals; Winnipeg overperformed by 1.26.

Gabriel Vilardi opened the score with a wrist shot from the top of the circles, an early goal that tilted momentum. Buffalo's efficient play disintegrated after that—they outshot Winnipeg 35–23, generated more chances at every level, and lost anyway.

The result: a 4–1 scoreline that flattens what was a dominant Buffalo performance into an afterthought. One goalie played near-perfectly. That decided everything.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Dec 5
BUF
1
WPG
4

E. Comrie stands tall as the Jets edge the Sabres

Chances 4.9 – 2.7Did they deserve it? →
Did they deserve it?

The Sabres deserved better.

Expected goals · chance value
BUF
4.88
WPG
2.74
64% of the chances36%

The board read BUF 1, WPG 4. The chances read BUF 4.9, WPG 2.7.

Our xG model · NHL play-by-play · all situations
Luck check
WPG
+1.3
goals above expected
WPG2.74 expected · 4 scored
Expected
Scored
BUF4.88 expected · 1 scored
Expected
Scored

The Sabres left 3.9 goals on the table against what their chances were worth.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 04:24WPGK. Connor0–1
  2. P1 14:44BUFJ. ZuckerPP1–1
  3. P2 02:22WPGT. Pearson1–2
  4. P2 18:42WPGC. Koepke1–3
  5. P3 19:26WPGG. VilardiEN1–4
NHL play-by-play · chance value from our xG model
Where the shots came from
BUF
56 shots
1
Final
91 shots
WPG
35 shots
4
BUF attackWPG attack
BUF WPG Goal
56
shots · 1 in
35
shots · 4 in
Every unblocked shot · press play to replay it
Chances by danger
BUFWPG
0 / 9
2.47 xG
High danger
1 / 1
0.62 xG
1 / 13
1.36 xG
Medium
3 / 13
1.52 xG
0 / 45
1.05 xG
Low
0 / 28
0.59 xG

The Sabres went 0 for 9 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A+
E. Comrie
+3.9
WPG · 34/35
D
U. Luukkonen
−0.3
BUF · 19/22
The numbers, checked
BACKCHECK

E. Comrie stands tall as the Jets edge the Sabres

A model, not a newsroom. Every number on these frames comes from the NHL's play-by-play and our own models. Nothing was watched, guessed or heard from anyone.

Read the full breakdown
backcheckreport.com
01 / 08 · Final
Every goal, in order

How it happened

NHL play-by-play
1stshots 15–8
  1. 04:24WPGK. Connor(G. Vilardi, D. Samberg)0–1
  2. 14:44BUFJ. Zuckerpower play(J. Norris, R. Dahlin)1–1
2ndshots 11–9
  1. 02:22WPGT. Pearson(C. Koepke)1–2
  2. 18:42WPGC. Koepke(M. Barron, D. DeMelo)1–3
3rdshots 9–6
  1. 19:26WPGG. Vilardiempty net(K. Connor, M. Scheifele)1–4

score reads BUF–WPG

Source · NHL play-by-play (api-web.nhle.com)
Process vs result

The numbers

XGBoost xG · NHL play-by-play
2.74
WPG chances
Goals their shots were worth
+1.3
Finishing
Goals above what those chances were worth
1.080
WPG puck luck
Above 1.000 — the bounces went their way
38.5%
Shot attempts
Under half — they were outshot
Split by club

Who controlled the game

4.88Expected goals2.74
BUF 64% of the chance quality
35Shots on goal23
9High-danger chances1
67All attempts (Corsi)42
Adjusted for score: BUF 65% · WPG 35%
Faceoffs · WPG won55%off40%neu69%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
BUF0 / 9 · 2.47 xG
WPG1 / 1 · 0.62 xG
Medium dangermid-range
BUF1 / 13 · 1.36 xG
WPG3 / 13 · 1.52 xG
Low dangerperimeter & point
BUF0 / 45 · 1.05 xG
WPG0 / 28 · 0.59 xG

BUF went 0-for-9 from high danger on 2.47 expected goals — 2.5 left on the table.

Source · Backcheck xG model · NHL play-by-play
The luck layer

Finishing vs expected

expectedactual
BUF
1 G · 4.88 xG · -3.9
WPG
4 G · 2.74 xG · +1.3
0123456

BUF finished -3.9 against expected, WPG +1.3.

Source · Backcheck xG model
Shot types · rush and rebound chancesopen +
What they shot — and what went in

Shot diet

goalsshots
BUF
WRIST1/32
SLAP0/12
BACKHAND0/4
SNAP0/3
TIP IN0/3
BAT0/1
WRAP AROUND0/1
OTHER0/11
WPG
WRIST3/23
SLAP0/8
BACKHAND1/2
SNAP0/1
TIP IN0/1
BAT0/0
WRAP AROUND0/0
OTHER0/7
BUF
WPG
Off the rush
0 G on 30
2.55 xG
3 G on 19
2.17 xG
Off rebounds
1 G on 9
1.81 xG
1 G on 2
0.16 xG

Wrist shots carried the volume: BUF went 1-for-32, WPG 3-for-23. WPG scored 3 of theirs off the rush.

Source · Backcheck xG model · NHL shot types
New to these numbers?

Two things happened in this game: who created the better chances, and who put the puck in the net. They are not the same thing, and this page separates them on purpose.

The one to watch is expected goals— the best single read on who deserved to win. When it disagrees with the scoreboard, that disagreement is usually the story. Nothing here is a projection; every figure is computed from this game's play-by-play. Full glossary →

xG
Expected goals. Every shot scored by how often that exact look goes in. 2.5 xG means the chances were worth about two and a half goals.
HD
High-danger chances — shots from the slot and the crease, where shots actually become goals.
Corsi
Every shot attempt, including the ones that missed or got blocked. A rough read on who had the puck.
Adj.
Score-adjusted. Teams that trail shoot more and teams that lead sit back, so this corrects the attempt count for the scoreboard.
GSAx
Goals saved above expected. A positive number means the goalie stopped more than an average goalie would have on those shots.
PDO
Shooting % plus save % — a luck gauge. It sits near 1.000 over a season, so a game far from it usually means the bounces decided it.
Shot by shot

In the net

Graded on goals saved above expected
U. Luukkonen
BUF · 19/22 · .864
-0.3
saved above expected
D
the night
By dangerG/attxGsaved
High danger1/10.6-0.4
Medium3/131.5-1.5
Low0/280.6+0.6

A+ ≥ +2.5 saved above expected · A ≥ +1.5 · B+ ≥ +0.75 · B ≥ +0.25 · C ≥ −0.25 · D ≥ −0.75 · F below −1.5

E. Comrie
WPG · 34/35 · .971
+3.9
saved above expected
A+
the night
By dangerG/attxGsaved
High danger0/92.5+2.5
Medium1/131.4+0.4
Low0/451.1+1.1

A+ ≥ +2.5 saved above expected · A ≥ +1.5 · B+ ≥ +0.75 · B ≥ +0.25 · C ≥ −0.25 · D ≥ −0.75 · F below −1.5

91 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
BUF
56 shots
1
Final
91 shots
WPG
35 shots
4
BUF attackWPG attack
BUF WPG Goal

Each club shoots toward its own end — BUF left, WPG right — the way you would watch it. A dot's size is how dangerous the look was, from distance and angle; it is a proxy for shot quality, not the xG model the article is written from. Hover a dot for the shooter and the clock.

Ranked from the box score

Three stars

Points first
Three stars · computed, not voted
K. Connor
#81 · L · WPG
1 G · 1 A · 4 SOG · 20:28 on ice · +2
G. Vilardi
#13 · C · WPG
1 G · 1 A · 1 SOG · 20:09 on ice · +2
C. Koepke
#45 · L · WPG
1 G · 1 A · 1 SOG · 11:34 on ice · +2
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Fri, Dec 5
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 11, 7:03 PMEdited for clarityDrafted from NHL play-by-play by Backcheck's model, worded for clarity by an AI editor that may not change a number. Nobody at Backcheck was at the rink. How this works

This is about as close to a pick'em as you'll find. The model projects a 2.5–2.6 goal spread with the Jets at exactly 50% win probability—essentially a coin flip.

Buffalo is the hotter team, racing to 6-4-0 over their last 10. Winnipeg is underwater, posting a -9 goal differential in the same span. Yet the season's 5v5 numbers suggest these teams are functionally identical: Buffalo's xG% sits at 50.0% to Winnipeg's 48.0%, while both teams sit at 49.0% Corsi%. The real divergence is in the margins. Buffalo's PDO of 1.020 is running hot relative to Winnipeg's 0.998—a gap that whispers regression.

Both E. Comrie and C. Ellis are on back-to-backs, so monitor the net for lineup adjustments or tired starters.

The scoring edge belongs to Buffalo's Jason Zucker, who is generating 1.07 xG/60 while carrying 14 goals and 14 assists, with 6 high-danger opportunities. Josh Doan runs a similar offensive profile at 1.01 xG/60, having posted 15 goals and 18 assists on an 11.5% shooting rate. On the other side, Kyle Connor (25 goals, 30 assists) offers higher volume but lower generation at 0.83 xG/60, while Nino Niederreiter (0.87 xG/60, 6 goals, 6 assists) sits squarely in the middle—enough offensive heat to matter, not quite enough to separate.

The Sabres' PDO is the only structural signal pointing anywhere: that 1.020 suggests some of Buffalo's points pace comes from variance, and variance reverts. Everything else—the shot rates, the pace, the personnel—argues for exactly what the model says it is: a toss-up.

What the model said beforehand

The model's lean

WPG 50%
50%
WPG
Model favorite
50%
50%
BUF50WPG

WPG by 0 points of win probability — effectively a coin flip. Projected score BUF 2.5–2.6 WPG; 18% chance it's tied after 60.

Source · Backcheck Poisson projection · season scoring rates
Season rates · 5v5

Tale of the tape

NHL stats API · our xG
BUF← edge
edge →WPG
50.0%48.0%
49.0%49.0%
2.552.34
2.552.55
2.351.90
1.902.10
1.0200.998

BUF holds 5 of 6 process categories — and the luck row (1.020 vs 0.998) says BUF has been getting the bounces, which tends not to last.

Source · NHL stats API + our xG · 5v5
Form · Last 10
BUF
6-4-0
+5 GD · 1d rest
WPG
3-6-1
-9 GD · 1d rest
1.020
BUF PDO
Luck gauge · drifts to 1.000
0.998
WPG PDO
Luck gauge · drifts to 1.000
What decides it

Keys to the game

Regression watch
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
Things to watch
  • E. Comrie is on a back-to-back — watch for a backup start or a tired starter.
  • C. Ellis is on a back-to-back — watch for a backup start or a tired starter.
  • The Sabres are the hotter team by points pace (6-4-0 in their last 10).
  • The Jets are underwater at -9 goal differential over their last 10.
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
BUF
Expected in goal
C. Ellis
back-to-back.857 last start
Backup Ukko-Pekka Luukkonen · +10.5 GSAx this season
Back-to-back: the backup often gets this one. Treat the starter as unconfirmed.

No completed game on file for this club yet.

WPG
Expected in goal
E. Comrie
back-to-back.935 last start
Backup Connor Hellebuyck · +5.5 GSAx this season
Back-to-back: the backup often gets this one. Treat the starter as unconfirmed.

No completed game on file for this club yet.

Lineups are the players who dressed in each club's last game, with their minutes; clubs confirm tonight's at warm-up. Every player this preview names was in that lineup.

Computed danger · scouting

Players to watch

NHL stats API · our xG
BUF
Jason Zucker14G 14A
1.07 xG/60 · 6 HD · 15.1% sh
Josh Doan15G 18A
1.01 xG/60 · 2 HD · 11.5% sh
WPG
Nino Niederreiter6G 6A
0.87 xG/60 · 3 HD · 8.6% sh
Kyle Connor25G 30A
0.83 xG/60 · 2 HD · 13.0% sh
Keep going

Where to next