Sunday, April 12, 2026
How the result moved each team's playoff odds, calculated Apr 12, 2026 7:06 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
VAN 33%Deserve to win 67% ANA
VAN ANA
2.67 Expected goals 3.70
4 Goals (no shootout) 3
1.24 Expected goals, 5 on 5 2.90
43 Shot attempts 53
34 Unblocked attempts 40
26 Shots on goal 27
Shot map
VAN shoots ←Bigger circle: higher xG; filled: goal → ANA shoots
Alex Killorn: snap, 9 ft, xG 0.21 (P1 0:59)
Beckett Sennecke: snap, 16 ft, xG 0.16 (P1 1:54)
Mikael Granlund: wrist, 18 ft, xG 0.12 (P1 2:56)
Mikael Granlund: slap, 31 ft, xG 0.14 (P1 3:12)
Tom Willander: slap, 164 ft, xG 0.00 (P1 3:18)
Alex Killorn: snap, 18 ft, xG 0.17 (P1 3:39)
Ty Mueller: snap, 28 ft, xG 0.07 (P1 3:48)
Kirill Kudryavtsev: snap, 49 ft, xG 0.04 (P1 6:42)
Filip Hronek: slap, 46 ft, xG 0.03 (P1 7:03)
Aatu Räty: tip-in, 9 ft, xG 0.08 (P1 7:15)
Jeffrey Viel: wrist, 40 ft, xG 0.02 (P1 7:23)
Nils Hoglander: tip-in, 12 ft, xG 0.05 (P1 10:17)
Aatu Räty: tip-in, 12 ft, xG 0.09 (P1 10:47)
Zeev Buium: snap, 43 ft, xG 0.04 (P1 11:35)
Troy Terry: wrist, 27 ft, xG 0.13 (P1 11:47)
Leo Carlsson: snap, 21 ft, xG 0.12 (P1 12:07)
Filip Hronek: slap, 58 ft, xG 0.05 (P1 14:06)
Pavel Mintyukov: slap, 52 ft, xG 0.01 (P1 17:33)
Leo Carlsson: wrist, 48 ft, xG 0.03 (P1 18:06)
John Carlson: snap, 58 ft, xG 0.02 (P1 18:12)
Mikael Granlund: snap, 14 ft, xG 0.17 (P1 18:54)
Leo Carlsson: snap, 13 ft, xG 0.15 (P2 2:12)
Cutter Gauthier: snap, 36 ft, xG 0.07 (P2 2:56)
Kirill Kudryavtsev: wrist, 56 ft, xG 0.02 (P2 3:12)
Jacob Trouba: slap, 62 ft, xG 0.03 (P2 3:34)
Beckett Sennecke: snap, 20 ft, xG 0.19 (P2 5:32)
Tim Washe: tip-in, 24 ft, xG 0.02 (P2 5:37)
Jackson LaCombe: snap, 63 ft, xG 0.01 (P2 5:45)
Cutter Gauthier: wrist, 14 ft, xG 0.14 (P2 6:25)
Nils Hoglander: slap, 28 ft, xG 0.06 (P2 8:38)
Marco Rossi: wrist, 18 ft, xG 0.14 (P2 11:07)
Alex Killorn: snap, 23 ft, xG 0.17 (P2 11:47)
Mikael Granlund: bat, 9 ft, xG 0.04 (P2 11:48)
Mikael Granlund: backhand, 10 ft, xG 0.06 (P2 11:49)
Aatu Räty: snap, 58 ft, xG 0.02 (P2 12:30)
John Carlson: slap, 68 ft, xG 0.01 (P2 13:17)
Jake DeBrusk: snap, 48 ft, xG 0.01 (P2 13:35)
Jake DeBrusk: snap, 46 ft, xG 0.01 (P2 14:47)
Ian Moore: slap, 57 ft, xG 0.04 (P2 16:31)
Teddy Blueger: tip-in, 12 ft, xG 0.09 (P2 17:13)
Jeffrey Viel: tip-in, 6 ft, xG 0.07 (P2 18:28)
Filip Hronek: slap, 57 ft, xG 0.03 (P2 19:20)
Zeev Buium: wrist, 58 ft, xG 0.02 (P2 19:41)
Troy Terry: wrist, 28 ft, xG 0.10 (P3 0:08)
Drew O'Connor: snap, 40 ft, xG 0.03 (P3 1:03)
Teddy Blueger: tip-in, 30 ft, xG 0.02 (P3 1:07)
Mason McTavish: slap, 33 ft, xG 0.04 (P3 1:49)
Alex Killorn: wrist, 21 ft, xG 0.14 (P3 2:05)
Cutter Gauthier: slap, 40 ft, xG 0.07 (P3 4:40)
Chris Kreider: snap, 28 ft, xG 0.15 (P3 6:52)
Mason McTavish: wrist, 7 ft, xG 0.04 (P3 7:38)
Mason McTavish: snap, 51 ft, xG 0.01 (P3 8:16)
Jacob Trouba: slap, 62 ft, xG 0.01 (P3 9:43)
Beckett Sennecke: tip-in, 11 ft, xG 0.08 (P3 12:12)
Filip Hronek: snap, 64 ft, xG 0.01 (P3 12:37)
Jackson LaCombe: snap, 61 ft, xG 0.01 (P3 14:38)
Brock Boeser: snap, 45 ft, xG 0.01 (P3 16:51)
Filip Hronek: slap, 63 ft, xG 0.02 (P3 18:07)
Teddy Blueger: tip-in, 24 ft, xG 0.05 (P3 19:41)
Troy Terry: wrist, 31 ft, xG 0.10 (OT 0:50)
Cutter Gauthier: snap, 35 ft, xG 0.11 (OT 1:32)
Filip Hronek: snap, 13 ft, xG 0.22 (OT 2:41)
Elias Pettersson: tip-in, 9 ft, xG 0.14 (OT 3:13)
Brock Boeser: slap, 25 ft, xG 0.14 (OT 3:45)
Marco Rossi: snap, 10 ft, xG 0.24 (OT 4:13)
Brock Boeser: slap, 40 ft, xG 0.11 (OT 4:22)
Zeev Buium: snap, 34 ft, xG 0.06 (OT 4:41)
Cutter Gauthier: GOAL, snap, 12 ft, xG 0.30 (P1 3:41)
Curtis Douglas: GOAL, wrist, 8 ft, xG 0.30 (P1 10:49)
Jake DeBrusk: GOAL, tip-in, 20 ft, xG 0.10 (P1 14:37)
Brock Boeser: GOAL, snap, 9 ft, xG 0.23 (P3 4:28)
Cutter Gauthier: GOAL, slap, 38 ft, xG 0.10 (P3 5:05)
Leo Carlsson: GOAL, backhand, 13 ft, xG 0.11 (P3 6:56)
Marco Rossi: GOAL, slap, 34 ft, xG 0.14 (OT 4:50)
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
Anaheim Ducks
Goalie
SA GA
SV SV%
xGA
GSAx
Lukas Dostal
26 4 22
.846
2.67
-1.33
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
42 Curtis Douglas C
+1.53
+0.75
+0.20
+0.58
0.00
0.00
0.00
—
6:19
93 Marco Rossi C
+1.34
+1.45
+0.33
-0.39
0.00
-0.03
-0.02
—
18:49
59 Kirill Kudryavtsev D
+1.31
+0.55
+0.04
+0.68
0.00
0.00
+0.05
—
14:17
60 Nikita Tolopilo G
+0.70
0.00
—
—
0.00
—
—
+0.70
64:50
25 Elias Pettersson D
+0.66
0.00
0.00
+0.61
0.00
0.00
+0.05
—
16:07
39 Ty Mueller C
+0.47
0.00
+0.05
+0.38
0.00
+0.04
0.00
—
10:26
74 Jake DeBrusk L
+0.38
+0.75
+0.08
-0.45
0.00
0.00
0.00
—
19:23
54 Aatu Räty C
+0.28
+0.70
+0.12
-0.60
0.00
+0.02
+0.05
—
10:05
6 Brock Boeser R
0.00
+1.30
+0.32
-1.64
0.00
0.00
+0.02
—
23:08
40 Elias Pettersson C
-0.27
0.00
+0.09
-0.54
+0.15
-0.03
+0.06
—
21:07
21 Nils Hoglander L
-0.32
0.00
+0.08
-0.31
0.00
0.00
-0.08
—
15:55
18 Drew O'Connor L
-0.45
0.00
+0.02
-0.49
0.00
0.00
+0.02
—
16:27
5 Tom Willander D
-0.46
0.00
0.00
-0.45
0.00
0.00
-0.01
—
22:03
94 Linus Karlsson C
-0.51
0.00
0.00
-0.53
0.00
-0.01
+0.03
—
15:57
24 Zeev Buium D
-0.64
+0.70
+0.08
-1.58
0.00
0.00
+0.17
—
18:16
92 Liam Ohgren L
-0.95
0.00
0.00
-0.95
0.00
0.00
0.00
—
18:47
29 Marcus Pettersson D
-1.00
0.00
0.00
-1.00
0.00
0.00
0.00
—
23:36
53 Teddy Blueger C
-1.04
0.00
+0.11
-0.98
-0.15
-0.02
0.00
—
14:43
17 Filip Hronek D
-1.48
+0.55
+0.23
-2.20
0.00
0.00
-0.06
—
27:42
Anaheim Ducks
Player
Rating
Points
Shots
On ice
Pen
FO
Other
GSAx
TOI
20 Chris Kreider L
+2.97
+1.40
+0.10
+1.65
-0.15
0.00
-0.02
—
15:33
17 Alex Killorn L
+2.50
+0.55
+0.45
+1.52
0.00
0.00
-0.02
—
19:49
2 Jackson LaCombe D
+2.18
+0.70
+0.01
+1.45
0.00
0.00
+0.02
—
26:06
61 Cutter Gauthier L
+2.06
+1.50
+0.51
+0.05
0.00
0.00
0.00
—
13:47
91 Leo Carlsson C
+2.01
+0.75
+0.27
+0.98
0.00
+0.01
0.00
—
17:58
64 Mikael Granlund C
+1.27
0.00
+0.35
+0.86
0.00
-0.01
+0.07
—
23:13
23 Mason McTavish C
+1.19
+0.55
+0.06
+0.63
0.00
-0.05
0.00
—
12:18
19 Troy Terry R
+1.08
0.00
+0.21
+0.91
0.00
0.00
-0.04
—
18:51
65 Jacob Trouba D
+1.02
0.00
+0.03
+0.98
0.00
0.00
+0.01
—
28:32
45 Beckett Sennecke R
+1.01
0.00
+0.28
+0.94
-0.15
0.00
-0.06
—
21:02
74 John Carlson D
+0.87
0.00
+0.02
+0.87
0.00
0.00
-0.02
—
26:31
98 Pavel Mintyukov D
+0.61
0.00
+0.01
+0.55
0.00
0.00
+0.05
—
20:52
25 Ryan Poehling C
+0.23
0.00
0.00
+0.14
0.00
+0.06
+0.03
—
13:25
3 Ian Moore D
+0.10
0.00
+0.02
+0.07
0.00
0.00
0.00
—
9:00
60 Tyson Hinds D
-0.04
0.00
0.00
-0.02
-0.15
0.00
+0.13
—
11:36
7 Radko Gudas D
-0.38
0.00
0.00
-0.53
+0.15
0.00
0.00
—
10:05
42 Tim Washe C
-0.44
0.00
+0.02
-0.49
0.00
+0.02
+0.02
—
11:37
28 Jeffrey Viel L
-0.62
0.00
+0.06
-0.68
0.00
0.00
0.00
—
11:12
1 Lukas Dostal G
-1.33
0.00
—
—
0.00
—
—
-1.33
64:50
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.