Motion-blurred skater in a gold and black sweater
Breakdown · BOS at BUF

Bruins edge the Sabres in overtime

The verdict · stolen

The Bruins stole one. They lost the expected-goals battle 2.40–2.81 and won anyway.

BOS 4 · BUF 3
◆ By the ModelJul 12, 8:49 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

Boston's 4-3 victory masked a game where the underlying numbers favored Buffalo — expected goals went 2.81–2.40 to the Sabres, a 54-46 split that suggested this was their coin toss to win. The Bruins overperformed their xG by 1.60 goals, while Luukkonen underperformed by the same margin.

Boston's J. Korpisalo stopped 22 of 25 shots for a 0.880 save percentage. Luukkonen, absorbing 31 shots, made 27 saves (0.871 SV%).

The Sabres held 45% of shot attempts (25–31 on goal). High-danger chances split evenly at 3–3, but both teams found identical success from the rush: three goals each, Boston on 23 chances and Buffalo on 29. Buffalo weaponized the power play with two goals on nine shots (0.66 xG), while Boston generated higher-quality looks than their shot total suggested.

Pavel Zacha ended it at 00:38 of overtime with a wrist shot from the high slot.

D. Pastrnak (Boston) posted one goal and two assists in 21:56. T. Thompson (Buffalo) recorded two assists in 18:44. J. Zucker (Buffalo) scored twice in 15:58.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · OT · Mar 25
BOS
4
BUF
3

Bruins edge the Sabres in overtime

Chances 2.4 – 2.8Did they deserve it? →
Did they deserve it?

The Sabres deserved better.

Expected goals · chance value
BOS
2.40
BUF
2.81
46% of the chances54%

The board read BOS 4, BUF 3. The chances read BOS 2.4, BUF 2.8.

Our xG model · NHL play-by-play · all situations
Luck check
BOS
+1.6
goals above expected
BOS2.40 expected · 4 scored
Expected
Scored
BUF2.81 expected · 3 scored
Expected
Scored

The Bruins scored 1.6 more than their chances were worth. That does not repeat.

PDO = sh% + sv% · drifts to 1.000 over a season
Every goal, in order
  1. P1 11:07BOSD. Pastrnak1–0
  2. P1 15:18BUFJ. ZuckerPP1–1
  3. P2 09:45BOSV. Arvidsson2–1
  4. P3 05:21BUFZ. Benson2–2
  5. P3 05:54BUFJ. ZuckerPP2–3
  6. P3 14:00BOSC. Mittelstadt3–3
  7. OT 00:38BOSP. Zacha4–3
NHL play-by-play · chance value from our xG model
Where the shots came from
BOS
45 shots
4
Final
83 shots
BUF
38 shots
3
BOS attackBUF attack
BOS BUF Goal
45
shots · 4 in
38
shots · 3 in
Every unblocked shot · press play to replay it
Chances by danger
BOSBUF
0 / 3
0.67 xG
High danger
1 / 3
0.72 xG
3 / 11
1.06 xG
Medium
2 / 12
1.32 xG
1 / 45
0.67 xG
Low
0 / 43
0.76 xG

High-danger looks: BOS 0 of 3, BUF 1 of 3.

Danger tiers by our xG model · high ≥ 20% chance
In the net
C
J. Korpisalo
−0.2
BOS · 22/25
F
U. Luukkonen
−1.6
BUF · 27/31
The numbers, checked
BACKCHECK

Bruins edge the Sabres in overtime

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–7
  1. 11:07BOSD. Pastrnak(F. Minten, M. Khusnutdinov)1–0
  2. 15:18BUFJ. Zuckerpower play(T. Thompson, J. Quinn)1–1
2ndshots 13–12
  1. 09:45BOSV. Arvidsson(D. Pastrnak, N. Zadorov)2–1
3rdshots 6–6
  1. 05:21BUFZ. Benson2–2
  2. 05:54BUFJ. Zuckerpower play(T. Thompson)2–3
  3. 14:00BOSC. Mittelstadt(J. Aspirot, P. Zacha)3–3
OTshots 1–0
  1. 00:38BOSP. Zacha(D. Pastrnak, C. McAvoy)4–3

score reads BOS–BUF

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

The numbers

XGBoost xG · NHL play-by-play
2.40
BOS chances
Goals their shots were worth
+1.6
Finishing
Goals above what those chances were worth
1.016
BOS puck luck
About 1.000 — a normal night for bounces
50.4%
Shot attempts
Over half — they had the puck more
Split by club

Who controlled the game

2.40Expected goals2.81
BUF 54% of the chance quality
31Shots on goal25
3High-danger chances3
59All attempts (Corsi)58
Adjusted for score: BOS 50% · BUF 50%
Faceoffs · BUF won53%off18%neu71%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
BOS0 / 3 · 0.67 xG
BUF1 / 3 · 0.72 xG
Medium dangermid-range
BOS3 / 11 · 1.06 xG
BUF2 / 12 · 1.32 xG
Low dangerperimeter & point
BOS1 / 45 · 0.67 xG
BUF0 / 43 · 0.76 xG

BOS went 3-for-11 from medium danger on 1.06 expected goals — 1.9 above expected.

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

Finishing vs expected

expectedactual
BOS
4 G · 2.40 xG · +1.6
BUF
3 G · 2.81 xG · +0.2
012345

BOS finished +1.6 against expected, BUF +0.2.

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

Shot diet

goalsshots
BOS
WRIST2/28
SNAP1/9
SLAP0/5
TIP IN0/2
BACKHAND1/1
DEFLECTED0/0
OTHER0/14
BUF
WRIST2/20
SNAP1/4
SLAP0/7
TIP IN0/4
BACKHAND0/2
DEFLECTED0/1
OTHER0/20
BOS
BUF
Off the rush
3 G on 23
1.52 xG
3 G on 29
2.36 xG
Off rebounds
0 G on 2
0.32 xG
0 G on 0
0.00 xG

Wrist shots carried the volume: BOS went 2-for-28, BUF 2-for-20. BOS 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. Korpisalo
BOS · 22/25 · .880
-0.2
saved above expected
C
the night
By dangerG/attxGsaved
High danger1/30.7-0.3
Medium2/121.3-0.7
Low0/430.8+0.8

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 · 27/31 · .871
-1.6
saved above expected
F
the night
By dangerG/attxGsaved
High danger0/30.7+0.7
Medium3/111.1-1.9
Low1/450.7-0.3

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

83 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
BOS
45 shots
4
Final
83 shots
BUF
38 shots
3
BOS attackBUF attack
BOS BUF Goal

Each club shoots toward its own end — BOS 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
D. Pastrnak
#88 · R · BOS
1 G · 2 A · 3 SOG · 21:56 on ice · +3
T. Thompson
#72 · C · BUF
0 G · 2 A · 3 SOG · 18:44 on ice · -1
J. Zucker
#17 · L · BUF
2 G · 0 A · 4 SOG · 15:58 on ice · -1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Wed, Mar 25
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 12, 8:48 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

The model projects a BOS 2.5–2.7 BUF game with the Sabres at 55% win probability—about as close to a pick'em as you'll find.

Buffalo owns the underlying play. The Sabres generate 50.0% of expected goals at 5v5 compared to Boston's 47.0%. Both teams' Corsi percentages sit at 49.0%, but the Sabres' edge in shot quality matters. That advantage in the metrics that predict wins would normally favor Buffalo decisively.

Both teams are running hot in a way that won't persist. The Sabres' PDO of 1.020 and the Bruins' 1.023 both represent outperformance of their underlying numbers. Regression is inevitable for both. Don't mistake recent success for sustainable advantage—it masks how close this game truly is.

Watch J. Swayman's status. The Bruins' goaltender is on a back-to-back; Boston could deploy a backup or ask Swayman to play fatigued. Either scenario disadvantages the Bruins in a game they can't afford to give away.

Players to Watch

BOS: Viktor Arvidsson (1.04 xG/60, 18G 24A, 2 HD goals, 13.0% shooting) generates chances at an elite rate with an elite finish. His shooting percentage is well above sustainable. Tanner Jeannot (0.75 xG/60, 6G 14A, 2 HD goals, 8.3% shooting) is shooting below expectation—a regression waiting to happen.

BUF: Jason Zucker (1.07 xG/60, 14G 14A, 6 HD goals, 15.1% shooting) is Buffalo's most dangerous forward, combining volume and conversion. Josh Doan (1.01 xG/60, 15G 18A, 2 HD goals, 11.5% shooting) is another high-converting threat.

Boston's task is neutralizing Zucker—his chance generation and goal rate form the Sabres' core advantage. Buffalo must contain Arvidsson, whose efficiency will regress but not his output. Elias Lindholm represents Boston's defensive vulnerability; Jack Quinn carries Buffalo's. In a game this close, a breakdown from either defenseman could tip the scale.

The Sabres have the better underlying game. But both teams' unsustainable shooting environments and the Bruins' goaltending uncertainty erase the edge. This is a true coin flip.

What the model said beforehand

The model's lean

BUF 55%
55%
BUF
Model favorite
45%
55%
BOS50BUF

BUF by 10 points of win probability — a modest lean. Projected score BOS 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
BOS← edge
edge →BUF
47.0%50.0%
49.0%49.0%
2.392.55
2.672.55
2.222.35
1.821.90
1.0231.020

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

Source · NHL stats API + our xG · 5v5
Form · Last 10
BOS
5-2-3
+4 GD · 1d rest
BUF
8-1-1
+18 GD · 2d rest
1.023
BOS 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 47.0%.
Regression watch
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
  • The Bruins' PDO is 1.023 — running hot, expect some regression.
Things to watch
  • The Sabres own the underlying play — 50.0% 5v5 xG vs 47.0%.
  • J. Swayman 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
BOS
Expected in goal
J. Swayman
back-to-back.912 last start
Backup Jeremy Swayman · +28.8 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
2 days rest.818 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
BOS
Viktor Arvidsson18G 24A
1.04 xG/60 · 2 HD · 13.0% sh
Tanner Jeannot6G 14A
0.75 xG/60 · 2 HD · 8.3% 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