Ryan Johnson#33

D with Buffalo, 2023–24 to 2025–26

No. 33Shoots LHeight 6'1"Weight 195 lbsBorn July 24, 2001Hometown Newport Beach, CA, USA
On-Ice Impact, 2025–26 5v5
52.1%
xGF% ON ICE
41.4%
CF% ON ICE

On-ice PDO 1.024 (5v5 on-ice shooting plus save percentage). PDO over one season is noisy, it regresses hard toward 1.000, so read it as recent puck luck rather than a skill.

See the full teammate breakdown
Playoffs

Career With Buffalo

47 games, 3 seasons
0
G
408th all-time
7
A
300th all-time
7
PTS
341st all-time
18
PIM
336th all-time
13:48
TOI/G

All-time is the rank among the 529 skaters with a regular-season game for Buffalo since 1970–71. Ties share a rank.

Season by Season

Chart:
Drag to zoom

These stats don’t share a natural scale, so each line is normalized to its own 0-100% range for shape comparison. Hover a point for its real value.

0202320242025SeasonGoalsaging curve

The dashed line is a league-typical aging curve for a defenseman, scaled to this player's own level. Above it means producing more than a typical player that age; the line falling away faster than the curve means declining faster than the aging curve alone would explain.

SeasonAgeGPGAPTS+/-PIMPen +/-/60PPSHGWGSOGS%FO%TOI/GP/60ixGxG/60GAxCF%FF%GF%xG%PDO
2023–242241077+312-0.42000350.0%0.0%13:52
0.74
42nd pct
1.4
0.14
36th pct
-1.4
25th pct
52.6%
89th pct
52.1%56.4%53.1%1.010
2024–25233000-24-2.2600030.0%0.0%17:400.000.30.32-0.342.3%48.6%0.0%43.1%0.857
2025–2624300002-2.2200000.0%9:000.000.00.040.041.4%43.9%50.0%52.1%1.024
Total47077+118000380.0%13:480.65

pct under a P/60, xG/60, GAx and CF% figure is where that season ranks, as a percentile, among every Sabres defenseman season since 2016–17 with at least 12 games; a season under that floor isn't ranked. xG/60, GAx and CF% come from this site's own xG model and shift-chart reconstruction, not an NHL feed; P/60 is from official NHL totals. Higher is better throughout.

Actual vs Expected

One row per season: the gold dot is the expected total, the navy dot is what actually happened.

xGGoals
011222023–242023–24: 1.4 xG2023–24: 0 Goals (-1.4 vs expected)0 / 1.42024–252024–25: 0.3 xG2024–25: 0 Goals (-0.3 vs expected)0 / 0.32025–262025–26: 0.0 xG2025–26: 0 Goals (0.0 vs expected)0 / 0.0

Shot Map

Every shot attempt across every season shown here, to scale, always attacking right. Pick one season to see that year alone, or leave it on Career for the full picture.

xG range
Shot on goal (size = xG)GoalMissed shot×Blocked shot

With or Without You

Buffalo's 5v5 shot-attempt (CF%) and expected-goal (xGF%) share with Johnson on the ice, split by whether each teammate was out there too. Δ is the with-minus-apart gap: a positive number means the pair drove play better together than Johnson did without that teammate. That gap is always measured from the named player's side, so the same pair can read positive on one player's table and negative on the other's. 2025–26 regular season, minimum 20:00 together. Together counts every 5v5 second the two share, whoever else is on the ice, so a pair's time and xGF% here differ slightly from the Line Combinations table, which counts only the seconds that exact pair or trio was the unit.

Teammate
TOGETHER
JOHNSON APART
IMPACT
TOI TogetherCF%xGF%CF%xGF%Δ CF%Δ xGF%
Bryson
20:4944.0%58.3%
25.0%26.8%
+19.0+31.5

Shift Rhythm Profile

How Johnson's shift length lines up with on-ice results, 2025–26 regular season. A shift under 0:30 is a quick change, usually right off a whistle. 0:30 to 0:45 is a short shift and 0:45 to 1:00 a typical one. 1:00 or more is a long shift, more likely during a delayed line change, a d-zone lockdown, or a penalty kill that ran long. Shift length is an outcome before it is a cause: a shift runs long because the unit could not change. Most of a long shift is ordinary play, though; the stretch past the one-minute mark is where a unit is really pinned, and each game page counts that time on its own. Empty-net goals against are left out.

7 of 10 of Johnson's shifts over a minute were hemmed-in shifts (mostly even strength, more than 60 seconds of unbroken play).

Shift LengthShiftsCF%xG%GFGA
Quick (<0:30)650.0%100.0%00
Short (0:30-0:45)837.5%91.5%10
Typical (0:45-1:00)1025.0%18.9%00
Long (1:00+)1054.2%36.1%01
0:48
AVG SHIFT
0
PP SHIFTS
3
PK SHIFTS
+3s
LONG-CHANGE GAP
7
HEMMED-IN SHIFTS
2
SHORT-REST SHIFTS