Hockey Terminal
Be a GM

← All players

Photo of Ryan McLeod

Ryan McLeod

#71 · Centre · Buffalo Sabres

Born Sep 21, 1999 in Mississauga, Ontario, CAN (age 27) · 6'3", 198 lb · Shoots left · Drafted 40th overall in 2018 by EDM (round 2)

Compare with a similar player

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

Viktor Arvidsson BOS · 54 P in 69 GP Mats Zuccarello MIN · 54 P in 59 GP Brad Marchand FLA · 54 P in 52 GP Jackson Blake CAR · 53 P in 81 GP Alexander Wennberg SJS · 55 P in 80 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.

020402020-21: 1 points120-212021-22: 21 points2121-222022-23: 23 points2322-232023-24: 30 points3023-242024-25: 53 points5324-252025-26: 54 points5425-262026-27: 1 points126-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 EDM 10 0 1 1 -2 0 3 3 0.10 $834K
2021-22 EDM 71 9 12 21 -2 12 82 28 0.30 $834K
2022-23 EDM 57 11 12 23 4 18 78 40 0.40 $798K
2023-24 EDM 81 12 18 30 10 10 106 65 0.37 $2.1M
2024-25 BUF 79 20 33 53 13 16 97 17 0.67 $2.1M
2025-26 BUF 81 14 40 54 25 16 90 16 0.67 $5M
2026-27 BUF 5 0 1 1 -5 2 3 1 0.20 $5M
7 seasons Career 384 66 117 183 43 74 459 170 0.48

Playoffs

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

Season Team GP G A P +/- PIM Shots Hits P/GP
2020-21 EDM 4 0 0 0 -1 0 4 1 0.00
2021-22 EDM 16 3 1 4 -4 8 30 12 0.25
2022-23 EDM 12 0 5 5 -1 2 9 26 0.42
2023-24 EDM 24 4 0 4 -7 16 26 27 0.17
2025-26 BUF 13 1 4 5 -7 2 17 2 0.38
5 seasons Playoffs 69 8 10 18 -20 28 86 68 0.26

2025-26 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
81 14 40 54 25 16 90 16 0.67 15.6 17:37

Contract

$5MCap hitends in 2029
$93KCap dollars per point54 points in 81 games
$1.224MCap dollars per goal above replacement4.1 goals above replacement
$4.2MWorth at the going ratewhat teams paid for a season like his
-$765KValueworth 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 715 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the Buffalo Sabres on Jul 1, 2025, as a new contract: 4 years and $20M, beginning in 2025-26. It runs through 2028-29, with 3 seasons left after this one.

Season Cap hit
2025-26 $5M
2026-27 $5M
2027-28 $5M
2028-29 $5M

Each season left on the contract. Only its cap hit and its end are known: how the pay is split by season, and any signing bonus, are not.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
Jul 1, 2025 Buffalo Sabres New contract 2025-26 to 2028-29 4 $20M $5M
Aug 1, 2023 Edmonton Oilers New contract 2023-24 to 2024-25 2 $4.2M $2.1M
Sep 22, 2022 Edmonton Oilers New contract 2022-23 to 2022-23 1 $798K $798K
May 1, 2019 Edmonton Oilers Entry-level 2019-20 to 2021-22 3 $2.775M $834K

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 2025-26 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.

2025-26 analytics

Regular season Playoffs

Rating

+4.1Goals above replacement252nd of 715 skaters, 182nd of 476 forwards
+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 476 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+3.3 79th percentileEven-strength defence-1.4 23rd percentilePower play-1.0 5th percentilePenalty kill-0.8 4th percentilePenalties+0.1 39th 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.

02468102020-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

50.6Corsi for %999 attempts for, 974 against
+1.4CF% relative to teamagainst the team without him
53.4Expected goals for %52.9 expected for, 46.2 against
+3.1xGF% relative to teamagainst the team without him
50.4Fenwick for %unblocked attempts
56.8Goals for %63 for, 48 against
103.2PDO12.7% shooting + 90.4% saves
132Attempts takenhis own shot attempts

Each share is coloured by where it ranks among the 615 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

Forward lineGPTimeCF%xGF%Goals
Jason Zucker · Ryan McLeod · Jack Quinn49446:1752.755.329-18
Ryan McLeod · Jack Quinn · Zach Benson27140:5549.448.68-4
Alex Tuch · Ryan McLeod · Josh Doan19108:0660.267.310-6
Alex Tuch · Tage Thompson · Ryan McLeod638:0444.867.34-3

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.

11Goalsnot counting empty-netters
10.3Expected goalsfrom 134 unblocked attempts
+0.7Goals above expectedgoals minus expected goals
Chances created 0.43 expected goals per 60 minutes4th
Shot quality 7.7% chance per attempt28th
Finishing +0.7 goals above expected67thOne season of finishing is mostly luck.

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

0510Game 20Game 40Game 60Game 80Goals 11Expected 10.3

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
Apr 13, 2026 @ CHI W 5-1 1 0 1 1 0 1 0 16:08
Apr 9, 2026 vs CBJ W 5-0 0 0 0 1 0 0 0 15:53
Apr 8, 2026 @ NYR W 5-3 1 1 2 1 2 2 0 17:10
Apr 6, 2026 vs TBL W 4-2 0 1 1 3 0 0 0 17:31
Apr 4, 2026 @ WSH L 2-6 0 0 0 -3 0 0 0 16:53
Apr 2, 2026 @ OTT L 1-4 0 0 0 -1 2 1 0 20:41
Mar 31, 2026 vs NYI W 4-3 0 0 0 -1 0 2 0 18:38
Mar 28, 2026 vs SEA W 3-2 (SO) 0 0 0 -1 0 0 0 16:44
Mar 27, 2026 vs DET L 2-5 0 0 0 -1 0 0 0 18:26
Mar 25, 2026 vs BOS L 3-4 (OT) 0 0 0 -3 0 0 0 17:12
Mar 22, 2026 @ ANA L 5-6 (OT) 0 1 1 1 0 1 0 15:33
Mar 21, 2026 @ LAK W 4-1 0 0 0 0 0 0 0 11:52
Mar 19, 2026 @ SJS W 5-0 0 0 0 1 0 0 0 15:58
Mar 17, 2026 @ VGK W 2-0 0 0 0 0 0 0 1 16:58
Mar 14, 2026 vs TOR W 3-2 (SO) 0 1 1 -1 0 2 0 17:56
Mar 12, 2026 vs WSH L 1-2 0 0 0 -1 0 1 0 17:26
Mar 10, 2026 vs SJS W 6-3 0 3 3 4 0 1 0 17:02
Mar 8, 2026 vs TBL W 8-7 0 1 1 2 0 2 1 21:03
Mar 7, 2026 vs NSH W 3-2 0 0 0 0 2 0 0 17:32
Mar 5, 2026 @ PIT W 5-1 1 0 1 2 2 1 0 18:23
Mar 3, 2026 vs VGK W 3-2 0 1 1 1 0 2 0 15:51
Feb 28, 2026 @ TBL W 6-2 0 0 0 1 0 2 0 20:21
Feb 27, 2026 @ FLA W 3-2 0 1 1 0 0 1 0 15:58
Feb 25, 2026 @ NJD W 2-1 0 0 0 0 0 3 0 17:34
Feb 5, 2026 vs PIT L 2-5 0 1 1 0 0 1 0 20:01
Feb 3, 2026 @ TBL L 3-4 (OT) 0 1 1 0 0 2 0 19:31
Feb 2, 2026 @ FLA W 5-3 0 2 2 1 2 1 0 16:54
Jan 31, 2026 vs MTL L 2-4 0 0 0 0 2 2 0 17:38
Jan 29, 2026 vs LAK W 4-1 0 2 2 2 0 1 0 16:30
Jan 27, 2026 @ TOR W 7-4 0 1 1 0 0 0 1 13:36
Jan 24, 2026 @ NYI W 5-0 0 2 2 2 0 1 0 18:14
Jan 22, 2026 @ MTL W 4-2 0 1 1 1 0 0 1 20:53
Jan 20, 2026 @ NSH W 5-3 0 0 0 -1 0 0 0 19:30
Jan 19, 2026 @ CAR L 1-2 0 0 0 0 2 1 1 14:44
Jan 17, 2026 vs MIN L 4-5 (OT) 1 1 2 2 0 2 0 16:30
Jan 15, 2026 vs MTL W 5-3 0 0 0 0 0 1 1 18:29
Jan 14, 2026 vs PHI W 5-2 1 1 2 2 0 2 0 19:18
Jan 12, 2026 vs FLA L 3-4 0 1 1 1 0 0 0 17:55
Jan 10, 2026 vs ANA W 5-3 0 1 1 2 0 0 0 17:18
Jan 8, 2026 @ NYR W 5-2 1 1 2 2 0 2 0 17:30
Jan 6, 2026 vs VAN W 5-3 1 0 1 0 0 1 0 14:30
Jan 3, 2026 @ CBJ L 1-5 0 0 0 0 0 2 0 16:59
Dec 31, 2025 @ DAL W 4-1 0 0 0 0 0 1 0 16:35
Dec 29, 2025 @ STL W 4-2 0 1 1 0 0 3 1 17:09
Dec 27, 2025 vs BOS W 4-1 1 0 1 1 0 2 0 16:24
Dec 23, 2025 @ OTT W 3-2 (OT) 0 1 1 1 0 1 0 16:36
Dec 21, 2025 @ NJD W 3-1 0 1 1 2 0 2 0 14:47
Dec 20, 2025 vs NYI W 3-2 (SO) 0 0 0 0 0 0 1 17:06
Dec 18, 2025 vs PHI W 5-3 1 0 1 2 0 1 0 18:35
Dec 14, 2025 @ SEA W 3-1 0 1 1 1 0 0 0 16:00
Dec 11, 2025 @ VAN W 3-2 0 1 1 1 0 0 0 20:52
Dec 9, 2025 @ EDM W 4-3 (OT) 0 1 1 -1 0 2 0 22:37
Dec 8, 2025 @ CGY L 4-7 0 0 0 0 2 2 0 17:14
Dec 5, 2025 @ WPG L 1-4 0 0 0 0 0 0 0 18:13
Dec 3, 2025 @ PHI L 2-5 0 0 0 0 0 0 1 20:13
Dec 1, 2025 vs WPG W 5-1 0 0 0 1 0 1 0 16:01
Nov 29, 2025 @ MIN W 3-2 (SO) 0 0 0 0 0 0 2 21:43
Nov 28, 2025 vs NJD L 0-5 0 0 0 -3 0 2 0 17:43
Nov 26, 2025 @ PIT L 2-4 0 1 1 1 0 1 1 18:01
Nov 23, 2025 vs CAR W 4-1 0 2 2 2 0 1 1 16:14
Nov 21, 2025 vs CHI W 9-3 1 1 2 3 0 3 0 17:13
Nov 19, 2025 vs CGY L 2-6 0 0 0 -2 0 3 0 17:20
Nov 17, 2025 vs EDM W 5-1 0 0 0 0 0 2 0 16:35
Nov 15, 2025 @ DET W 5-4 (OT) 1 0 1 1 0 2 0 19:20
Nov 13, 2025 @ COL L 3-6 0 0 0 -1 0 1 0 15:40
Nov 12, 2025 @ UTA L 2-5 0 0 0 -2 0 0 0 15:19
Nov 8, 2025 @ CAR L 3-6 0 1 1 0 0 2 0 19:23
Nov 6, 2025 vs STL L 0-3 0 0 0 -1 0 1 0 19:04
Nov 4, 2025 vs UTA L 1-2 (OT) 0 0 0 -1 0 2 0 19:39
Nov 1, 2025 vs WSH W 4-3 (SO) 0 0 0 0 0 3 1 18:05
Oct 30, 2025 @ BOS L 3-4 (OT) 0 0 0 1 0 0 0 14:44
Oct 28, 2025 vs CBJ L 3-4 (OT) 1 0 1 1 0 1 0 16:17
Oct 25, 2025 @ TOR L 3-4 (OT) 0 1 1 -2 0 0 0 17:47
Oct 24, 2025 vs TOR W 5-3 0 1 1 2 0 1 0 20:03
Oct 22, 2025 vs DET W 4-2 0 2 2 0 0 0 0 17:57
Oct 20, 2025 @ MTL L 2-4 0 0 0 -1 0 2 1 19:58
Oct 18, 2025 vs FLA W 3-0 0 0 0 1 0 0 1 18:15
Oct 15, 2025 vs OTT W 8-4 2 0 2 3 0 5 0 17:28
Oct 13, 2025 vs COL L 1-3 0 0 0 -2 0 0 0 16:09
Oct 11, 2025 @ BOS L 1-3 0 0 0 0 0 0 0 19:08
Oct 9, 2025 vs NYR L 0-4 0 0 0 -3 0 2 0 18:22