Motion-blurred skater in a Florida Panthers sweater
Breakdown · FLA at BUF

Panthers hold off the Sabres

The verdict · earned

The Panthers earned it — the game and the expected-goals battle both.

FLA 4 · BUF 3
◆ By the ModelJul 12, 12:26 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

Florida's 4-3 victory over Buffalo masked a more decisive edge in play. The Panthers controlled 58% of expected goals at 5-on-5 (3.85 to 2.80)—a margin that suggests they should have won by more than one.

The Sabres' 42% of shot attempts (23–32 on goal) barely reflected the quality gap. Buffalo scored twice from low-danger areas, moments a goaltender is supposed to steal; Florida was ruthless from close range, converting 2 of 5 high-danger chances at 40%. That clinical finishing in the crease is what separated the teams.

The turning point arrived when Alex Tuch's backhander from the doorstep found the net, but the real story was how the Panthers punished the Sabres' perimeter play. Florida scored twice off the rush on just 29 chances—far better than Buffalo's reward for crashing harder. The Sabres generated 5 rebound opportunities and converted 2, showing effort in front. Florida's 6 rebounds yielded only 1 goal, a reminder that activity alone doesn't guarantee results.

S. Bobrovsky made 20 saves on 23 shots for a 0.870 save percentage, executing his job cleanly. C. Ellis countered with 28 saves on 31 at 0.903, performing +0.85 above expected—the kind of night that keeps you in games you're not winning.

The Panthers' depth made it count. C. Verhaeghe recorded three assists in 20:39, while S. Bennett's two helpers in 19:29 set the table, and A. Greer's two goals in 17:35 did the finishing. It wasn't a solo act.

The breakdown in twelve frames

Swipe it

Every number is from this page
Final · Jan 12
FLA
4
BUF
3

Panthers hold off the Sabres

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

The Panthers earned this one.

Expected goals · chance value
FLA
3.85
BUF
2.80
58% of the chances42%

The board read FLA 4, BUF 3. The chances read FLA 3.9, BUF 2.8.

Our xG model · NHL play-by-play · all situations
Luck check
FLA
+0.1
goals above expected
FLA3.85 expected · 4 scored
Expected
Scored
BUF2.80 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:35FLAS. ReinhartPP1–0
  2. P1 10:19BUFJ. Bryson1–1
  3. P1 15:11FLAA. Greer2–1
  4. P2 17:57BUFZ. Benson2–2
  5. P3 11:07FLAA. Lundell3–2
  6. P3 18:46FLAA. GreerEN4–2
  7. P3 19:46BUFA. TuchPP4–3
NHL play-by-play · chance value from our xG model
Where the shots came from
FLA
50 shots
4
Final
93 shots
BUF
43 shots
3
FLA attackBUF attack
FLA BUF Goal
50
shots · 4 in
43
shots · 3 in
Every unblocked shot · press play to replay it
Chances by danger
FLABUF
2 / 5
1.43 xG
High danger
1 / 3
0.85 xG
1 / 15
1.73 xG
Medium
0 / 13
1.27 xG
1 / 50
0.69 xG
Low
2 / 41
0.68 xG

The Panthers buried 2 of 5 high-danger looks.

Danger tiers by our xG model · high ≥ 20% chance
In the net
B+
C. Ellis
+0.8
BUF · 28/31
C
S. Bobrovsky
−0.2
FLA · 20/23
The numbers, checked
BACKCHECK

Panthers hold off 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–7
  1. 02:35FLAS. Reinhartpower play(U. Balinskis, C. Verhaeghe)1–0
  2. 10:19BUFJ. Bryson(R. McLeod, Z. Metsa)1–1
  3. 15:11FLAA. Greer(S. Bennett, C. Verhaeghe)2–1
2ndshots 9–10
  1. 17:57BUFZ. Benson(T. Thompson)2–2
3rdshots 12–6
  1. 11:07FLAA. Lundell(E. Luostarinen, G. Forsling)3–2
  2. 18:46FLAA. Greerempty net(C. Verhaeghe, S. Bennett)4–2
  3. 19:46BUFA. Tuchpower play(B. Byram, R. Dahlin)4–3

score reads FLA–BUF

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

The numbers

XGBoost xG · NHL play-by-play
3.85
FLA chances
Goals their shots were worth
+0.1
Finishing
Goals above what those chances were worth
1.004
FLA puck luck
About 1.000 — a normal night for bounces
55.1%
Shot attempts
Over half — they had the puck more
Split by club

Who controlled the game

3.85Expected goals2.80
FLA 58% of the chance quality
32Shots on goal23
5High-danger chances3
70All attempts (Corsi)57
Adjusted for score: FLA 53% · BUF 47%
Faceoffs · BUF won35%off58%neu62%def
Source · NHL play-by-play · XGBoost xG
How the game was won

The danger ladder

shotsgoalsexpected
High dangerslot & crease
FLA2 / 5 · 1.43 xG
BUF1 / 3 · 0.85 xG
Medium dangermid-range
FLA1 / 15 · 1.73 xG
BUF0 / 13 · 1.27 xG
Low dangerperimeter & point
FLA1 / 50 · 0.69 xG
BUF2 / 41 · 0.68 xG

BUF went 2-for-41 from low danger on 0.68 expected goals — 1.3 above expected.

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

Finishing vs expected

expectedactual
FLA
4 G · 3.85 xG · +0.1
BUF
3 G · 2.80 xG · +0.2
012345

FLA finished +0.1 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
FLA
WRIST2/29
SNAP1/7
TIP IN1/6
SLAP0/4
BACKHAND0/3
POKE0/1
DEFLECTED0/0
BAT0/0
OTHER0/20
BUF
WRIST1/6
SNAP1/19
TIP IN0/7
SLAP0/7
BACKHAND1/2
POKE0/0
DEFLECTED0/1
BAT0/1
OTHER0/14
FLA
BUF
Off the rush
2 G on 29
2.29 xG
0 G on 21
1.50 xG
Off rebounds
1 G on 6
0.77 xG
2 G on 5
0.91 xG

Wrist shots carried the volume: FLA went 2-for-29, BUF 1-for-6. FLA scored 2 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
S. Bobrovsky
FLA · 20/23 · .870
-0.2
saved above expected
C
the night
By dangerG/attxGsaved
High danger1/30.8-0.1
Medium0/131.3+1.3
Low2/410.7-1.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

C. Ellis
BUF · 28/31 · .903
+0.8
saved above expected
B+
the night
By dangerG/attxGsaved
High danger2/51.4-0.6
Medium1/151.7+0.7
Low1/500.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

93 shots · press play to watch the game back

Where the shots came from

NHL play-by-play coordinates
FLA
50 shots
4
Final
93 shots
BUF
43 shots
3
FLA attackBUF attack
FLA BUF Goal

Each club shoots toward its own end — FLA 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. Verhaeghe
#23 · C · FLA
0 G · 3 A · 1 SOG · 20:39 on ice · +1
S. Bennett
#9 · C · FLA
0 G · 2 A · 4 SOG · 19:29 on ice · +1
A. Greer
#10 · L · FLA
2 G · 0 A · 2 SOG · 17:35 on ice · +1
Ranked from the box score — points first · Backcheck
What the model said beforehand

Before the game

Written Mon, Jan 12
Open the pre-game read
Written from the numbers

The read

Edited for clarity
◆ By the ModelJul 12, 12:23 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 FLA 2.5–2.7 BUF with the Sabres at 53% win probability—as close to even odds as you'll find.

On the scoreboard, the Sabres look dominant (9-1-0 in their last 10) while the Panthers are drowning (-11 goal differential over that same stretch). But Florida's underlying metrics tell a different story. They're generating 49.0% xG and driving possession at 52.0% Corsi—they're creating chances, just not finishing them. Buffalo isn't dominating possession either; they're at 49.0% Corsi and 50.0% xG, closer to their true talent level. Their real advantage is sustainability, except for one catch: their PDO is 1.020, meaning goaltending and puck luck are running hot. The Panthers' PDO is 0.989—they're snakebit in equal measure, which suggests regression is coming for whichever team is currently running ahead.

Both teams face a back-to-back situation. U. Luukkonen for Buffalo and S. Bobrovsky for the Panthers will either see backup starts or play through fatigue, adding another variable to an already balanced matchup.

Sam Bennett anchors the Panthers' offense at 18G 19A with 0.97 xG/60. Brad Marchand runs 0.93 xG/60 but an eye-watering 19.5% shooting rate—unsustainable, but dangerous while it lasts. For Buffalo, Jason Zucker and Josh Doan carry the load, both at 1.01–1.07 xG/60. Zucker has 14G 14A; Doan has 15G 18A despite shooting just 11.5%, suggesting room for positive variance.

This is genuinely a pick'em because neither team has separated itself over 60 minutes of play. Buffalo's recent form is real but fragile, built on hot goaltending and puck luck. Florida's metrics suggest they're closer than the scoreboard indicates. Whichever team's luck normalizes first has the edge.

What the model said beforehand

The model's lean

BUF 53%
53%
BUF
Model favorite
47%
53%
FLA50BUF

BUF by 6 points of win probability — a modest lean. Projected score FLA 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
FLA← edge
edge →BUF
49.0%50.0%
52.0%49.0%
2.482.55
2.562.55
1.982.35
2.211.90
0.9891.020

BUF holds 5 of 6 process categories — and the luck row (0.989 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
FLA
4-5-1
-11 GD · 1d rest
BUF
9-1-0
+15 GD · 1d rest
0.989
FLA 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 Panthers drive Corsi at 52.0% — expect territorial tilt.
Regression watch
  • The Sabres' PDO is 1.020 — running hot, expect some regression.
Things to watch
  • The Panthers drive Corsi at 52.0% — expect territorial tilt.
  • U. Luukkonen is on a back-to-back — watch for a backup start or a tired starter.
  • S. Bobrovsky is on a back-to-back — watch for a backup start or a tired starter.
  • The Sabres are the hotter team by points pace (9-1-0 in their last 10).
  • The Panthers are underwater at -11 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
FLA
Expected in goal
S. Bobrovsky
back-to-back.895 last start
Backup Sergei Bobrovsky · -12.2 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
U. Luukkonen
back-to-back.917 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
FLA
Sam Bennett18G 19A
0.97 xG/60 · 6 HD · 13.1% sh
Brad Marchand17G 9A
0.93 xG/60 · 3 HD · 19.5% 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