Hockey Terminal
Be a GM

← All players

Photo of Drew O'Connor

Drew O'Connor

#18 · Left wing · Vancouver Canucks

Born Jun 9, 1998 in Chatham, New Jersey, USA (age 28) · 6'4", 209 lb · Shoots left

Compare with a similar player

The forwards closest to him in points in 2026-27. Pick one to see the two side by side, or choose someone else.

Arshdeep Bains VAN · 2 P in 5 GP Barrett Hayton UTA · 2 P in 5 GP Braeden Bowman VGK · 2 P in 5 GP Brett Howden VGK · 2 P in 5 GP Eric Robinson CAR · 2 P in 5 GP

Career

Regular season games only. Pick a season to see its game log below. Cap hit is what he counted against the salary cap that season, where it is known.

01020302020-21: 1 points120-212021-22: 5 points521-222022-23: 11 points1122-232023-24: 33 points3323-242024-25: 25 points2524-252025-26: 29 points2925-262026-27: 2 points226-27

Points by season. The darker bar is the season shown below.

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2020-21 PIT 10 0 1 1 -2 2 8 6 0.10 $925K
2021-22 PIT 22 3 2 5 -1 4 40 12 0.23 $925K
2022-23 PIT 46 5 6 11 -3 12 62 63 0.24 $750K
2023-24 PIT 79 16 17 33 14 20 160 53 0.42 $925K
2024-25 PIT 53 6 10 16 -14 16 82 51 0.30 $925K
2024-25 VAN 31 4 5 9 -2 18 35 32 0.29
2025-26 VAN 82 17 12 29 -12 47 136 77 0.35 $2.5M
2026-27 VAN 5 1 1 2 -3 4 8 9 0.40 $2.5M
7 seasons Career 328 52 54 106 -23 123 531 303 0.32

Playoffs

Playoff games only. Pick a season to see that year's bracket.

Season Team GP G A P +/- PIM Shots Hits P/GP
2021-22 PIT 2 0 0 0 -2 0 0 1 0.00
1 season Playoffs 2 0 0 0 -2 0 0 1 0.00

2026-27 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
5 1 1 2 -3 4 8 9 0.40 12.5 15:38

Contract

$2.5MCap hitends in 2027, then UFA
$1.25MCap dollars per point2 points in 5 games
$3.244MCap dollars per goal above replacement0.8 goals above replacement, projected
$1.5MWorth at the going ratewhat teams paid for a season like his
-$953KValueworth minus cap hit; below zero is overpaid

His cap hit for the whole season, set against what he did in the regular season. Lower is better value. In a season still being played the cost per point starts high and falls as the games add up. The season is still being played, so each rating is projected over the whole season: the games played so far, plus the games left at the rate of the last three seasons and this one. Value is coloured by where it ranks among the 648 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the Vancouver Canucks on Feb 18, 2025, as an extension of the contract he was on: 2 years and $5M, beginning in 2025-26. It runs through 2026-27, so this is its last season, after which he is an unrestricted free agent.

Season Cap hit Base salary Signing bonus Performance bonuses Paid in all Clause
2025-26 $2.5M $775K $2.075M $2.85M M-NTC
2026-27 $2.5M $2.15M $0 $2.15M M-NTC

Each season of the contract, with this one marked. The cap hit is the same every year; what he is paid is not. The pay is as written when the contract was recorded in October 2024, so a later change, such as the rise in the lowest salary for 2026-27, is not shown.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
Feb 18, 2025 Vancouver Canucks Extension 2025-26 to 2026-27 2 $5M $2.5M
Aug 2, 2023 Pittsburgh Penguins New contract 2023-24 to 2024-25 2 $1.85M $925K
Mar 12, 2022 Pittsburgh Penguins Extension 2022-23 to 2022-23 1 $750K $750K
Mar 10, 2020 Pittsburgh Penguins Entry-level 2020-21 to 2021-22 2 $3.55M $925K

Every contract on record for him, newest first, with the team that signed him to it and the day it was signed. The one covering 2026-27 is marked. An extension is signed while the contract before it is still running, often a year ahead. A row with no team or date is a contract known only by its cap hit, most often one signed since October 2024.

2026-27 analytics

Rating, projected over the full season

2026-27 is still being played, so these are a projection of his whole season, not a count so far: what he has done in 5 games (-0.6 goals above replacement), plus the 79 more he is taken to play, going by how much of his team's games he has played before, at a rate set by his last three seasons and this one. The more he plays, the more this season counts, and by the last game it is simply his season.

+0.8Goals above replacement433rd of 648 skaters, 308th of 423 forwards
+0.1Wins above replacementgoals above replacement divided by six
-2.7Goals above averagethe five parts below added up

Each number is coloured by where it ranks among the 423 ranked forwards: green is in the top fifth and red the bottom fifth, with paler shades in between and amber for the middle. Hover over a tile for its percentile.

Even-strength offence+1.2 63rd percentileEven-strength defence-2.5 10th percentilePower play-0.7 9th percentilePenalty kill-0.6 3rd percentilePenalties0.0 32nd percentile

The goals he added to his team's goal difference, compared with a spare-part player given the same ice time. Each part is measured against the league, so zero is an average skater, and the rank beside it is among forwards. A full season is about two-thirds the player and one-third chance.

-202462020-212021-222022-232023-242024-252025-262026-27Goals above replacementGoals above replacement, by season

On the ice

What happened at five-on-five while he was on the ice. What these numbers mean

44.0Corsi for %51 attempts for, 65 against
+3.1CF% relative to teamagainst the team without him
34.7Expected goals for %2.4 expected for, 4.4 against
-2.2xGF% relative to teamagainst the team without him
41.7Fenwick for %unblocked attempts
28.6Goals for %2 for, 5 against
94.8PDO9.1% shooting + 85.7% saves
12Attempts takenhis own shot attempts

These are left plain: he has not been on the ice enough to be ranked. That takes at least 200 shot attempts with him out there, about six or seven games, and a quarter of what the busiest skater has. Over a game or two these numbers are mostly chance.

Who he played with

Forward lineGPTimeCF%xGF%Goals
Linus Karlsson · Drew O'Connor · Max Sasson214:0334.530.01-3
Brendan Gallagher · Drew O'Connor · Aatu Räty29:3450.038.10-0
Brendan Gallagher · Drew O'Connor · Max Sasson36:4271.470.40-0
Drew O'Connor · Arshdeep Bains · Max Sasson25:5966.731.30-0

The lines he spent the most time in at five-on-five, with the team's share of the shot attempts and expected goals, and the goals for and against, while they were out. The two shares are coloured as above, against the league's lines that played a fair amount together. Hover over one for its percentile.

Chances and finishing

Expected goals adds up how likely each of his shots was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. All situations, leaving out shots at an empty net.

1Goalsnot counting empty-netters
1.0Expected goalsfrom 12 unblocked attempts
0.0Goals above expectedgoals minus expected goals
Chances created 0.78 expected goals per 60 minutes1st
Shot quality 8.5% chance per attempt1st
Finishing 0.0 goals above expected1stOne season of finishing is mostly luck.

Each bar shows the share of forwards he is ahead of, among the 0 who played 300 minutes or more this season.

00.51Expected 1.0Goals 1

His goals and his expected goals as the season went on. When the goals line pulls away above, he is scoring more than his chances were worth; below, less.

Where he shot from

Every attempt he took this season, in all situations, attacking the net on the right. There is a dot for each attempt, bigger for a better chance. "Show as heat map" shades the ice by where the attempts came from. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Oct 8, 2026 @ CAR L 2-7 0 0 0 -1 2 0 2 12:48
Oct 4, 2026 vs VGK L 2-3 0 0 0 0 0 3 0 16:30
Oct 3, 2026 vs CGY W 4-1 1 0 1 1 2 2 3 17:50
Oct 1, 2026 vs EDM L 7-9 0 0 0 -2 0 0 2 13:23
Sep 29, 2026 @ EDM W 6-5 (OT) 0 1 1 -1 0 3 2 17:40