Saturday, March 28, 2026
Playoff odds, %
Change
CGY
+0.0
VAN
+0.0
How the result moved each team's playoff odds, calculated Mar 28, 2026 9:57 PM EDT.
Highlights
Scoring
1st Period
3:04
CGY
Matt Coronato (17)
Zayne Parekh (4), Morgan Frost (19)
· wrist xG 0.05
0–1 ▶
4:59
CGY
Joel Farabee (17)
Zach Whitecloud (11), Mikael Backlund (24)
· tip-in xG 0.06
0–2 ▶
18:53
VAN
Liam Ohgren (8)
Linus Karlsson (18), Elias Pettersson (29)
· snap xG 0.30
1–2 ▶
2nd Period
1:32
CGY
Ryan Strome (6)
Olli Maatta (9), Yegor Sharangovich (13)
· tip-in xG 0.05
1–3 ▶
4:36
CGY
Olli Maatta (2)
Ryan Strome (12), Hunter Brzustewicz (3)
· poke xG 0.48
1–4 ▶
4:47
CGY
Morgan Frost (18)
Matt Coronato (21), Matvei Gridin (10)
· backhand xG 0.04
1–5 ▶
13:36
VAN
Jake DeBrusk (16) PP
Brock Boeser (21), Elias Pettersson (30)
· tip-in xG 0.12
2–5 ▶
19:23
CGY
Zayne Parekh (2) PP
Matt Coronato (22), Morgan Frost (20)
· wrist xG 0.10
2–6 ▶
3rd Period
12:40
VAN
Nils Hoglander (2)
Victor Mancini (1), Zeev Buium (18)
· tip-in xG 0.12
3–6 ▶
19:52
CGY
Adam Klapka (6) PP
Brennan Othmann (1), Hunter Brzustewicz (4)
· wrist xG 0.15
3–7 ▶
Score away–home after each goal; season totals in parentheses.
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
VAN 64%Deserve to win 36% CGY
VAN CGY
2.93 Expected goals 2.15
3 Goals (no shootout) 7
2.34 Expected goals, 5 on 5 1.69
61 Shot attempts 42
49 Unblocked attempts 30
34 Shots on goal 23
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
1:32
VAN
Goalie
Goalie · Tolopilo −2.4 goals saved
3 goals on 0.55 xG, 8 shots on goal
4:36
VAN
Goalie change
Goalie change · Lankinen in for Tolopilo
4:36 of the 2nd; Tolopilo had allowed 4 goals on 11 shots (1.10 xG)
Shot map
VAN shoots ←Bigger circle: higher xG; filled: goal → CGY shoots
Matvei Gridin: wrist, 14 ft, xG 0.10 (P1 2:46)
Zayne Parekh: wrist, 42 ft, xG 0.04 (P1 3:02)
Liam Ohgren: wrist, 97 ft, xG 0.00 (P1 4:23)
Liam Ohgren: snap, 38 ft, xG 0.07 (P1 4:29)
Zeev Buium: wrist, 61 ft, xG 0.01 (P1 4:36)
Mikael Backlund: wrist, 34 ft, xG 0.01 (P1 4:53)
Drew O'Connor: deflected, 9 ft, xG 0.12 (P1 6:17)
Drew O'Connor: wrist, 8 ft, xG 0.05 (P1 6:17)
Ryan Strome: wrist, 35 ft, xG 0.04 (P1 7:06)
Blake Coleman: wrist, 35 ft, xG 0.04 (P1 8:10)
Evander Kane: wrist, 32 ft, xG 0.07 (P1 8:46)
Evander Kane: snap, 34 ft, xG 0.06 (P1 9:09)
Liam Ohgren: slap, 41 ft, xG 0.05 (P1 9:29)
Pierre-Olivier Joseph: slap, 52 ft, xG 0.03 (P1 9:40)
Zeev Buium: wrist, 53 ft, xG 0.02 (P1 11:31)
Tyson Gross: wrist, 98 ft, xG 0.00 (P1 11:50)
Pierre-Olivier Joseph: wrist, 54 ft, xG 0.01 (P1 12:05)
Matvei Gridin: wrist, 25 ft, xG 0.10 (P1 12:59)
Victor Olofsson: tip-in, 15 ft, xG 0.06 (P1 13:35)
Victor Mancini: wrist, 57 ft, xG 0.01 (P1 16:51)
Marco Rossi: tip-in, 23 ft, xG 0.07 (P1 17:11)
Filip Hronek: wrist, 46 ft, xG 0.02 (P1 19:49)
Victor Mancini: wrist, 155 ft, xG 0.00 (P2 2:16)
Tyson Gross: backhand, 11 ft, xG 0.05 (P2 2:28)
Elias Pettersson: wrist, 32 ft, xG 0.09 (P2 3:22)
Ryan Strome: wrist, 53 ft, xG 0.02 (P2 4:33)
Tom Willander: wrist, 49 ft, xG 0.01 (P2 5:11)
Victor Mancini: slap, 59 ft, xG 0.04 (P2 5:16)
Aatu Räty: wrist, 16 ft, xG 0.03 (P2 5:17)
Adam Klapka: tip-in, 11 ft, xG 0.01 (P2 5:39)
Joel Farabee: wrist, 43 ft, xG 0.01 (P2 5:56)
Brock Boeser: wrist, 28 ft, xG 0.07 (P2 6:47)
Drew O'Connor: snap, 24 ft, xG 0.08 (P2 8:03)
Evander Kane: backhand, 6 ft, xG 0.07 (P2 8:23)
Jake DeBrusk: backhand, 8 ft, xG 0.05 (P2 8:24)
Teddy Blueger: wrist, 54 ft, xG 0.02 (P2 8:40)
Ryan Strome: wrist, 35 ft, xG 0.12 (P2 8:56)
Elias Pettersson: wrist, 23 ft, xG 0.02 (P2 10:12)
Marcus Pettersson: wrist, 66 ft, xG 0.01 (P2 12:04)
Elias Pettersson: wrist, 42 ft, xG 0.04 (P2 12:14)
Brock Boeser: snap, 34 ft, xG 0.10 (P2 13:28)
Tyson Gross: tip-in, 25 ft, xG 0.02 (P2 14:23)
Adam Klapka: wrist, 37 ft, xG 0.04 (P2 14:45)
Jake DeBrusk: wrist, 44 ft, xG 0.02 (P2 16:38)
Evander Kane: wrist, 43 ft, xG 0.01 (P2 16:48)
Teddy Blueger: wrist, 43 ft, xG 0.02 (P2 18:31)
Blake Coleman: backhand, 22 ft, xG 0.07 (P2 18:48)
Elias Pettersson: deflected, 8 ft, xG 0.12 (P2 19:44)
Liam Ohgren: wrist, 21 ft, xG 0.10 (P2 19:46)
Victor Olofsson: wrist, 38 ft, xG 0.02 (P3 1:00)
Yegor Sharangovich: tip-in, 37 ft, xG 0.05 (P3 1:08)
Tom Willander: wrist, 49 ft, xG 0.03 (P3 1:28)
Teddy Blueger: snap, 25 ft, xG 0.14 (P3 1:50)
Linus Karlsson: wrap-around, 7 ft, xG 0.05 (P3 2:03)
Elias Pettersson: wrist, 15 ft, xG 0.05 (P3 2:15)
Marco Rossi: wrist, 30 ft, xG 0.03 (P3 3:42)
Brennan Othmann: wrist, 42 ft, xG 0.01 (P3 4:28)
Evander Kane: snap, 11 ft, xG 0.13 (P3 5:04)
Drew O'Connor: slap, 26 ft, xG 0.04 (P3 7:16)
Tom Willander: wrist, 35 ft, xG 0.08 (P3 7:26)
Yegor Sharangovich: wrist, 9 ft, xG 0.16 (P3 8:38)
Olli Maatta: tip-in, 21 ft, xG 0.07 (P3 8:52)
Adam Klapka: wrist, 14 ft, xG 0.14 (P3 9:17)
Brayden Pachal: wrist, 38 ft, xG 0.03 (P3 10:09)
Brock Boeser: wrist, 22 ft, xG 0.06 (P3 10:39)
Teddy Blueger: tip-in, 8 ft, xG 0.12 (P3 13:10)
Jake DeBrusk: wrist, 41 ft, xG 0.01 (P3 14:24)
Elias Pettersson: slap, 30 ft, xG 0.10 (P3 17:26)
Brock Boeser: tip-in, 18 ft, xG 0.08 (P3 17:40)
Matt Coronato: GOAL, wrist, 26 ft, xG 0.05 (P1 3:04)
Joel Farabee: GOAL, tip-in, 13 ft, xG 0.06 (P1 4:59)
Liam Ohgren: GOAL, snap, 14 ft, xG 0.30 (P1 18:53)
Ryan Strome: GOAL, tip-in, 17 ft, xG 0.05 (P2 1:32)
Olli Maatta: GOAL, poke, 6 ft, xG 0.48 (P2 4:36)
Morgan Frost: GOAL, backhand, 19 ft, xG 0.04 (P2 4:47)
Jake DeBrusk: GOAL, tip-in, 8 ft, xG 0.12 (P2 13:36)
Zayne Parekh: GOAL, wrist, 32 ft, xG 0.10 (P2 19:23)
Nils Hoglander: GOAL, tip-in, 16 ft, xG 0.12 (P3 12:40)
Adam Klapka: GOAL, wrist, 13 ft, xG 0.15 (P3 19:52)
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
Vancouver Canucks
Calgary Flames
Goalie
SA GA
SV SV%
xGA
GSAx
Dustin Wolf
34 3 31
.912
2.93
-0.07
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.
Vancouver Canucks
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
40 Elias Pettersson C
+2.41
+1.10
+0.27
+0.82
+0.15
+0.02
+0.05
—
19:17
90 Victor Mancini D
+2.37
+0.70
+0.03
+1.52
0.00
0.00
+0.12
—
16:00
92 Liam Ohgren L
+2.17
+0.75
+0.34
+0.88
+0.15
0.00
+0.05
—
17:51
94 Linus Karlsson C
+1.68
+0.70
+0.04
+0.82
+0.15
-0.02
0.00
—
18:05
7 Pierre-Olivier Joseph D
+1.24
0.00
+0.03
+1.17
0.00
0.00
+0.05
—
15:02
21 Nils Hoglander L
+1.21
+0.75
+0.08
+0.40
0.00
0.00
-0.02
—
7:42
74 Jake DeBrusk L
+0.74
+0.75
+0.13
-0.14
0.00
0.00
0.00
—
13:24
6 Brock Boeser R
+0.31
+0.70
+0.20
-0.56
0.00
+0.01
-0.04
—
22:34
53 Teddy Blueger C
+0.16
0.00
+0.20
+0.04
0.00
-0.06
-0.02
—
14:44
42 Curtis Douglas C
+0.04
0.00
0.00
+0.09
0.00
-0.01
-0.04
—
6:30
5 Tom Willander D
0.00
0.00
+0.07
-0.13
0.00
0.00
+0.06
—
18:10
18 Drew O'Connor L
-0.09
0.00
+0.19
-0.27
0.00
-0.01
0.00
—
17:09
24 Zeev Buium D
-0.13
+0.55
+0.02
-0.75
0.00
0.00
+0.05
—
23:57
54 Aatu Räty C
-0.23
0.00
+0.02
-0.32
0.00
+0.04
+0.02
—
11:50
29 Marcus Pettersson D
-0.24
0.00
+0.01
-0.16
-0.15
0.00
+0.06
—
17:57
93 Marco Rossi C
-0.37
0.00
+0.06
-0.28
-0.15
-0.03
+0.02
—
18:27
91 Evander Kane L
-0.64
0.00
+0.22
-0.69
-0.15
+0.01
-0.02
—
13:19
17 Filip Hronek D
-1.08
0.00
+0.01
-1.13
0.00
0.00
+0.04
—
26:13
32 Kevin Lankinen G
-1.95
0.00
—
—
0.00
—
—
-1.95
32:45
60 Nikita Tolopilo G
-2.90
0.00
—
—
0.00
—
—
-2.90
24:36
Calgary Flames
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
3 Olli Maatta D
+3.09
+1.45
+0.36
+1.21
0.00
0.00
+0.08
—
20:55
16 Morgan Frost C
+2.42
+1.85
+0.03
+0.43
0.00
+0.11
0.00
—
14:05
22 Ryan Strome C
+2.23
+1.45
+0.15
+0.67
0.00
+0.02
-0.06
—
14:05
27 Matt Coronato R
+2.01
+2.15
+0.03
-0.12
0.00
-0.01
-0.04
—
15:42
48 Hunter Brzustewicz D
+1.97
+1.10
0.00
+0.91
0.00
0.00
-0.04
—
18:25
17 Yegor Sharangovich C
+1.92
+0.55
+0.14
+1.18
0.00
+0.01
+0.04
—
14:51
95 Victor Olofsson L
+1.10
0.00
+0.05
+0.98
0.00
0.00
+0.07
—
13:43
92 Matvei Gridin R
+0.60
+0.55
+0.13
-0.14
0.00
0.00
+0.06
—
16:51
19 Zayne Parekh D
+0.50
+1.45
+0.09
-0.86
-0.15
0.00
-0.03
—
16:29
43 Adam Klapka R
+0.48
+0.75
+0.22
-0.49
0.00
0.00
0.00
—
8:51
86 Joel Farabee L
+0.36
+0.75
+0.04
-0.63
+0.15
0.00
+0.05
—
17:36
20 Blake Coleman L
+0.19
0.00
+0.07
+0.12
0.00
0.00
0.00
—
19:29
28 Zach Whitecloud D
-0.05
+0.70
0.00
-0.78
0.00
0.00
+0.03
—
24:10
32 Dustin Wolf G
-0.07
0.00
—
—
0.00
—
—
-0.07
60:00
78 Brennan Othmann L
-0.18
+0.70
+0.01
-0.89
0.00
0.00
0.00
—
10:12
11 Mikael Backlund C
-0.29
+0.55
+0.01
-0.71
0.00
-0.06
-0.08
—
18:41
39 Tyson Gross C
-0.50
0.00
+0.05
-0.65
0.00
-0.02
+0.12
—
11:35
94 Brayden Pachal D
-0.69
0.00
+0.02
-0.76
0.00
0.00
+0.05
—
14:57
7 Kevin Bahl D
-1.10
0.00
0.00
-0.78
-0.30
0.00
-0.02
—
22:12
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.