Wednesday, November 19, 2025
No impact calculated for this game. Impacts are calculated for games in the next 7 days.
Highlights
Shot quality
Expected goals (xG) rate every unblocked shot by how often shots like it go in, from where it was taken,
the shot type, the strength and what happened just before it. How it works
CGY 73%Deserve to win 27% BUF
CGY BUF
2.97 Expected goals 1.68
6 Goals (no shootout) 2
2.47 Expected goals, 5 on 5 1.52
73 Shot attempts 60
48 Unblocked attempts 43
35 Shots on goal 30
Game notes
What stood out as the game went on, from the play-by-play and the shifts. Time on the bench is
counted in 5-on-5 play outside the penalty box; the note says the player sat, not why. Goals saved are against the
shots' expected goals (xG).
3rd Period
9:50
BUF
Goalie
Goalie · Ellis −2.6 goals saved
5 goals on 2.42 xG, 28 shots on goal
Shot map
CGY shoots ←Bigger circle: higher xG; filled: goal → BUF shoots
Yan Kuznetsov: wrist, 47 ft, xG 0.02 (P1 0:27)
MacKenzie Weegar: wrist, 59 ft, xG 0.01 (P1 0:37)
Bowen Byram: wrist, 49 ft, xG 0.01 (P1 1:09)
Connor Zary: wrist, 43 ft, xG 0.03 (P1 1:33)
Conor Timmins: wrist, 50 ft, xG 0.01 (P1 2:00)
Jack Quinn: wrist, 27 ft, xG 0.03 (P1 2:21)
Nazem Kadri: wrist, 28 ft, xG 0.04 (P1 5:31)
Kevin Bahl: slap, 59 ft, xG 0.03 (P1 5:54)
Josh Doan: snap, 49 ft, xG 0.02 (P1 7:28)
Nazem Kadri: wrist, 41 ft, xG 0.02 (P1 8:07)
Nazem Kadri: wrist, 28 ft, xG 0.15 (P1 8:12)
Tyson Kozak: wrist, 24 ft, xG 0.06 (P1 8:49)
MacKenzie Weegar: wrist, 49 ft, xG 0.01 (P1 12:44)
Rasmus Dahlin: wrist, 31 ft, xG 0.08 (P1 15:14)
Tyson Kozak: snap, 23 ft, xG 0.13 (P1 16:29)
Owen Power: wrist, 41 ft, xG 0.04 (P1 16:37)
Connor Zary: wrist, 14 ft, xG 0.04 (P1 16:48)
Nazem Kadri: slap, 24 ft, xG 0.13 (P1 18:40)
Rasmus Andersson: slap, 53 ft, xG 0.05 (P1 18:56)
Nazem Kadri: wrist, 30 ft, xG 0.10 (P1 19:13)
Nazem Kadri: wrist, 7 ft, xG 0.07 (P1 19:28)
MacKenzie Weegar: slap, 42 ft, xG 0.08 (P1 19:36)
Nazem Kadri: wrist, 35 ft, xG 0.06 (P1 19:55)
Rasmus Dahlin: slap, 32 ft, xG 0.12 (P2 0:19)
Alex Tuch: wrist, 42 ft, xG 0.01 (P2 0:37)
Matt Coronato: wrist, 14 ft, xG 0.20 (P2 1:28)
Beck Malenstyn: wrist, 42 ft, xG 0.01 (P2 1:50)
Peyton Krebs: tip-in, 21 ft, xG 0.03 (P2 1:55)
Josh Dunne: wrist, 65 ft, xG 0.01 (P2 4:08)
Alex Tuch: wrist, 48 ft, xG 0.03 (P2 6:04)
Alex Tuch: wrist, 49 ft, xG 0.03 (P2 6:23)
Josh Doan: wrist, 30 ft, xG 0.02 (P2 6:42)
Peyton Krebs: snap, 10 ft, xG 0.18 (P2 7:19)
Brayden Pachal: wrist, 61 ft, xG 0.00 (P2 7:49)
Mikael Backlund: wrist, 47 ft, xG 0.01 (P2 8:41)
Matt Coronato: wrist, 41 ft, xG 0.05 (P2 9:58)
Noah Ostlund: tip-in, 11 ft, xG 0.07 (P2 12:04)
Rasmus Dahlin: wrist, 49 ft, xG 0.03 (P2 12:46)
John Beecher: wrist, 39 ft, xG 0.01 (P2 13:12)
Tage Thompson: wrist, 34 ft, xG 0.07 (P2 15:09)
Beck Malenstyn: bat, 7 ft, xG 0.02 (P2 15:10)
Blake Coleman: wrist, 64 ft, xG 0.01 (P2 15:34)
Rasmus Andersson: wrist, 47 ft, xG 0.01 (P2 15:40)
Mattias Samuelsson: slap, 31 ft, xG 0.02 (P2 15:49)
Nazem Kadri: wrist, 20 ft, xG 0.06 (P2 16:59)
Josh Doan: snap, 9 ft, xG 0.04 (P2 17:47)
Matt Coronato: wrist, 38 ft, xG 0.05 (P2 18:47)
Joel Farabee: tip-in, 26 ft, xG 0.06 (P2 19:24)
Yegor Sharangovich: wrist, 8 ft, xG 0.07 (P2 19:25)
Joel Hanley: wrist, 53 ft, xG 0.02 (P3 1:28)
Alex Tuch: wrist, 51 ft, xG 0.02 (P3 3:31)
Adam Klapka: snap, 33 ft, xG 0.09 (P3 5:11)
MacKenzie Weegar: snap, 53 ft, xG 0.01 (P3 5:24)
John Beecher: snap, 66 ft, xG 0.01 (P3 5:29)
Beck Malenstyn: snap, 38 ft, xG 0.01 (P3 6:53)
Mattias Samuelsson: backhand, 26 ft, xG 0.04 (P3 6:55)
Ryan McLeod: wrist, 41 ft, xG 0.01 (P3 7:08)
Rasmus Andersson: slap, 49 ft, xG 0.01 (P3 7:32)
Joel Hanley: wrist, 67 ft, xG 0.01 (P3 8:12)
Connor Zary: backhand, 14 ft, xG 0.07 (P3 8:21)
Ryan McLeod: wrist, 30 ft, xG 0.06 (P3 8:50)
Kevin Bahl: wrist, 63 ft, xG 0.02 (P3 9:22)
Mikael Backlund: wrist, 43 ft, xG 0.03 (P3 10:22)
Blake Coleman: snap, 91 ft, xG 0.00 (P3 10:45)
Rasmus Dahlin: wrist, 62 ft, xG 0.01 (P3 11:02)
Beck Malenstyn: tip-in, 5 ft, xG 0.04 (P3 11:03)
Bowen Byram: slap, 65 ft, xG 0.01 (P3 12:02)
Joel Farabee: slap, 29 ft, xG 0.09 (P3 12:11)
Jonathan Huberdeau: wrist, 91 ft, xG 0.00 (P3 13:59)
Jack Quinn: wrist, 38 ft, xG 0.06 (P3 14:39)
Jack Quinn: backhand, 21 ft, xG 0.02 (P3 14:40)
Blake Coleman: wrist, 40 ft, xG 0.02 (P3 15:00)
Noah Ostlund: wrist, 40 ft, xG 0.02 (P3 15:12)
Joel Farabee: snap, 30 ft, xG 0.12 (P3 15:30)
Tage Thompson: wrist, 48 ft, xG 0.02 (P3 16:17)
Mattias Samuelsson: wrist, 60 ft, xG 0.02 (P3 16:23)
Mattias Samuelsson: wrist, 45 ft, xG 0.01 (P3 16:29)
Sam Morton: tip-in, 74 ft, xG 0.00 (P3 16:43)
Kevin Bahl: wrist, 57 ft, xG 0.00 (P3 16:49)
Tyson Kozak: wrist, 55 ft, xG 0.01 (P3 18:13)
Ryan McLeod: wrist, 58 ft, xG 0.02 (P3 19:11)
Ryan McLeod: slap, 29 ft, xG 0.04 (P3 19:24)
Beck Malenstyn: slap, 35 ft, xG 0.09 (P3 19:31)
Rasmus Andersson: GOAL, wrist, 16 ft, xG 0.22 (P1 5:58)
Joel Farabee: GOAL, tip-in, 8 ft, xG 0.12 (P1 12:04)
Mattias Samuelsson: GOAL, snap, 33 ft, xG 0.06 (P2 10:21)
Tage Thompson: GOAL, slap, 53 ft, xG 0.04 (P2 15:57)
Morgan Frost: GOAL, wrist, 8 ft, xG 0.19 (P3 2:02)
Mikael Backlund: GOAL, snap, 14 ft, xG 0.15 (P3 7:34)
Joel Farabee: GOAL, wrist, 22 ft, xG 0.16 (P3 9:50)
Matt Coronato: GOAL, slap, 11 ft, xG 0.28 (P3 17:49)
About these numbers
xG comes from hockeystats.io's own model, a gradient-boosted tree model trained on every unblocked shot
from the 2021-22 to 2025-26 regular seasons using the NHL's public play-by-play. Each shot's value is the
share of similar shots that became goals. A team's xG is the sum over its shots; "deserve to win" asks how
often the team would outscore its opponent if every shot went in at exactly that rate. Blocked shots count
as attempts but have no xG (the NHL records where they were blocked, not where they were taken), so the map
leaves them out.
All columns
Box score
Calgary Flames
Goalie
SA GA
SV SV%
xGA
GSAx
Devin Cooley
30 2 28
.933
1.68
-0.32
Buffalo Sabres
Goalie
SA GA
SV SV%
xGA
GSAx
Colten Ellis
35 6 29
.829
2.97
-3.03
Skaters by time on ice. Goalie lines count shots with the goalie in net, from the NHL play-by-play.
Player ratings
What each player added to the result, in goals, from most to least. Hover a number for what it's made of.
Calgary Flames
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
4 Rasmus Andersson D
+3.01
+2.15
+0.19
+0.54
0.00
0.00
+0.13
—
23:51
86 Joel Farabee L
+2.70
+1.50
+0.36
+0.83
0.00
0.00
+0.01
—
18:27
91 Nazem Kadri C
+2.57
+1.25
+0.40
+0.88
0.00
+0.04
0.00
—
18:05
27 Matt Coronato R
+2.22
+1.30
+0.37
+0.58
0.00
-0.03
0.00
—
13:21
17 Yegor Sharangovich C
+2.19
+1.25
+0.04
+0.94
0.00
-0.02
-0.02
—
16:21
10 Jonathan Huberdeau L
+1.98
+1.40
0.00
+0.56
0.00
+0.01
0.00
—
14:55
16 Morgan Frost C
+1.96
+1.30
+0.12
+0.58
-0.15
+0.05
+0.05
—
13:49
7 Kevin Bahl D
+1.36
+0.55
+0.04
+0.77
0.00
0.00
0.00
—
22:12
11 Mikael Backlund C
+1.26
+0.75
+0.13
+0.37
0.00
+0.01
0.00
—
16:53
44 Joel Hanley D
+1.26
0.00
+0.02
+1.19
-0.15
0.00
+0.20
—
15:53
94 Brayden Pachal D
+0.69
0.00
0.00
+0.69
0.00
0.00
0.00
—
14:26
52 MacKenzie Weegar D
+0.51
0.00
+0.07
+0.43
0.00
0.00
+0.01
—
21:55
47 Connor Zary C
+0.50
0.00
+0.09
+0.37
0.00
-0.01
+0.05
—
13:33
20 Blake Coleman L
+0.32
0.00
+0.02
+0.42
-0.15
0.00
+0.03
—
17:16
45 Sam Morton C
+0.02
0.00
0.00
-0.18
+0.15
0.00
+0.05
—
10:25
43 Adam Klapka R
-0.10
0.00
+0.06
-0.16
0.00
0.00
0.00
—
9:12
18 John Beecher C
-0.16
0.00
+0.01
-0.22
0.00
-0.01
+0.05
—
12:47
37 Yan Kuznetsov D
-0.23
0.00
+0.01
-0.32
0.00
0.00
+0.08
—
20:39
1 Devin Cooley G
-0.32
0.00
—
—
0.00
—
—
-0.32
60:00
Buffalo Sabres
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
23 Mattias Samuelsson D
+1.90
+1.45
+0.10
+0.27
0.00
0.00
+0.08
—
22:44
26 Rasmus Dahlin D
+0.93
+0.55
+0.16
+0.08
0.00
0.00
+0.14
—
24:16
29 Beck Malenstyn L
+0.84
0.00
+0.11
+0.47
+0.15
0.00
+0.10
—
14:08
86 Noah Ostlund C
+0.46
0.00
+0.06
+0.22
+0.15
-0.03
+0.05
—
12:36
19 Peyton Krebs C
+0.44
0.00
+0.14
+0.22
0.00
+0.01
+0.08
—
18:03
72 Tage Thompson C
-0.03
+0.75
+0.09
-0.87
0.00
+0.01
0.00
—
19:27
71 Ryan McLeod C
-0.11
0.00
+0.09
-0.22
0.00
+0.02
0.00
—
17:20
44 Josh Dunne C
-0.30
0.00
0.00
-0.12
-0.15
+0.01
-0.04
—
9:22
25 Owen Power D
-0.47
0.00
+0.03
-0.58
0.00
0.00
+0.08
—
21:02
78 Jacob Bryson D
-0.54
0.00
0.00
-0.59
0.00
0.00
+0.05
—
11:53
89 Alex Tuch R
-0.59
0.00
+0.06
-0.61
0.00
-0.01
-0.02
—
16:19
63 Isak Rosen R
-0.60
0.00
0.00
-0.79
+0.15
+0.01
+0.03
—
14:17
48 Tyson Kozak C
-0.66
0.00
+0.13
-0.78
0.00
-0.04
+0.03
—
14:17
22 Jack Quinn R
-0.70
0.00
+0.07
-0.78
0.00
-0.02
+0.03
—
15:47
12 Jordan Greenway L
-0.75
0.00
0.00
-0.78
0.00
0.00
+0.03
—
14:35
91 Josh Doan R
-0.82
0.00
+0.05
-0.92
0.00
0.00
+0.05
—
15:26
21 Conor Timmins D
-1.00
0.00
0.00
-1.24
0.00
0.00
+0.23
—
16:37
4 Bowen Byram D
-1.20
0.00
+0.01
-1.26
0.00
0.00
+0.05
—
19:51
92 Colten Ellis G
-3.03
0.00
—
—
0.00
—
—
-3.03
60:00
An expected-goals take on Dom Luszczyszyn's Game Score: goals and assists, the quality of a
player's own shots, shot quality for and against while they were on the ice at 5v5, penalties, faceoffs and puck plays,
all in goals; goalies by goals saved above expected. From the NHL play-by-play and shift charts.