Wednesday, December 31, 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
PHI 40%Deserve to win 60% CGY
PHI CGY
2.79 Expected goals 3.42
1 Goals (no shootout) 5
2.06 Expected goals, 5 on 5 2.27
61 Shot attempts 66
42 Unblocked attempts 45
26 Shots on goal 26
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).
2nd Period
18:50
CGY
xG swing
xG swing · Out-chanced PHI 1.67–0.28
In xG over 10 minutes, 10:50 of the 2nd to 0:50 of the 3rd; goals 2–0
Shot map
PHI shoots ←Bigger circle: higher xG; filled: goal → CGY shoots
Mikael Backlund: snap, 46 ft, xG 0.01 (P1 4:20)
Noah Juulsen: slap, 64 ft, xG 0.01 (P1 6:10)
Travis Sanheim: slap, 70 ft, xG 0.00 (P1 6:49)
John Beecher: wrist, 36 ft, xG 0.06 (P1 8:20)
Blake Coleman: snap, 30 ft, xG 0.14 (P1 10:17)
Morgan Frost: wrist, 6 ft, xG 0.32 (P1 11:37)
Connor Zary: tip-in, 8 ft, xG 0.15 (P1 11:39)
Yan Kuznetsov: slap, 63 ft, xG 0.02 (P1 13:51)
Nazem Kadri: wrist, 16 ft, xG 0.02 (P1 13:52)
Nazem Kadri: wrist, 51 ft, xG 0.03 (P1 14:07)
Rasmus Ristolainen: wrist, 39 ft, xG 0.01 (P1 14:24)
Noah Cates: deflected, 26 ft, xG 0.03 (P1 14:29)
Noah Juulsen: wrist, 29 ft, xG 0.10 (P1 15:10)
John Beecher: wrist, 50 ft, xG 0.01 (P1 15:51)
Matt Coronato: wrist, 12 ft, xG 0.20 (P1 16:30)
Bobby Brink: snap, 36 ft, xG 0.05 (P1 18:33)
Travis Konecny: wrist, 31 ft, xG 0.07 (P1 19:09)
Christian Dvorak: tip-in, 7 ft, xG 0.10 (P1 19:27)
Cam York: slap, 48 ft, xG 0.01 (P1 19:30)
Denver Barkey: wrist, 119 ft, xG 0.00 (P2 2:46)
Christian Dvorak: wrist, 26 ft, xG 0.09 (P2 4:43)
Jamie Drysdale: slap, 51 ft, xG 0.04 (P2 5:34)
Cam York: wrist, 53 ft, xG 0.03 (P2 5:46)
Christian Dvorak: wrist, 21 ft, xG 0.10 (P2 5:53)
MacKenzie Weegar: wrist, 122 ft, xG 0.00 (P2 6:46)
Owen Tippett: snap, 16 ft, xG 0.27 (P2 7:03)
Rasmus Andersson: slap, 59 ft, xG 0.03 (P2 8:35)
Travis Konecny: wrist, 29 ft, xG 0.12 (P2 8:45)
Nazem Kadri: wrist, 33 ft, xG 0.10 (P2 11:05)
Jonathan Huberdeau: slap, 28 ft, xG 0.13 (P2 11:13)
Morgan Frost: wrist, 46 ft, xG 0.05 (P2 11:30)
Yegor Sharangovich: wrist, 33 ft, xG 0.05 (P2 12:22)
Connor Zary: backhand, 10 ft, xG 0.17 (P2 12:29)
Noah Juulsen: slap, 61 ft, xG 0.02 (P2 13:53)
Noah Cates: wrist, 7 ft, xG 0.13 (P2 13:55)
Owen Tippett: wrist, 163 ft, xG 0.00 (P2 14:31)
Rasmus Andersson: wrist, 10 ft, xG 0.13 (P2 15:13)
Travis Sanheim: wrap-around, 8 ft, xG 0.04 (P2 15:51)
Mikael Backlund: wrist, 11 ft, xG 0.06 (P2 16:08)
Nazem Kadri: tip-in, 10 ft, xG 0.01 (P2 17:08)
Christian Dvorak: wrist, 8 ft, xG 0.09 (P2 17:21)
Yegor Sharangovich: wrist, 15 ft, xG 0.18 (P2 17:41)
MacKenzie Weegar: slap, 63 ft, xG 0.03 (P2 17:48)
Matt Coronato: snap, 21 ft, xG 0.10 (P2 17:50)
Adam Klapka: wrist, 47 ft, xG 0.01 (P2 18:40)
Blake Coleman: wrist, 9 ft, xG 0.12 (P2 18:46)
Blake Coleman: slap, 54 ft, xG 0.04 (P2 18:58)
Rasmus Andersson: wrist, 63 ft, xG 0.01 (P2 19:04)
Joel Farabee: wrist, 33 ft, xG 0.06 (P2 19:54)
Yan Kuznetsov: wrist, 69 ft, xG 0.00 (P3 0:17)
Blake Coleman: snap, 18 ft, xG 0.16 (P3 0:42)
MacKenzie Weegar: wrist, 55 ft, xG 0.02 (P3 1:17)
Joel Farabee: wrist, 30 ft, xG 0.03 (P3 4:09)
Nick Seeler: slap, 54 ft, xG 0.02 (P3 4:20)
Blake Coleman: snap, 11 ft, xG 0.16 (P3 5:07)
Travis Konecny: wrist, 10 ft, xG 0.14 (P3 5:31)
Nick Seeler: snap, 37 ft, xG 0.02 (P3 6:32)
Morgan Frost: wrist, 38 ft, xG 0.05 (P3 8:51)
Travis Sanheim: wrist, 44 ft, xG 0.02 (P3 10:47)
Adam Klapka: tip-in, 102 ft, xG 0.00 (P3 11:01)
Adam Klapka: wrist, 34 ft, xG 0.02 (P3 11:09)
Owen Tippett: backhand, 20 ft, xG 0.06 (P3 13:32)
Cam York: backhand, 10 ft, xG 0.01 (P3 13:32)
Christian Dvorak: tip-in, 16 ft, xG 0.07 (P3 13:59)
MacKenzie Weegar: wrist, 62 ft, xG 0.01 (P3 14:40)
Hunter Brzustewicz: wrist, 65 ft, xG 0.00 (P3 14:44)
John Beecher: wrist, 29 ft, xG 0.08 (P3 15:12)
Nick Seeler: snap, 47 ft, xG 0.01 (P3 15:46)
Owen Tippett: snap, 30 ft, xG 0.03 (P3 15:54)
Sean Couturier: wrist, 11 ft, xG 0.16 (P3 16:27)
Nick Seeler: wrist, 16 ft, xG 0.06 (P3 16:28)
Owen Tippett: wrist, 7 ft, xG 0.04 (P3 16:29)
Noah Juulsen: wrist, 59 ft, xG 0.01 (P3 16:40)
Owen Tippett: wrist, 31 ft, xG 0.06 (P3 17:43)
Noah Cates: tip-in, 26 ft, xG 0.07 (P3 18:00)
Christian Dvorak: tip-in, 9 ft, xG 0.12 (P3 18:31)
John Beecher: wrist, 28 ft, xG 0.10 (P3 18:51)
Cam York: wrist, 36 ft, xG 0.09 (P3 19:00)
Trevor Zegras: slap, 29 ft, xG 0.06 (P3 19:26)
Rodrigo Abols: tip-in, 9 ft, xG 0.06 (P3 19:55)
Rodrigo Abols: backhand, 15 ft, xG 0.24 (P3 19:58)
Mikael Backlund: GOAL, slap, 47 ft, xG 0.05 (P1 13:30)
Jonathan Huberdeau: GOAL, slap, 54 ft, xG 0.04 (P2 3:08)
Travis Konecny: GOAL, shot, 43 ft, xG 0.12 (P2 8:49)
Rasmus Andersson: GOAL, slap, 48 ft, xG 0.08 (P2 12:03)
Yegor Sharangovich: GOAL, snap, 23 ft, xG 0.18 (P2 17:52)
Connor Zary: GOAL, snap, 13 ft, xG 0.21 (P3 9:37)
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
Philadelphia Flyers
Calgary Flames
Goalie
SA GA
SV SV%
xGA
GSAx
Dustin Wolf
26 1 26
1.000
2.79
+1.79
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.
Philadelphia Flyers
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
11 Travis Konecny R
+1.16
+0.75
+0.30
+0.18
0.00
0.00
-0.06
—
19:12
8 Cam York D
+0.92
0.00
+0.09
+0.95
-0.15
0.00
+0.03
—
21:14
24 Nick Seeler D
+0.78
0.00
+0.07
+0.41
+0.15
0.00
+0.15
—
14:38
74 Owen Tippett R
+0.75
0.00
+0.30
+0.46
0.00
-0.01
0.00
—
12:45
47 Noah Juulsen D
+0.66
0.00
+0.09
+0.61
0.00
0.00
-0.04
—
13:58
22 Christian Dvorak C
+0.46
0.00
+0.37
+0.09
0.00
-0.03
+0.03
—
19:07
39 Matvei Michkov R
+0.40
0.00
0.00
+0.38
0.00
0.00
+0.02
—
16:16
27 Noah Cates L
+0.28
0.00
+0.15
+0.16
0.00
-0.08
+0.05
—
13:57
52 Denver Barkey C
+0.21
0.00
0.00
+0.16
0.00
0.00
+0.05
—
13:43
55 Rasmus Ristolainen D
+0.18
0.00
+0.01
+0.09
0.00
0.00
+0.08
—
22:15
14 Sean Couturier C
+0.12
0.00
+0.10
-0.04
0.00
+0.03
+0.02
—
13:13
46 Trevor Zegras C
+0.02
0.00
+0.04
-0.05
0.00
-0.02
+0.05
—
18:55
10 Bobby Brink R
-0.02
0.00
+0.03
-0.08
0.00
0.00
+0.03
—
13:38
18 Rodrigo Abols C
-0.65
0.00
+0.20
-1.02
0.00
+0.06
+0.12
—
12:12
29 Nikita Grebenkin R
-0.99
0.00
0.00
-0.97
0.00
0.00
-0.02
—
10:49
91 Carl Grundstrom R
-1.04
0.00
0.00
-1.09
0.00
0.00
+0.05
—
12:10
6 Travis Sanheim D
-1.05
0.00
+0.04
-1.31
0.00
0.00
+0.22
—
22:04
33 Samuel Ersson G
-1.58
0.00
—
—
0.00
—
—
-1.58
59:55
9 Jamie Drysdale D
-1.75
0.00
+0.03
-1.60
-0.15
0.00
-0.02
—
22:38
Calgary Flames
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
47 Connor Zary C
+2.39
+1.45
+0.34
+0.62
0.00
0.00
-0.02
—
11:34
52 MacKenzie Weegar D
+2.12
+1.25
+0.04
+0.93
-0.15
0.00
+0.05
—
23:32
20 Blake Coleman L
+1.97
+0.55
+0.40
+1.05
0.00
+0.01
-0.04
—
15:48
27 Matt Coronato R
+1.96
+1.40
+0.19
+0.34
0.00
0.00
+0.03
—
16:27
32 Dustin Wolf G
+1.79
0.00
—
—
0.00
—
—
+1.79
60:00
11 Mikael Backlund C
+1.61
+0.75
+0.08
+0.71
0.00
+0.02
+0.05
—
15:56
70 Ryan Lomberg L
+1.26
+0.70
0.00
+0.56
0.00
0.00
0.00
—
11:21
10 Jonathan Huberdeau L
+0.90
+0.75
+0.12
0.00
0.00
0.00
+0.03
—
16:05
16 Morgan Frost C
+0.81
0.00
+0.28
+0.44
0.00
+0.06
+0.03
—
15:32
44 Joel Hanley D
+0.58
0.00
0.00
+0.55
0.00
0.00
+0.03
—
13:41
37 Yan Kuznetsov D
+0.55
+0.55
+0.02
+0.08
-0.15
0.00
+0.05
—
22:34
4 Rasmus Andersson D
+0.48
+0.75
+0.16
-0.60
0.00
0.00
+0.17
—
23:43
18 John Beecher C
+0.40
0.00
+0.16
+0.21
0.00
-0.01
+0.05
—
12:59
43 Adam Klapka R
+0.36
0.00
+0.02
+0.29
0.00
0.00
+0.05
—
13:58
48 Hunter Brzustewicz D
+0.21
0.00
0.00
+0.21
0.00
0.00
0.00
—
12:06
17 Yegor Sharangovich C
+0.08
+0.75
+0.26
-0.95
0.00
0.00
+0.02
—
16:13
7 Kevin Bahl D
-0.04
0.00
0.00
-0.16
0.00
0.00
+0.12
—
21:17
91 Nazem Kadri C
-0.17
+0.55
+0.11
-0.95
+0.15
-0.03
0.00
—
17:06
86 Joel Farabee L
-0.37
0.00
+0.06
-0.65
+0.15
0.00
+0.07
—
14:08
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.