Wednesday, March 18, 2026
Playoff odds, %
Change
STL
-0.9
CGY
+0.0
How the result moved each team's playoff odds, calculated Mar 18, 2026 8:43 PM EDT.
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
STL 44%Deserve to win 56% CGY
STL CGY
2.66 Expected goals 2.99
1 Goals (no shootout) 1
2.17 Expected goals, 5 on 5 1.27
53 Shot attempts 52
39 Unblocked attempts 40
26 Shots on goal 31
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
13:40
STL
No shift
No shift · Tucker, 13:50 on the bench
No shift after 3:37 of the 3rd; 12 shifts (9:02) before that
Shot map
STL shoots ←Bigger circle: higher xG; filled: goal → CGY shoots
Blake Coleman: slap, 63 ft, xG 0.01 (P1 5:01)
Blake Coleman: snap, 43 ft, xG 0.04 (P1 5:06)
Kevin Bahl: wrist, 41 ft, xG 0.01 (P1 5:08)
Robert Thomas: wrist, 26 ft, xG 0.11 (P1 5:25)
Jordan Kyrou: wrist, 54 ft, xG 0.01 (P1 6:21)
Dalibor Dvorsky: wrist, 21 ft, xG 0.04 (P1 6:34)
Blake Coleman: tip-in, 11 ft, xG 0.08 (P1 7:30)
Theo Lindstein: wrist, 8 ft, xG 0.16 (P1 8:14)
Dalibor Dvorsky: backhand, 13 ft, xG 0.08 (P1 8:26)
Adam Klapka: wrist, 20 ft, xG 0.14 (P1 10:08)
Victor Olofsson: slap, 44 ft, xG 0.06 (P1 10:39)
Connor Zary: wrist, 13 ft, xG 0.11 (P1 11:10)
Zayne Parekh: wrist, 44 ft, xG 0.05 (P1 11:17)
Matt Coronato: wrist, 36 ft, xG 0.06 (P1 11:38)
Colton Parayko: wrist, 60 ft, xG 0.01 (P1 13:05)
Otto Stenberg: backhand, 17 ft, xG 0.02 (P1 13:07)
Dalibor Dvorsky: slap, 34 ft, xG 0.11 (P1 13:13)
Olli Maatta: wrist, 66 ft, xG 0.01 (P1 14:03)
Yegor Sharangovich: wrist, 47 ft, xG 0.01 (P1 14:52)
Philip Broberg: wrist, 40 ft, xG 0.03 (P1 15:18)
Colton Parayko: snap, 15 ft, xG 0.12 (P1 15:42)
Victor Olofsson: snap, 23 ft, xG 0.17 (P1 17:36)
Olli Maatta: backhand, 13 ft, xG 0.09 (P1 18:05)
Alexey Toropchenko: wrist, 91 ft, xG 0.00 (P1 18:17)
Blake Coleman: tip-in, 13 ft, xG 0.07 (P1 19:05)
Joel Hanley: wrist, 62 ft, xG 0.02 (P2 3:01)
Zach Whitecloud: wrist, 54 ft, xG 0.02 (P2 3:33)
Matt Coronato: snap, 6 ft, xG 0.18 (P2 4:53)
Zayne Parekh: wrist, 62 ft, xG 0.02 (P2 5:13)
Victor Olofsson: snap, 17 ft, xG 0.20 (P2 5:49)
Ryan Strome: slap, 31 ft, xG 0.10 (P2 6:32)
Jonathan Drouin: wrist, 60 ft, xG 0.01 (P2 6:50)
Yegor Sharangovich: snap, 29 ft, xG 0.11 (P2 8:06)
Matt Coronato: snap, 9 ft, xG 0.04 (P2 8:07)
Joel Hanley: slap, 67 ft, xG 0.02 (P2 8:18)
Colton Parayko: wrist, 73 ft, xG 0.00 (P2 11:54)
Logan Mailloux: slap, 59 ft, xG 0.04 (P2 12:41)
Logan Mailloux: wrist, 69 ft, xG 0.01 (P2 12:45)
Jimmy Snuggerud: wrist, 33 ft, xG 0.10 (P2 13:03)
Otto Stenberg: wrist, 29 ft, xG 0.04 (P2 13:51)
Connor Zary: wrist, 37 ft, xG 0.06 (P2 16:20)
Jordan Kyrou: slap, 22 ft, xG 0.13 (P2 17:51)
Jimmy Snuggerud: wrist, 26 ft, xG 0.03 (P2 18:19)
Jonathan Drouin: tip-in, 10 ft, xG 0.12 (P2 19:09)
Philip Broberg: slap, 30 ft, xG 0.07 (P3 0:41)
Matt Coronato: wrist, 63 ft, xG 0.01 (P3 2:08)
Colton Parayko: wrist, 31 ft, xG 0.01 (P3 3:03)
Jack Finley: wrist, 7 ft, xG 0.07 (P3 3:06)
Jake Neighbours: wrist, 19 ft, xG 0.13 (P3 4:16)
Jonathan Drouin: wrist, 21 ft, xG 0.13 (P3 4:52)
Joel Hanley: slap, 67 ft, xG 0.01 (P3 5:02)
Dylan Holloway: wrist, 46 ft, xG 0.04 (P3 5:48)
Colton Parayko: wrist, 50 ft, xG 0.02 (P3 6:00)
Colton Parayko: wrist, 56 ft, xG 0.02 (P3 7:37)
Connor Zary: wrist, 36 ft, xG 0.04 (P3 7:55)
Otto Stenberg: wrist, 29 ft, xG 0.09 (P3 8:08)
Otto Stenberg: wrist, 55 ft, xG 0.01 (P3 10:17)
Colton Parayko: slap, 68 ft, xG 0.01 (P3 10:40)
Otto Stenberg: wrist, 15 ft, xG 0.19 (P3 10:45)
Dylan Holloway: wrist, 29 ft, xG 0.08 (P3 10:50)
Pavel Buchnevich: wrist, 34 ft, xG 0.11 (P3 12:08)
Blake Coleman: wrist, 55 ft, xG 0.01 (P3 13:30)
Blake Coleman: backhand, 82 ft, xG 0.00 (P3 13:40)
Joel Farabee: wrist, 47 ft, xG 0.03 (P3 13:50)
Adam Klapka: tip-in, 64 ft, xG 0.00 (P3 15:19)
Dylan Holloway: wrist, 60 ft, xG 0.01 (P3 16:27)
Olli Maatta: wrist, 59 ft, xG 0.00 (P3 19:57)
Dylan Holloway: wrist, 31 ft, xG 0.11 (OT 1:07)
Victor Olofsson: wrist, 10 ft, xG 0.25 (OT 1:44)
Pavel Buchnevich: tip-in, 8 ft, xG 0.13 (OT 2:07)
Matvei Gridin: wrist, 28 ft, xG 0.08 (OT 2:17)
Matt Coronato: wrist, 32 ft, xG 0.09 (OT 2:32)
Victor Olofsson: slap, 39 ft, xG 0.10 (OT 3:17)
Matt Coronato: wrist, 6 ft, xG 0.29 (OT 3:22)
Victor Olofsson: slap, 38 ft, xG 0.13 (OT 3:30)
Morgan Frost: tip-in, 15 ft, xG 0.11 (OT 4:15)
Pavel Buchnevich: backhand, 6 ft, xG 0.14 (OT 4:59)
Connor Zary: GOAL, backhand, 11 ft, xG 0.16 (P1 2:34)
Dylan Holloway: GOAL, snap, 27 ft, xG 0.14 (P2 3:47)
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
St. Louis Blues
Goalie
SA GA
SV SV%
xGA
GSAx
Joel Hofer
31 1 30
.968
2.99
+1.99
Calgary Flames
Goalie
SA GA
SV SV%
xGA
GSAx
Devin Cooley
26 1 25
.962
2.66
+1.66
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.
St. Louis Blues
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
30 Joel Hofer G
+1.99
0.00
—
—
0.00
—
—
+1.99
65:00
55 Colton Parayko D
+1.97
0.00
+0.12
+1.75
+0.15
0.00
-0.05
—
24:20
81 Dylan Holloway L
+1.75
+0.75
+0.25
+0.65
0.00
+0.01
+0.09
—
21:40
41 Theo Lindstein D
+1.29
0.00
+0.10
+1.19
0.00
0.00
0.00
—
14:11
21 Jimmy Snuggerud R
+1.27
+0.70
+0.08
+0.53
0.00
0.00
-0.04
—
18:42
18 Robert Thomas C
+1.26
+0.55
+0.07
+0.77
-0.15
+0.05
-0.04
—
19:49
28 Otto Stenberg C
+0.98
0.00
+0.23
+0.72
0.00
0.00
+0.03
—
14:32
92 Jonathan Drouin L
+0.58
0.00
+0.17
+0.48
0.00
0.00
-0.06
—
18:01
54 Dalibor Dvorsky R
+0.43
0.00
+0.15
+0.27
0.00
-0.06
+0.07
—
15:01
6 Philip Broberg D
+0.36
0.00
+0.07
+0.24
0.00
0.00
+0.05
—
29:06
23 Logan Mailloux D
+0.28
0.00
+0.03
+0.07
0.00
0.00
+0.18
—
26:56
89 Pavel Buchnevich L
+0.08
0.00
+0.24
+0.02
-0.15
-0.01
-0.02
—
17:01
25 Jordan Kyrou R
+0.03
0.00
+0.09
-0.05
0.00
-0.01
0.00
—
14:18
37 Jack Finley C
-0.04
0.00
+0.04
-0.10
0.00
+0.02
0.00
—
10:28
13 Alexey Toropchenko R
-0.05
0.00
0.00
-0.07
0.00
0.00
+0.02
—
9:46
63 Jake Neighbours L
-0.16
0.00
+0.09
-0.08
-0.15
0.00
-0.02
—
12:26
22 Pius Suter C
-0.19
0.00
0.00
-0.10
-0.15
+0.01
+0.05
—
12:20
17 Cam Fowler D
-0.36
0.00
0.00
-0.54
+0.15
0.00
+0.03
—
21:58
75 Tyler Tucker D
-0.80
0.00
0.00
-0.80
0.00
0.00
0.00
—
9:02
Calgary Flames
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
1 Devin Cooley G
+1.66
0.00
—
—
0.00
—
—
+1.66
65:00
47 Connor Zary C
+0.80
+0.75
+0.24
-0.34
+0.15
+0.02
-0.02
—
17:33
95 Victor Olofsson L
+0.77
0.00
+0.59
+0.18
0.00
0.00
0.00
—
14:34
43 Adam Klapka R
+0.54
0.00
+0.10
+0.24
+0.22
0.00
-0.02
—
11:44
22 Ryan Strome C
+0.48
+0.70
+0.07
-0.30
0.00
+0.02
0.00
—
19:50
48 Hunter Brzustewicz D
+0.18
0.00
0.00
+0.20
0.00
0.00
-0.02
—
19:53
3 Olli Maatta D
+0.12
0.00
+0.07
-0.10
0.00
0.00
+0.15
—
23:03
17 Yegor Sharangovich C
+0.07
0.00
+0.08
-0.03
0.00
0.00
+0.02
—
19:21
76 Martin Pospisil C
-0.01
0.00
0.00
-0.11
+0.08
-0.02
+0.05
—
10:22
27 Matt Coronato R
-0.10
0.00
+0.43
-0.50
0.00
-0.01
-0.02
—
16:16
86 Joel Farabee L
-0.23
0.00
+0.02
-0.23
0.00
0.00
-0.02
—
17:08
11 Mikael Backlund C
-0.26
0.00
0.00
-0.17
0.00
-0.05
-0.04
—
20:53
16 Morgan Frost C
-0.26
0.00
+0.07
-0.46
0.00
+0.03
+0.09
—
13:09
44 Joel Hanley D
-0.35
0.00
+0.03
-0.36
0.00
0.00
-0.02
—
16:07
28 Zach Whitecloud D
-0.45
0.00
+0.01
-0.56
0.00
0.00
+0.10
—
22:16
19 Zayne Parekh D
-0.46
0.00
+0.04
-0.48
0.00
0.00
-0.02
—
18:56
92 Matvei Gridin R
-0.48
0.00
+0.05
-0.52
0.00
0.00
-0.02
—
13:29
7 Kevin Bahl D
-0.68
0.00
0.00
-0.78
0.00
0.00
+0.10
—
21:02
20 Blake Coleman L
-0.74
0.00
+0.14
-0.62
-0.30
0.00
+0.05
—
18:01
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.