Vancouver CanucksVAN 4–3 Final/OT Anaheim DucksANA

Sunday, April 12, 2026

Final/OT 1st2nd3rdOT T SOG
Vancouver CanucksVAN 2011 4 26
Anaheim DucksANA 1020 3 27
Playoff odds, % Change
ANA -7.4
VAN +0.0
NSH +6.8
LAK +0.6

How the result moved each team's playoff odds, calculated Apr 12, 2026 7:06 PM EDT.

Highlights

Scoring

1st Period
3:41 ANA Cutter Gauthier (39) Chris Kreider (27), Alex Killorn (18) · snap xG 0.30 0–1 ▶
10:49 VAN Curtis Douglas (1) Aatu Räty (10), Kirill Kudryavtsev (1) · wrist xG 0.30 1–1 ▶
14:37 VAN Jake DeBrusk (21)PP Marco Rossi (22), Filip Hronek (40) · tip-in xG 0.10 2–1 ▶
2nd Period
No scoring
3rd Period
4:28 VAN Brock Boeser (22)SH Unassisted · snap xG 0.23 3–1 ▶
5:05 ANA Cutter Gauthier (40)PP Jackson LaCombe (47), Mason McTavish (23) · slap xG 0.10 3–2 ▶
6:56 ANA Leo Carlsson (29) Chris Kreider (28) · backhand xG 0.11 3–3 ▶
Overtime
4:50 VAN Marco Rossi (12)PP Zeev Buium (20), Brock Boeser (25) · slap xG 0.14 4–3 ▶

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 33%Deserve to win67% ANA
VANANA
2.67Expected goals3.70
4Goals (no shootout)3
1.24Expected goals, 5 on 52.90
43Shot attempts53
34Unblocked attempts40
26Shots on goal27

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.

Box score

Vancouver Canucks

Skater GAP+/− AttxG HitBlkTOI
Forwards
6 Brock Boeser 112 -1 50.50 1023:08
40 Elias Pettersson 000 0 10.14 0221:07
74 Jake DeBrusk 112 0 30.12 0019:39
23 Marco Rossi 112 0 40.51 0018:49
92 Liam Ohgren 000 -1 20.00 1018:47
18 Drew O'Connor 000 0 10.03 1016:27
94 Linus Karlsson 000 0 00.00 1115:57
21 Nils Hoglander 000 0 20.12 1015:55
73 Teddy Blueger 000 0 30.16 0014:43
39 Ty Mueller 000 +1 10.07 1010:26
54 Aatu Räty 011 -1 30.18 0110:05
42 Curtis Douglas 101 +1 10.30 2006:19
Defense
17 Filip Hronek 011 -2 60.36 0027:42
26 Marcus Pettersson 000 0 20.00 1023:36
5 Tom Willander 000 0 20.00 2122:03
8 Zeev Buium 000 -1 40.12 0318:00
25 Elias Pettersson 000 +2 00.00 5116:07
59 Kirill Kudryavtsev 011 +1 30.06 0114:17
Goalie SAGA SVSV% xGA GSAx
Nikita Tolopilo 27324 .889 3.70 +0.70

Anaheim Ducks

Skater GAP+/− AttxG HitBlkTOI
Forwards
64 Mikael Granlund 000 -1 60.54 0123:13
45 Beckett Sennecke 000 -1 50.43 1021:02
17 Alex Killorn 011 +1 50.69 1019:49
19 Troy Terry 000 0 40.33 2018:51
91 Leo Carlsson 101 0 40.42 0017:58
22 Chris Kreider 022 +2 10.15 1015:33
61 Cutter Gauthier 202 0 80.79 2013:47
25 Ryan Poehling 000 0 10.00 1113:25
83 Mason McTavish 011 +1 30.09 3012:18
42 Tim Washe 000 -1 10.02 0011:37
25 Jeffrey Viel 000 -1 30.09 2011:12
Defense
65 Jacob Trouba 000 0 30.05 4128:32
74 John Carlson 000 0 40.03 0026:31
2 Jackson LaCombe 011 +2 20.02 1226:06
98 Pavel Mintyukov 000 0 10.01 1120:52
55 Tyson Hinds 000 -1 00.00 1311:36
6 Radko Gudas 000 -1 00.00 4010:05
3 Ian Moore 000 0 20.04 2009:00
Goalie SAGA SVSV% xGA GSAx
Lukas Dostal 26422 .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.