Motion-blurred skater in a Buffalo Sabres sweater
Breakdown · VAN at BUF

Sabres hold off the Canucks

The verdict · stolen

The Sabres stole one. They lost the expected-goals battle 4.47–3.69 and won anyway.

VAN 3 · BUF 5
◆ By the ModelJul 11, 11:21 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

Buffalo's 5-3 victory masks an xG advantage for Vancouver: the Canucks' 4.47 topped Buffalo's 3.69—a 55–45 split that belies the lopsided scoreline.

The Sabres converted their chances with clinical precision. Buffalo finished 3 of 7 high-danger opportunities (43%) and scored 4 goals on 19 rush attempts. Shot quality mattered more than volume: Buffalo's 0.082 xG per shot significantly outpaced Vancouver's 0.059. Vancouver created 12 rebound opportunities but converted just 1—a finishing gap that sealed the outcome.

U. Luukkonen's 0.919 save percentage (34 saves on 37 shots) exceeded expected performance by 1.47 goals. T. Demko (VAN) posted a 0.789 SV% on 19 shots—a gap that bridged the strategic difference between the teams. Buffalo held just 35% of shot attempts (20–37 on goal) yet controlled every critical moment.

The Sabres' discipline in spacing and rush timing transformed marginal chances into goals. Vancouver's positioning generated upper-shelf looks, but poor finishing and inferior save tending combined to flip a competitive game into a convincing defeat.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Jan 6
VAN
3
BUF
5

Sabres hold off the Canucks

Chances 4.5 – 3.7Did they deserve it? →
Did they deserve it?

The Canucks deserved better.

Expected goals · chance value
VAN
4.47
BUF
3.69
55% of the chances45%

The board read VAN 3, BUF 5. The chances read VAN 4.5, BUF 3.7.

Our xG model · NHL play-by-play · all situations
Luck check
BUF
+1.3
goals above expected
BUF3.69 expected · 5 scored
Expected
Scored
VAN4.47 expected · 3 scored
Expected
Scored

Both sides finished close to what their chances were worth. This one was earned on the ice.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 02:01BUFT. Thompson0–1
  2. P1 11:24BUFR. McLeodSH0–2
  3. P2 09:37BUFA. Tuch0–3
  4. P3 06:13BUFZ. Metsa0–4
  5. P3 10:17VANJ. DeBruskPP1–4
  6. P3 15:16VANE. Pettersson2–4
  7. P3 15:55VANL. Ohgren3–4
+1 more on the full breakdown
NHL play-by-play · chance value from our xG model
Where the shots came from
VAN
59 shots
3
Final
92 shots
BUF
33 shots
5
VAN attackBUF attack
VAN BUF Goal
59
shots · 3 in
33
shots · 5 in
Every unblocked shot · press play to replay it
Chances by danger
VANBUF
0 / 4
0.98 xG
High danger
3 / 7
2.51 xG
3 / 22
2.50 xG
Medium
2 / 8
0.76 xG
0 / 50
1.00 xG
Low
0 / 30
0.42 xG

The Canucks went 0 for 4 from the slot.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
U. Luukkonen
+1.5
BUF · 34/37
D
T. Demko
−0.3
VAN · 15/19
The numbers, checked
BACKCHECK

Sabres hold off the Canucks

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–9
  1. 02:01BUFT. Thompson(B. Byram, O. Power)0–1
  2. 11:24BUFR. McLeodshorthanded(A. Tuch, M. Samuelsson)0–2
2ndshots 8–7
  1. 09:37BUFA. Tuch(B. Byram, J. Norris)0–3
3rdshots 14–4
  1. 06:13BUFZ. Metsa(B. Malenstyn, J. Greenway)0–4
  2. 10:17VANJ. DeBruskpower play(K. Sherwood, B. Boeser)1–4
  3. 15:16VANE. Pettersson(B. Boeser, F. Hronek)2–4
  4. 15:55VANL. Ohgren(M. Pettersson, L. Karlsson)3–4
  5. 18:36BUFJ. Doanempty net3–5

score reads VAN–BUF

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

The numbers

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

Who controlled the game

4.47Expected goals3.69
VAN 55% of the chance quality
37Shots on goal20
4High-danger chances7
76All attempts (Corsi)45
Adjusted for score: VAN 69% · BUF 31%
Faceoffs · BUF won40%off56%neu65%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
VAN0 / 4 · 0.98 xG
BUF3 / 7 · 2.51 xG
Medium dangermid-range
VAN3 / 22 · 2.50 xG
BUF2 / 8 · 0.76 xG
Low dangerperimeter & point
VAN0 / 50 · 1.00 xG
BUF0 / 30 · 0.42 xG

BUF went 2-for-8 from medium danger on 0.76 expected goals — 1.2 above expected.

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

Finishing vs expected

expectedactual
VAN
3 G · 4.47 xG · -1.5
BUF
5 G · 3.69 xG · +1.3
0123456

VAN finished -1.5 against expected, BUF +1.3.

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

Shot diet

goalsshots
VAN
WRIST2/32
TIP IN0/12
SLAP0/5
BACKHAND0/6
SNAP1/4
OTHER0/17
BUF
WRIST5/21
TIP IN0/2
SLAP0/5
BACKHAND0/4
SNAP0/1
OTHER0/12
VAN
BUF
Off the rush
1 G on 33
2.24 xG
4 G on 19
1.96 xG
Off rebounds
1 G on 12
1.59 xG
0 G on 1
0.20 xG

Wrist shots carried the volume: VAN went 2-for-32, BUF 5-for-21. BUF scored 4 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
T. Demko
VAN · 15/19 · .789
-0.3
saved above expected
D
the night
By dangerG/attxGsaved
High danger3/72.5-0.5
Medium2/80.8-1.2
Low0/300.4+0.4

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

U. Luukkonen
BUF · 34/37 · .919
+1.5
saved above expected
B+
the night
By dangerG/attxGsaved
High danger0/41.0+1.0
Medium3/222.5-0.5
Low0/501.0+1.0

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

92 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
VAN
59 shots
3
Final
92 shots
BUF
33 shots
5
VAN attackBUF attack
VAN BUF Goal

Each club shoots toward its own end — VAN left, BUF 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
B. Byram
#4 · D · BUF
0 G · 2 A · 2 SOG · 24:29 on ice · +1
A. Tuch
#89 · R · BUF
1 G · 1 A · 3 SOG · 19:42 on ice · +2
B. Boeser
#6 · R · VAN
0 G · 2 A · 3 SOG · 18:34 on ice · -3
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Tue, Jan 6
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 11, 11:19 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

Buffalo's the computer's pick: the model projects a 2.4–2.8 expected goals game with the Sabres at 57% win probability. That edge rests on Buffalo's underlying dominance—though regression risk looms.

Buffalo has been the hotter team, 9-1-0 in their last 10 and dominant at 5v5 expected goals with 50.0% versus Vancouver's 44.0%. Corsi stands at 49.0% versus 46.0%. This is structural, not noise.

The friction point is PDO. Buffalo is running 1.020—hot and prone to regression downward. Vancouver sits at 0.974, running cold and primed for positive regression. When PDO normalizes—and it will—the model's edge compresses. That regression risk is what the market should price.

Players to Watch

Filip Chytil generates the highest xG/60 (1.03) for Vancouver but has scored only 3 goals, just 1 from hard chances. That's underperformance. Drew O'Connor operates at 0.85 xG/60 but has 13 goals, converting at 11.8% with just 3 hard-chance goals. That's overperformance against his chances.

Jason Zucker leads Buffalo at 1.07 xG/60 and is finishing at 15.1% with 6 hard-chance goals in 14 total—genuine elite two-way production. Josh Doan (1.01 xG/60, 15G 18A) has just 2 hard-chance goals, converting secondary chances at 11.5%.

Neither team has recorded a hard-chance or rebound goal—a statistical anomaly worth noting. Both rosters have defensive concerns: Victor Mancini on Vancouver, Jack Quinn on Buffalo. Neither is alarming enough to shift a three-point model edge.

The Sabres own the underlying structure. The Canucks own the regression narrative. The model likely compresses.

What the model said beforehand

The model's lean

BUF 57%
57%
BUF
Model favorite
43%
57%
VAN50BUF

BUF by 14 points of win probability — a modest lean. Projected score VAN 2.4–2.8 BUF; 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
VAN← edge
edge →BUF
44.0%50.0%
46.0%49.0%
2.222.55
2.812.55
1.602.35
2.561.90
0.9741.020

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

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

Keys to the game

Where the edges live
  • The Sabres own the underlying play — 50.0% 5v5 xG vs 44.0%.
Regression watch
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
  • The Canucks' PDO is 0.974 — running cold, due for positive regression.
Things to watch
  • The Sabres own the underlying play — 50.0% 5v5 xG vs 44.0%.
  • The Sabres are the hotter team by points pace (9-1-0 in 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
VAN
Expected in goal
K. Lankinen
2 days rest.864 last start
Backup Kevin Lankinen · -19.3 GSAx this season

No completed game on file for this club yet.

BUF
Expected in goal
U. Luukkonen
3 days rest.882 last start
Backup Ukko-Pekka Luukkonen · +10.5 GSAx this season

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
VAN
Filip Chytil3G 0A
1.03 xG/60 · 1 HD · 15.0% sh
Drew O'Connor13G 11A
0.85 xG/60 · 3 HD · 11.8% sh
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
Keep going

Where to next