Motion-blurred skater in a Montreal Canadiens sweater
Breakdown · MTL at BUF

J. Dobes stands tall as the Canadiens edge the Sabres

The verdict · coin flip

The Canadiens won a genuine coin flip — neither side controlled the run of play.

MTL 4 · BUF 2
◆ By the ModelJul 12, 3:29 AMxG: 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

The Canadiens won 4–2 despite the Sabres' 55% shot-attempt advantage—a result that hinged entirely on goaltending and shot quality.

Montreal's underlying numbers told a different story than the scoreboard. Buffalo recorded 38 shot attempts to Montreal's 31 and held a 5.49–5.24 expected-goals edge. The Sabres generated 10 high-danger chances to the Canadiens' 8. By the usual metrics, Buffalo dominated.

Montreal didn't—not even close. The Sabres wasted a superior position: they underperformed their xG by 3.49 goals, a massive shortfall that exposed the gulf between shot volume and execution. Buffalo created seven rebound opportunities; none converted. Montreal's shot quality compensated—0.099 xG per shot versus Buffalo's 0.071. The Canadiens scored three goals on rush chances despite the overall possession disadvantage.

J. Dobes saved 3.5 goals above expected on 36 saves with a 0.947 save percentage. On high-danger chances alone, he stopped 90% of Buffalo's 10 shots from the prime scoring areas, the kind of performance that swallows small margins. A. Lyon allowed 2.24 goals above expected—respectable in a losing effort but insufficient when his team controlled the game.

The Canadiens proved the principle: fewer, better chances and elite goaltending beat volume and attempt count. Buffalo's possession dominance couldn't overcome Montreal's net-minding and accuracy. That contradiction—55% attempts but a 4–2 defeat—was the entire game.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Jan 31
MTL
4
BUF
2

J. Dobes stands tall as the Canadiens edge the Sabres

Chances 5.2 – 5.5Did they deserve it? →
Did they deserve it?

Dead even on chances. The Canadiens took it anyway.

Expected goals · chance value
MTL
5.24
BUF
5.49
49% of the chances51%

The board read MTL 4, BUF 2. The chances read MTL 5.2, BUF 5.5.

Our xG model · NHL play-by-play · all situations
Luck check
MTL
−1.2
goals above expected
MTL5.24 expected · 4 scored
Expected
Scored
BUF5.49 expected · 2 scored
Expected
Scored

The Sabres left 3.5 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 11:20MTLJ. SlafkovskýPP1–0
  2. P2 07:36BUFO. PowerPP1–1
  3. P2 18:58BUFN. OstlundPP1–2
  4. P3 04:14MTLC. Caufield2–2
  5. P3 10:13MTLC. Caufield3–2
  6. P3 19:12MTLO. KapanenEN4–2
NHL play-by-play · chance value from our xG model
Where the shots came from
MTL
42 shots
4
Final
98 shots
BUF
56 shots
2
MTL attackBUF attack
MTL BUF Goal
42
shots · 4 in
56
shots · 2 in
Every unblocked shot · press play to replay it
Chances by danger
MTLBUF
2 / 8
3.62 xG
High danger
1 / 10
2.40 xG
2 / 9
0.90 xG
Medium
0 / 23
2.48 xG
0 / 36
0.72 xG
Low
1 / 44
0.60 xG

The Canadiens buried 2 of 8 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
A+
J. Dobes
+3.5
MTL · 36/38
A
A. Lyon
+2.2
BUF · 27/30
The numbers, checked
BACKCHECK

J. Dobes stands tall as the Canadiens 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 11–11
  1. 11:20MTLJ. Slafkovskýpower play(N. Suzuki, C. Caufield)1–0
2ndshots 6–12
  1. 07:36BUFO. Powerpower play(T. Thompson, R. Dahlin)1–1
  2. 18:58BUFN. Ostlundpower play(A. Tuch, B. Byram)1–2
3rdshots 14–15
  1. 04:14MTLC. Caufield(N. Dobson, L. Hutson)2–2
  2. 10:13MTLC. Caufield(N. Suzuki, K. Dach)3–2
  3. 19:12MTLO. Kapanenempty net(N. Dobson)4–2

score reads MTL–BUF

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

The numbers

XGBoost xG · NHL play-by-play
5.24
MTL chances
Goals their shots were worth
−1.2
Finishing
Goals below what those chances were worth
1.050
MTL puck luck
Above 1.000 — the bounces went their way
40.8%
Shot attempts
Under half — they were outshot
Split by club

Who controlled the game

5.24Expected goals5.49
BUF 51% of the chance quality
31Shots on goal38
8High-danger chances10
53All attempts (Corsi)77
Adjusted for score: MTL 39% · BUF 61%
Faceoffs · BUF won40%off36%neu21%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
MTL2 / 8 · 3.62 xG
BUF1 / 10 · 2.40 xG
Medium dangermid-range
MTL2 / 9 · 0.90 xG
BUF0 / 23 · 2.48 xG
Low dangerperimeter & point
MTL0 / 36 · 0.72 xG
BUF1 / 44 · 0.60 xG

BUF went 0-for-23 from medium danger on 2.48 expected goals — 2.5 left on the table.

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

Finishing vs expected

expectedactual
MTL
4 G · 5.24 xG · -1.2
BUF
2 G · 5.49 xG · -3.5
0123456

MTL finished -1.2 against expected, BUF -3.5.

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

Shot diet

goalsshots
MTL
SNAP1/7
WRIST2/19
SLAP0/7
BACKHAND0/4
TIP IN1/4
DEFLECTED0/0
BAT0/1
WRAP AROUND0/0
OTHER0/11
BUF
SNAP0/23
WRIST1/10
SLAP1/11
BACKHAND0/5
TIP IN0/4
DEFLECTED0/2
BAT0/0
WRAP AROUND0/1
OTHER0/21
MTL
BUF
Off the rush
3 G on 28
2.36 xG
1 G on 30
3.67 xG
Off rebounds
0 G on 4
0.45 xG
0 G on 7
0.85 xG

Snap shots carried the volume: MTL went 1-for-7, BUF 0-for-23. MTL 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
J. Dobes
MTL · 36/38 · .947
+3.5
saved above expected
A+
the night
By dangerG/attxGsaved
High danger1/102.4+1.4
Medium0/232.5+2.5
Low1/440.6-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

A. Lyon
BUF · 27/30 · .900
+2.2
saved above expected
A
the night
By dangerG/attxGsaved
High danger2/83.6+1.6
Medium2/90.9-1.1
Low0/360.7+0.7

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

98 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
MTL
42 shots
4
Final
98 shots
BUF
56 shots
2
MTL attackBUF attack
MTL BUF Goal

Each club shoots toward its own end — MTL 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
C. Caufield
#13 · R · MTL
2 G · 1 A · 5 SOG · 15:39 on ice · +2
N. Dobson
#53 · D · MTL
0 G · 2 A · 4 SOG · 20:32 on ice · +3
N. Suzuki
#14 · C · MTL
0 G · 2 A · 2 SOG · 18:52 on ice · +3
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Sat, Jan 31
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 12, 3:27 AMEdited 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 pick'em territory: the model gives Buffalo a 54% edge and projects a 2.5–2.7 goal margin.

Both teams occupy nearly identical possession terrain. Montreal owns 48.0% expected goal share at 5v5 while Buffalo sits at 50.0%, and they're matched at 49.0% Corsi both ways. The underlying play is a dead heat.

Neither team is sustainable. Montreal's 1.018 PDO and Buffalo's 1.020 run hot; regression will touch both. Bank on a goalie grinding through a back-to-back—A. Lyon for Montreal, J. Dobes for Buffalo—or a tired starter if the backup doesn't get the nod.

Montreal leans on Cole Caufield, who generates 0.97 xG per 60 and has buried 33 goals on 20.0% shooting with just one from high-danger area. That's overperformance that will normalize. Oliver Kapanen feeds shots at 0.83 xG/60 and has cashed in 19 goals on 17.8% shooting, another hot streak begging for comedown. The Montreal offense has misfired on rebounds and high-danger chances alike—both at 0%—meaning they're living on conversion variance, not volume.

Buffalo counters with Jason Zucker (1.07 xG/60, 6 HD goals among 14 total, 15.1% shooting) and Josh Doan (1.01 xG/60, 2 HD goals among 15 total, 11.5% shooting). Zucker leans into high-danger work; Doan scatters his chances more widely. Buffalo's HD goal rate and rebound rate also sit at 0%, a mirror inefficiency.

Defensively, Montreal's Mike Matheson is the weak link; Buffalo's Jack Quinn is theirs. If either is exploited, it could tip a narrow game.

The model is right to call this a coin flip. Both teams possess at identical rates, both are running unsustainably hot, both face tired goaltending. The only edge is variance—which team's hot streak survives another night, and which regresses. No amount of xG will tell you that.

What the model said beforehand

The model's lean

BUF 54%
54%
BUF
Model favorite
46%
54%
MTL50BUF

BUF by 8 points of win probability — a modest lean. Projected score MTL 2.5–2.7 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
MTL← edge
edge →BUF
48.0%50.0%
49.0%49.0%
2.412.55
2.622.55
2.242.35
1.961.90
1.0181.020

BUF holds 6 of 6 process categories — and the luck row (1.018 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
MTL
5-4-1
+0 GD · 1d rest
BUF
7-2-1
+17 GD · 1d rest
1.018
MTL PDO
Luck gauge · drifts to 1.000
1.020
BUF 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.
  • The Canadiens' PDO is 1.018 — running hot, expect some regression.
Things to watch
  • A. Lyon is on a back-to-back — watch for a backup start or a tired starter.
  • J. Dobes is on a back-to-back — watch for a backup start or a tired starter.
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
Last game's lineup · confirmed at warm-up

Lineups

NHL box score
MTL
Expected in goal
J. Dobes
back-to-back.897 last start
Backup Jakub Dobes · +17.3 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.

BUF
Expected in goal
A. Lyon
back-to-back.974 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.

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
MTL
Cole Caufield33G 16A
0.97 xG/60 · 1 HD · 20.0% sh
Oliver Kapanen19G 12A
0.83 xG/60 · 4 HD · 17.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