Ryan Johnson#33
D with Buffalo, 2023–24 to 2025–26
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 breakdownCareer With Buffalo
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
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.
| Season ▴ | Age | GP | G | A | PTS | +/- | PIM | Pen +/-/60 | PP | SH | GWG | SOG | S% | FO% | TOI/G | P/60 | ixG | xG/60 | GAx | CF% | FF% | GF% | xG% | PDO |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023–24 | 22 | 41 | 0 | 7 | 7 | +3 | 12 | -0.42 | 0 | 0 | 0 | 35 | 0.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–25 | 23 | 3 | 0 | 0 | 0 | -2 | 4 | -2.26 | 0 | 0 | 0 | 3 | 0.0% | 0.0% | 17:40 | 0.00 | 0.3 | 0.32 | -0.3 | 42.3% | 48.6% | 0.0% | 43.1% | 0.857 |
| 2025–26 | 24 | 3 | 0 | 0 | 0 | 0 | 2 | -2.22 | 0 | 0 | 0 | 0 | – | 0.0% | 9:00 | 0.00 | 0.0 | 0.04 | 0.0 | 41.4% | 43.9% | 50.0% | 52.1% | 1.024 |
| Total | 47 | 0 | 7 | 7 | +1 | 18 | – | 0 | 0 | 0 | 38 | 0.0% | – | 13:48 | 0.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.
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 Together ▾ | CF% | xGF% | CF% | xGF% | Δ CF% | Δ xGF% | ||||
| Bryson | 20:49 | 44.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 Length | Shifts | CF% | xG% | GF | GA |
|---|---|---|---|---|---|
| Quick (<0:30) | 6 | 50.0% | 100.0% | 0 | 0 |
| Short (0:30-0:45) | 8 | 37.5% | 91.5% | 1 | 0 |
| Typical (0:45-1:00) | 10 | 25.0% | 18.9% | 0 | 0 |
| Long (1:00+) | 10 | 54.2% | 36.1% | 0 | 1 |