Tonight: 8 gamesModel estimates, not official NHL statistics
puckmodel
← All recaps

2025-12-23 · Canadian Tire Centre

3 – 2Final/OT

BUF beat OTT 3–2 in overtime. BUF lost the expected-goals battle 1.5 to 3.1 and won anyway, a result the shot quality did not support. The biggest swing: Bowen Byram scored at 0:31 of overtime, moving BUF’s win probability from 46% to 100%. Alex Lyon saved 1.3 goals above expected.

Shots on goal
25 – 26
Expected goals
1.5 – 3.1
xG share
OTT 68%
Home-ice start
OTT 53%

Win probability

The site’s win-probability model, second by second: score, time left and the manpower on the ice. Dots are goals; hover for the swing.

BUF goalOTT goal

Expected goals

Running total of each team’s shot quality (unblocked attempts). Dots are goals.

BUFOTT

Three stars, by the model

Net goals added in this game versus a league-average player: on-ice goal share, finishing, playmaking, suppression, drawn and taken penalties, faceoffs; goalies by goals saved above expected.

BUF
2 G, 1 A · 24:18 TOI
On-ice −0.10 · Finishing +1.63
+1.50
BUF
60:31 TOI
GSAx +1.27
+1.27
OTT
1 G, 0 A · 21:41 TOI
On-ice +0.28 · Finishing +0.75
+1.03

Rough nights

OTT
60:31 TOI
GSAx −0.96
−0.96
OTT
0 G, 0 A · 18:42 TOI
On-ice +0.10 · Finishing −0.90
−0.79
BUF
0 G, 0 A · 12:24 TOI
On-ice −0.30 · Finishing −0.21 · Penalties −0.19
−0.71

Scoring

Win probability of the scoring team just before and after each goal.

TimeTeamGoalBUF–OTTWin prob.
P1 15:22 BUFBowen Byram
from Jordan Greenway, Josh Dunne
1–047% → 65%
P1 17:13 OTTRidly Greig
from Claude Giroux
1–135% → 53%
P2 6:11 BUFNoah Ostlund
from Bowen Byram, Alex Tuch
2–147% → 67%
P2 9:27 OTTTim StützlePP
from Drake Batherson, Dylan Cozens
2–233% → 53%
OT 0:31 BUFBowen Byram
from Ryan McLeod, Mattias Samuelsson
3–246% → 100%

Every player

Show both lineups

BUF

SkaterTOIGANet goalsOn-iceFinishingPlaymakingSuppressionPenaltiesFaceoffs
Bowen Byram D24:1821+1.50−0.10+1.63−0.01−0.02+0.00+0.00
Noah Ostlund C15:011+0.48−0.18+0.69−0.00−0.00+0.00−0.01
Josh Dunne C13:131+0.22+0.08−0.05−0.02+0.01+0.19+0.00
Beck Malenstyn L16:11+0.08+0.10+0.00−0.02+0.00+0.00+0.00
Zach Metsa D8:38+0.02+0.01+0.00+0.00+0.00+0.00+0.00
Josh Norris C14:00−0.08−0.07+0.00−0.02−0.00+0.00+0.01
Rasmus Dahlin D22:48−0.17−0.13−0.03−0.02+0.01+0.00+0.00
Peyton Krebs C14:00−0.22−0.20+0.00−0.01−0.01+0.00+0.00
Jack Quinn R12:21−0.22−0.13−0.10+0.01−0.00+0.00+0.00
Jordan Greenway L13:361−0.24−0.02−0.20+0.00+0.01+0.00−0.02
Tage Thompson C16:47−0.26−0.17−0.07−0.00−0.01+0.00+0.00
Mattias Samuelsson D26:391−0.26−0.23−0.09+0.04+0.02+0.00+0.00
Ryan McLeod C16:361−0.27−0.20−0.01−0.00−0.01+0.00−0.04
Josh Doan R13:28−0.34−0.22−0.13−0.01+0.02+0.00+0.00
Michael Kesselring D12:39−0.48−0.22−0.06−0.00+0.00−0.19+0.00
Owen Power D25:10−0.49−0.31−0.17+0.01−0.02+0.00+0.00
Alex Tuch R18:011−0.57−0.08−0.28+0.01−0.00−0.19−0.02
Zach Benson L12:24−0.71−0.30−0.21−0.00−0.01−0.19+0.00
GoalieTOIGSAx (net goals)
Alex Lyon G60:31+1.27

OTT

SkaterTOIGANet goalsOn-iceFinishingPlaymakingSuppressionPenaltiesFaceoffs
Tim Stützle C21:411+1.03+0.28+0.75+0.02−0.05+0.00+0.03
Ridly Greig C15:111+0.73−0.03+0.78−0.00−0.00+0.00−0.02
David Perron L15:21+0.35+0.46−0.30+0.01−0.00+0.19+0.00
Dylan Cozens C19:321+0.27+0.44−0.20−0.01−0.00+0.00+0.04
Fabian Zetterlund L18:03+0.25+0.08−0.04+0.02+0.00+0.19+0.00
Jake Sanderson D22:25+0.19+0.28−0.08−0.01+0.00+0.00+0.00
Nick Jensen D17:47+0.17+0.13+0.00+0.02+0.02+0.00+0.00
Artem Zub D19:04+0.14+0.13+0.00−0.01+0.01+0.00+0.00
Jordan Spence D19:33+0.09+0.11+0.00−0.01−0.02+0.00+0.00
Claude Giroux R16:101+0.06+0.03+0.00+0.00+0.00+0.00+0.02
Drake Batherson R20:421+0.03+0.50−0.68+0.01+0.00+0.19+0.00
Nick Cousins C8:27−0.04−0.05+0.00−0.01+0.00+0.00+0.01
Kurtis MacDermid L2:40−0.06−0.05+0.00−0.01−0.01+0.00+0.00
Stephen Halliday C7:46−0.07−0.07+0.00−0.01+0.01+0.00+0.00
Thomas Chabot D23:23−0.07+0.11−0.18+0.01−0.01+0.00+0.00
Michael Amadio R16:20−0.08+0.01−0.09−0.01+0.01+0.00+0.00
Nikolas Matinpalo D15:17−0.13+0.12−0.10+0.01+0.03−0.19+0.00
Brady Tkachuk L18:42−0.79+0.10−0.90+0.03−0.02+0.00+0.00
GoalieTOIGSAx (net goals)
Linus Ullmark G60:31−0.96

Net goals for one game are noisy: a single goal against on the ice or a lucky finish moves them a lot. See the card guide and Net Goals 101 for how they are built.