The simulator expects 0.484 bases allowed per batter faced against him — better than 10th percentile of qualified pitchers. The soft spot is HR Suppression (5th percentile).
295 batters faced · data through 2026-08-22.
▸How to read this chart
Each spoke is a skill estimate adjusted for sample size (not raw season stats), so farther out = better. Spokes are the metric itself; ↓ marks a rate where a LOWER number is better. Percentiles vs. 464 qualified pitchers — 100+ batters faced, starters and relievers pooled.
Plays like…
Same archetype, nearest by rate — pick one to see him side by side with Ryan Johnson.
Where he sits among qualified pitchers on the two skills that separate styles.
▸How to read this chart
Two skills separate pitching styles: finishing hitters without free passes (strikeout rate minus walk rate) and keeping the contact they do allow soft (hard-hit rate against). Every dot is a qualified pitcher this season; dot size tracks batters faced. Click any dot to open that pitcher's page.
Ryan Johnson
League median
Percentile
Bases per ball in play(lower = better)
.550
.528
10th
Walk rate(lower = better)
10%
9%
29th
Strikeout rate(higher = better)
19%
22%
13th
100th percentile = best in MLB.
Arsenal
What he throws, and what it does
Ryan Johnson mixes his cutter (35%) and splitter (23%). His best pitch has been the cutter, saving 1.0 bases per 100 thrown vs average.
Pitch mix & swing-and-miss
▲ +18 bases better than a replacement arm this season
allowed 146 bases vs a replacement arm's 164 over the same batters faced
Replacement level is per-batter and can't be split by pitch type, so the bars below use league average.
Bases vs average
All pitches
16.8 bases cost vs league average, across 1,174 pitches — 1.4 per 100.
Lg avg
Cutter
35%
89.6 mph · RHP median 90.1
23% whiffs · Lg median 22%
saved 1.0 per 1004.1 total
Splitter
23%
84.7 mph · RHP median 86.8
34% whiffs · Lg median 34%
saved 0.9 per 1002.5 total
Sinker
22%
92.2 mph · RHP median 94.7
3% whiffs · Lg median 13%
cost 8.1 per 10021.1 total
Sweeper
20%
80.4 mph · RHP median 83.5
33% whiffs · Lg median 30%
cost 1.0 per 1002.3 total
▸How to read this chart
What they throw, how hard, and what misses bats — from pitch tracking, regular season only.
Mix by batter side
Cutter
35% vs LHH · RHP median 19%
35% vs RHH · RHP median 19%
Splitter
33% vs LHH · RHP median 32%
10% vs RHH · RHP median 16%
Sinker
21% vs LHH · RHP median 17%
25% vs RHH · RHP median 34%
Sweeper
12% vs LHH · RHP median 18%
31% vs RHH · RHP median 29%
▸How to read this chart
How the mix shifts against lefty and righty bats. Medians are among right-handed pitchers who throw that pitch at least 3% of the time — between 40 and 191 of them, depending on the pitch. Overall results by batter side are under Platoon splits.
Ryan Johnson's pitch movement, 2026
His Sinker and Sweeper have moved 2+ inches from their early-season shapes.
Compared with his own earlier outings this season, not with other pitchers — and after taking out the drift every pitch in the league shows through midsummer.
Pitch
Risein · vs Lg median
Breakin · vs Lg median
Vs. early season
CutterFC
Rise 9.0 in
+1.5 vs Lg median
Break −2.0 in
+0.1 vs Lg median
Vs. early season steady
SplitterFS
Rise 2.0 in
−0.4 vs Lg median
Break 14.0 in
+2.7 vs Lg median
Vs. early season steady
SinkerSI
Rise 7.1 in
−1.2 vs Lg median
Break 13.4 in
−1.9 vs Lg median
Vs. early season changed
SweeperST
Rise 6.4 in
+5.5 vs Lg median
Break −7.5 in
+6.4 vs Lg median
Vs. early season changed
Early season → nowLg medianCurrent-dot uncertainty
▸How to read this chart
Each dot is a pitch's current shape — horizontal break (arm side vs. glove side) by induced vertical break (rise vs. drop). Both axes are in inches of break. The trail runs from this season's earliest tracked outings — the faint, thin end — up to today's solid dot; a trail with only a few segments just means fewer tracked outings. The soft halo around each dot is how far that dot could sit off on its own, just from ordinary outing-to-outing wobble. Don't read a long trail as proof on its own that a pitch changed. Every pitch in baseball loses a little break through midsummer and gets it back by September — the same shift two full seasons back agree on — and the trail shows that league-wide seasonal swing alongside whatever this pitcher did himself. The sentence at the top of this card has the league's share taken out, so it can read “has not moved” above a trail that looks long. That is the two marks measuring different things, not a mistake. A pitch counts as changed only once it sits at least two inches from its own early-season shape — a verdict about this pitcher against himself, never a comparison with anyone else. League median: the small hollow ring marks it, on the same two measurements. Where it sits far from a pitch's dot, a line joins the two — and on a wider screen the ring carries that pitch's code as well — so a distant ring is never orphaned; where it sits close, neither is drawn, because the pairing is already obvious. League median is missing entirely for a pitch marked *: too few pitchers throw it for one to be worth setting, so it is plotted without a reference ring. For the exact dates a pitch changed, see the by-appearance chart below.
By appearance
How the stuff has held up outing to outing
One point per outing — how his velocity, movement, and pitch mix have moved across the season, with league context for scale. Each pitch keeps the same color in every chart.
Platoon splits
How he fares against lefties and righties
Platoon splits (EB/PA allowed)
Better vs RHB than vs LHB by 0.039 EB/PA allowed (modeled).
50% probable range: +0.030 to +0.046
vs LHB171 PA0.504
vs LHB: shrunk estimate 0.504 EB/PA, 50% probable range 0.485 to 0.524, based on 171 plate appearances. Raw (unshrunk) rate: 0.496 EB/PA. League median vs LHB: 0.454 EB/PA.
Lg median
vs RHB125 PA0.466
vs RHB: shrunk estimate 0.466 EB/PA, 50% probable range 0.445 to 0.484, based on 125 plate appearances. Raw (unshrunk) rate: 0.525 EB/PA. League median vs RHB: 0.440 EB/PA.
Lg median
0.4290.4550.4820.5080.534
← betterworse →
Below league medianAbove50% probable rangeHis raw rateMiddle half of the league
About the typical split for a righty arm (median 0.040). He allows more than the league median against both sides.
▸How to read this chart
Tap or hover any mark for its number, or tab to a row for all of them.
His raw rate is the unshrunk number against that side — small samples make it noisy, which is why the model pulls his estimate toward a more trustworthy value.
“Middle half of the league” is the 25th–75th percentile of all pitchers against that side.
These are bases allowed, so lower is better. Weighted by how often he faces each side, the two splits average back to his modeled overall EB/PA allowed — not the xEB/PA headline at the top of the page, which folds in strikeouts and walks differently.
Shrunk splits beat raw splits on held-out seasons, most decisively at low batters-faced counts (relievers especially), and converge with the raw numbers as exposure builds.
Contact allowed
What hitters do when they connect
Batters go to the pull side off him most often, and that's where the hardest contact comes from.
Pull and oppo are relative to each batter's stance, so this pools all the hitters he faced.
Batted balls allowed
Where every ball hit off Ryan Johnson landed this season.
Dot color is estimated bases (EB) — what the contact was worth, regardless of what the defense did with it. So a dark hollow ring in the outfield is a crushed ball his defense ran down. Tap or hover a dot or a row to link the two, and use the ▶ links to watch a play on Baseball Savant.
Earned vs. actual
Results have matched the contact quality — batters have been credited about what they earned off Ryan Johnson.
Earned off his contact allowed116
Actually credited to batters119
over 210 balls in play · walks and strikeouts excluded on both sides
▸How to read this chart
Every ball in play is worth the bases its exit velocity and direction usually earn. Comparing those earned bases with the bases batters were actually credited shows whether his results have been lucky, unlucky, or fair.
ERA 5.75 · WHIP 1.43 · BABIP against 0.253 (Lg median 0.286)
Best games
His biggest outings this year
Best games
His best outings this season by bases saved vs a replacement arm.