Hockey Terminal
Be a GM

← All players

Photo of Ryan Graves

Ryan Graves

#27 · Defence · Pittsburgh Penguins

Born May 21, 1995 in Yarmouth, Nova Scotia, CAN (age 31) · 6'5", 228 lb · Shoots left · Drafted 110th overall in 2013 by NYR (round 4)

Compare with a similar player

The defencemen closest to him in points in 2019-20. Pick one to see the two side by side, or choose someone else.

Ian Cole COL · 26 P in 65 GP Jakob Chychrun ARI · 26 P in 63 GP John Marino PIT · 26 P in 56 GP Dmitry Orlov WSH · 27 P in 69 GP Travis Sanheim PHI · 25 P in 69 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.

010202018-19: 5 points518-192019-20: 26 points2619-202020-21: 15 points1520-212021-22: 28 points2821-222022-23: 26 points2622-232023-24: 14 points1423-242024-25: 4 points424-252025-26: 1 points125-26

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

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2018-19 COL 26 3 2 5 4 2 26 32 0.19 $650K
2019-20 COL 69 9 17 26 40 45 134 112 0.38 $735K
2020-21 COL 54 2 13 15 15 55 101 77 0.28 $3.167M
2021-22 NJD 75 6 22 28 -9 24 111 90 0.37 $3.167M
2022-23 NJD 78 8 18 26 34 28 141 83 0.33 $3.167M
2023-24 PIT 70 3 11 14 10 30 77 72 0.20 $4.5M
2024-25 PIT 61 1 3 4 -15 29 39 75 0.07 $4.5M
2025-26 PIT 22 1 0 1 -3 10 21 23 0.05 $4.5M
8 seasons Career 455 33 86 119 76 223 650 564 0.26

Playoffs

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

Season Team GP G A P +/- PIM Shots Hits P/GP
2019-20 COL 12 0 2 2 6 6 29 23 0.17
2020-21 COL 10 1 5 6 5 10 15 14 0.60
2022-23 NJD 10 0 1 1 -1 4 9 6 0.10
3 seasons Playoffs 32 1 8 9 10 20 53 43 0.28

2019-20 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
69 9 17 26 40 45 134 112 0.38 6.7 18:57

Contract

$735KCap hitends in 2020
$28KCap dollars per point26 points in 69 games
$174KCap dollars per goal above replacement4.2 goals above replacement
$4.2MWorth at the going ratewhat teams paid for a season like his
+$3.5MValueworth 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. Value is coloured by where it ranks among the 668 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the Colorado Avalanche on Jul 8, 2019, as a new contract: 1 year and $735K, beginning in 2019-20. It runs through 2019-20, so this is its last season.

Season Cap hit Base salary Signing bonus Performance bonuses Paid in all Clause
2019-20 $735K $735K $0 $735K

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
Jul 1, 2023 Pittsburgh Penguins New contract 2023-24 to 2028-29 6 $27M $4.5M
Oct 12, 2020 Colorado Avalanche New contract 2020-21 to 2022-23 3 $9.5M $3.167M
Jul 8, 2019 Colorado Avalanche New contract 2019-20 to 2019-20 1 $735K $735K
Jul 16, 2018 Colorado Avalanche New contract 2018-19 to 2018-19 1 $650K $650K
Mar 17, 2014 New York Rangers Entry-level 2015-16 to 2017-18 signed for 2014-15, slid 3 $2.54M $657K

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 2019-20 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.

2019-20 analytics

Regular season Playoffs

Rating

+4.2Goals above replacement211th of 670 skaters, 58th of 231 defencemen
+0.7Wins above replacementgoals above replacement divided by six
-0.1Goals above averagethe five parts below added up

Each number is coloured by where it ranks among the 231 ranked defencemen: 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+0.4 74th percentileEven-strength defence+1.7 81st percentilePower play+0.3 87th percentilePenalty kill-0.3 19th percentilePenalties-2.2 3rd 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 defencemen. A full season is about two-thirds the player and one-third chance. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

-2024682018-192019-202020-212021-222022-232023-242024-252025-26Goals 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

51.1Corsi for %999 attempts for, 956 against
-0.8CF% relative to teamagainst the team without him
50.8Expected goals for %40.9 expected for, 39.7 against
-2.4xGF% relative to teamagainst the team without him
51.0Fenwick for %unblocked attempts
63.3Goals for %62 for, 36 against
104.4PDO11.4% shooting + 93.1% saves
241Attempts takenhis own shot attempts

Each share is coloured by where it ranks among the 583 skaters who played enough to be ranked: 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. PDO and attempts taken are left plain, since neither is good or bad on its own.

Who he played with

Defence pairGPTimeCF%xGF%Goals
Ryan Graves · Cale Makar50486:3153.754.729-14
Ian Cole · Ryan Graves44149:1252.052.913-5
Ryan Graves · Samuel Girard51132:0351.652.76-3
Erik Johnson · Ryan Graves50119:4849.248.38-6

The pairs 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 pairs 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. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

8Goalsnot counting empty-netters
5.5Expected goalsfrom 177 unblocked attempts
+2.5Goals above expectedgoals minus expected goals
Chances created 0.25 expected goals per 60 minutes72nd
Shot quality 3.1% chance per attempt55th
Finishing +2.5 goals above expected89thOne season of finishing is mostly luck.

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

02468Game 20Game 40Game 60Goals 8Expected 5.5

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. Darker red means more attempts from that spot, and each dot is a goal. "Show every shot" switches to a dot for each attempt, bigger for a better chance. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Mar 11, 2020 vs NYR W 3-2 (OT) 0 0 0 -2 0 1 2 23:30
Mar 9, 2020 @ LAK L 1-3 0 0 0 -2 0 3 3 23:10
Mar 8, 2020 @ SJS W 4-3 0 0 0 1 0 1 1 22:50
Mar 6, 2020 @ VAN L 3-6 0 0 0 -1 0 2 3 24:19
Mar 4, 2020 vs ANA L 3-4 (OT) 0 0 0 0 0 0 3 26:43
Mar 2, 2020 @ DET W 2-1 0 1 1 0 2 3 0 20:08
Feb 29, 2020 @ NSH W 3-2 0 0 0 0 0 1 1 22:04
Feb 28, 2020 @ CAR W 3-2 0 0 0 1 0 2 1 21:57
Feb 26, 2020 vs BUF W 3-2 0 0 0 0 2 3 2 18:58
Feb 22, 2020 @ LAK W 2-1 (SO) 1 0 1 1 0 3 2 18:13
Feb 21, 2020 @ ANA W 1-0 0 0 0 0 2 1 1 17:50
Feb 19, 2020 vs NYI W 3-1 0 1 1 1 0 2 1 17:58
Feb 17, 2020 vs TBL L 3-4 (OT) 0 0 0 0 2 1 2 19:22
Feb 15, 2020 vs LAK L 1-3 0 0 0 0 0 1 2 19:23
Feb 13, 2020 vs WSH L 2-3 0 0 0 0 0 3 1 19:16
Feb 11, 2020 vs OTT W 3-0 0 1 1 2 0 1 1 16:27
Feb 9, 2020 @ MIN W 3-2 0 1 1 1 0 1 1 20:39
Feb 8, 2020 @ CBJ W 2-1 0 0 0 1 0 1 1 19:16
Feb 6, 2020 @ OTT W 4-1 0 1 1 1 0 5 2 22:47
Feb 4, 2020 @ BUF W 6-1 0 1 1 4 2 1 2 20:43
Feb 1, 2020 @ PHI L 3-6 0 0 0 -2 0 1 1 19:46
Jan 20, 2020 vs DET W 6-3 1 1 2 2 0 5 3 18:35
Jan 18, 2020 vs STL W 5-3 0 0 0 1 0 3 0 21:00
Jan 16, 2020 vs SJS W 4-0 1 0 1 1 0 4 0 16:40
Jan 14, 2020 vs DAL L 2-3 (OT) 0 1 1 1 0 1 1 21:28
Jan 10, 2020 vs PIT L 3-4 (OT) 0 0 0 -1 0 3 1 20:26
Jan 7, 2020 @ NYR L 3-5 0 0 0 0 0 1 1 21:16
Jan 6, 2020 @ NYI L 0-1 0 0 0 -1 0 2 3 21:36
Jan 4, 2020 @ NJD W 5-2 0 0 0 2 2 0 2 18:03
Jan 2, 2020 vs STL W 7-3 0 0 0 0 0 1 2 21:39
Dec 31, 2019 vs WPG L 4-7 0 0 0 0 0 1 2 18:37
Dec 28, 2019 @ DAL L 2-3 (SO) 0 0 0 2 0 7 3 24:03
Dec 27, 2019 vs MIN L 4-6 0 0 0 1 2 4 1 18:39
Dec 23, 2019 @ VGK W 7-3 0 0 0 2 0 5 5 19:56
Dec 21, 2019 vs CHI L 3-5 1 1 2 2 2 3 4 22:01
Dec 19, 2019 vs CAR L 1-3 0 0 0 0 0 1 0 20:54
Dec 18, 2019 @ CHI W 4-1 0 0 0 0 0 2 3 22:32
Dec 16, 2019 @ STL L 2-5 0 1 1 -1 0 2 1 22:55
Dec 13, 2019 vs NJD W 3-1 0 0 0 0 0 3 1 19:09
Dec 11, 2019 vs PHI W 3-1 0 0 0 1 0 2 2 21:46
Dec 9, 2019 vs CGY L 4-5 (OT) 1 1 2 3 0 3 1 21:33
Dec 7, 2019 @ BOS W 4-1 0 0 0 1 2 3 4 21:56
Dec 5, 2019 @ MTL W 3-2 1 0 1 1 0 3 1 18:18
Dec 4, 2019 @ TOR W 3-1 0 0 0 1 0 2 3 20:01
Nov 30, 2019 vs CHI W 7-3 0 1 1 2 4 1 0 17:14
Nov 29, 2019 @ CHI W 5-2 1 0 1 3 5 2 1 16:43
Nov 27, 2019 vs EDM W 4-1 0 1 1 2 0 3 2 15:05
Nov 23, 2019 vs TOR L 3-5 0 0 0 -2 0 0 0 11:48
Nov 21, 2019 @ MIN L 2-3 0 0 0 0 0 1 1 17:41
Nov 19, 2019 @ CGY W 3-2 0 0 0 2 0 2 0 16:46
Nov 16, 2019 @ VAN W 5-4 (OT) 0 0 0 1 4 1 0 12:39
Nov 14, 2019 @ EDM L 2-6 0 0 0 0 6 4 4 17:12
Nov 12, 2019 @ WPG W 4-0 0 0 0 1 0 3 3 19:36
Nov 9, 2019 vs CBJ W 4-2 0 1 1 0 2 1 2 17:08
Nov 7, 2019 vs NSH W 9-4 1 2 3 2 2 4 3 20:11
Nov 5, 2019 @ DAL L 1-4 0 0 0 0 0 2 2 15:20
Nov 2, 2019 @ ARI L 0-3 0 0 0 0 0 0 0 13:03
Nov 1, 2019 vs DAL L 1-2 0 0 0 0 0 0 1 11:24
Oct 26, 2019 vs ANA L 2-5 0 0 0 -1 0 1 0 13:53
Oct 25, 2019 @ VGK W 6-1 0 0 0 0 0 0 1 18:35
Oct 21, 2019 @ STL L 1-3 0 0 0 0 0 2 1 13:22
Oct 19, 2019 @ TBL W 6-2 0 0 0 2 0 0 3 20:01
Oct 18, 2019 @ FLA W 5-4 (OT) 0 0 0 1 0 0 0 14:57
Oct 16, 2019 @ PIT L 2-3 (OT) 0 0 0 -1 0 1 6 18:00
Oct 14, 2019 @ WSH W 6-3 0 0 0 -1 0 1 1 18:18
Oct 12, 2019 vs ARI W 3-2 (OT) 0 0 0 0 2 1 1 13:35
Oct 10, 2019 vs BOS W 4-2 0 0 0 1 0 3 1 17:24
Oct 5, 2019 vs MIN W 4-2 1 0 1 3 2 1 0 14:56
Oct 3, 2019 vs CGY W 5-3 0 1 1 1 0 2 2 13:50