Ryan Johnson2B
Corpus Christi Hooks
Age 25
R/R
5'11" / 175 lbs
AA
H +4%HR -3%
Svc 0.0 · Ctrl thru 2034
wRC+†39
AVG/OBP/SLG.167 / .236 / .280
PA146
HR3
K%45
BB%7
MLB%2%
Scouting · now → future
HIT
20→20
PWR
42→42
SPD
48→48
EYE
41→41
trajectory · 10 yrs
-0.5peak
2026
Contract
ESTIMATED · service-time + WAR-based estimator (needs verification)
Status MiLB
MLB Debut 2029
Service 0 yrs (est)
Team Control Through 2034
First FA Year 2027
DEF 10%
| Year | Status | Salary | Proj WAR | Value | Surplus |
| 2026 | MiLB | still in minors · estimated debut 2029 | |||
| 2027 | MiLB | still in minors · estimated debut 2029 | |||
| 2028 | MiLB | still in minors · estimated debut 2029 | |||
| 2029 | Arb-1 | $0.8M | — | — | — |
| 2030 | Arb-2 | $0.9M | — | — | — |
| 2031 | Arb-3 | $0.9M | — | — | — |
| 2032 | Ext / FA-deal | $0.2M | — | — | — |
| 2033 | Ext / FA-deal | $0.4M | — | — | — |
| 2034 | Ext / FA-deal | $0.6M | — | — | — |
| Totals | $-10M | $-32M | -$22M | ||
Underwater contract
Projected production over the remaining contract is worth -$22M less than the salary owed. Most often this reflects an aging-curve fade that was visible at signing — the team paid a premium for the early years.
Projected production over the remaining contract is worth -$22M less than the salary owed. Most often this reflects an aging-curve fade that was visible at signing — the team paid a premium for the early years.
Career Projections (MLE)
All seasons translated to park-neutral MLB-equivalent (MLE) and combined per year. 2026 = actual YTD + projected ROS + total. 2027+ via Advanced Marcel + aging curve.
| Year | Age | Lvl | Team | PA | AB | H | 2B | 3B | HR | BB | SO | HBP | SB | CS | AVG | OBP | SLG | OPS | ISO | BABIP | K% | BB% | wOBA | wRC+ | BAT | RUN | FLD | POS | REP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023 | 22 | A | Fayetteville Woodpeckers | 137 | 124 | 17 | 3 | 1 | 3 | 8 | 67 | 4 | 2 | 1 | .137 | .213 | .250 | .463 | .113 | .255 | 49 | 6 | .201 | 12 | -14 | +0 | +0 | +0 | +4 | -0.9 |
| 2024 | 23 | A+ | Asheville Tourists | 412 | 378 | 49 | 6 | 0 | 9 | 25 | 225 | 7 | 9 | 2 | .130 | .198 | .217 | .414 | .087 | .274 | 55 | 6 | .188 | 2 | -46 | +1 | +0 | +1 | +12 | -3.2 |
| 2025 | 24 | AA | 2 teams | 118 | 110 | 23 | 10 | 0 | 1 | 4 | 55 | 4 | 4 | 1 | .209 | .263 | .327 | .590 | .118 | .407 | 47 | 3 | .263 | 60 | -5 | +0 | +0 | +0 | +3 | -0.1 |
| ▸ 2026 Season | ||||||||||||||||||||||||||||||
| 2026 | 25 | MLB | HOU | 146 | 133 | 22 | 5 | 0 | 3 | 10 | 65 | 2 | 3 | 1 | .165 | .234 | .271 | .505 | .105 | .292 | 45 | 7 | .237 | 39 | -10 | +0 | +0 | +1 | +4 | -0.5 |
| ▸ 2027+ Projections — Projections at projected PA · Park-neutral MLB equivalent · Marcel + aging curve | ||||||||||||||||||||||||||||||
| 2027 | 26 | MLB 11% | HOU | 248 | 224 | 40 | 8 | 1 | 6 | 18 | 105 | 4 | 4 | 1 | .179 | .252 | .304 | .556 | .125 | .293 | 42 | 7 | .247 | 47 | -15 | +0 | +0 | +1 | +7 | -0.7 |
| 2028 | 27 | MLB 26% | HOU | 304 | 275 | 50 | 10 | 1 | 7 | 22 | 125 | 4 | 5 | 1 | .182 | .252 | .302 | .554 | .120 | .293 | 41 | 7 | .253 | 52 | -17 | +1 | +0 | +1 | +9 | -0.6 |
| 2029 | 28 | MLB 38% | HOU | 341 | 307 | 56 | 11 | 1 | 8 | 26 | 138 | 5 | 6 | 1 | .182 | .257 | .303 | .560 | .121 | .293 | 40 | 8 | .255 | 54 | -18 | +1 | -1 | +1 | +10 | -0.7 |
| 2030 | 29 | MLB 52% | HOU | 356 | 321 | 59 | 12 | 1 | 8 | 27 | 143 | 5 | 6 | 1 | .184 | .258 | .302 | .560 | .118 | .292 | 40 | 8 | .255 | 53 | -19 | +1 | -1 | +1 | +10 | -0.8 |
| 2031 | 30 | MLB 63% | HOU | 366 | 330 | 59 | 12 | 1 | 8 | 28 | 148 | 5 | 5 | 1 | .179 | .253 | .294 | .547 | .115 | .290 | 40 | 8 | .252 | 51 | -20 | +1 | -2 | +1 | +10 | -1.0 |
| 2032 | 31 | MLB 80% | HOU | 358 | 323 | 57 | 11 | 1 | 8 | 27 | 147 | 5 | 5 | 1 | .176 | .251 | .291 | .542 | .115 | .288 | 41 | 8 | .248 | 48 | -21 | +1 | -3 | +1 | +10 | -1.2 |
| 2033 | 32 | MLB | HOU | 343 | 310 | 54 | 11 | 1 | 7 | 26 | 142 | 4 | 4 | 0 | .174 | .247 | .284 | .531 | .110 | .286 | 41 | 8 | .243 | 44 | -22 | +1 | -4 | +1 | +10 | -1.4 |
| 2034 | 33 | MLB | HOU | 316 | 285 | 49 | 10 | 1 | 6 | 24 | 133 | 4 | 4 | 0 | .172 | .246 | .277 | .523 | .105 | .284 | 42 | 8 | .238 | 40 | -21 | +1 | -4 | +1 | +9 | -1.5 |
| 2035 | 34 | MLB | HOU | 274 | 249 | 41 | 8 | 1 | 5 | 20 | 118 | 3 | 3 | 0 | .165 | .235 | .265 | .500 | .100 | .282 | 43 | 7 | .232 | 36 | -20 | +1 | -5 | +1 | +8 | -1.6 |
| ▸ Career Totals (MLE all levels + projections) | ||||||||||||||||||||||||||||||
| Career | — | 3719 | 3369 | 576 | 117 | 10 | 79 | 265 | 1611 | 56 | 60 | 11 | .171 | .243 | .282 | .525 | .111 | .293 | 43 | 7 | .239 | 41 | -247 | +8 | -20 | +13 | +105 | -14.3 | ||
| / 162G | — | 650 | 589 | 101 | 20 | 2 | 14 | 46 | 282 | 10 | 10 | 2 | .171 | .243 | .284 | .527 | .112 | .294 | 43 | 7 | .239 | 41 | -43 | +1 | -3 | +2 | +18 | -2.5 | ||
Historical Stats — Raw (Per Stint)
Actual MLB + MiLB stats as they happened, one row per stint at each level. Use this to see what really got recorded; the table above shows MLB-equivalent translations + projections.
| Year | Age | Lvl | Team | PA | AB | H | 2B | 3B | HR | BB | SO | HBP | SB | CS | AVG | OBP | SLG | OPS | ISO | BABIP | K% | BB% | wOBA | wRC+ | BAT | RUN | FLD | POS | REP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023 | 22 | A | Fayetteville Woodpeckers | 137 | 120 | 23 | 5 | 1 | 4 | 12 | 48 | 4 | 2 | 1 | .192 | .287 | .350 | .637 | .158 | .275 | 35 | 9 | .288 | 78 | -3 | +0 | — | — | +4 | 0.1 |
| 2024 | 23 | A+ | Asheville Tourists | 412 | 362 | 73 | 10 | 0 | 14 | 41 | 170 | 7 | 9 | 2 | .202 | .295 | .345 | .640 | .144 | .328 | 41 | 10 | .291 | 81 | -9 | +1 | — | — | +12 | 0.4 |
| 2025 | 24 | AA | Corpus Christi Hooks | 98 | 92 | 23 | 9 | 0 | 2 | 4 | 40 | 2 | 1 | 1 | .250 | .296 | .413 | .709 | .163 | .420 | 41 | 4 | .315 | 99 | -0 | -0 | — | — | +3 | 0.3 |
| 2025 | 24 | A | Fayetteville Woodpeckers | 20 | 16 | 6 | 3 | 0 | 0 | 2 | 4 | 2 | 3 | 0 | .375 | .500 | .562 | 1.062 | .188 | .500 | 20 | 10 | .472 | 219 | +3 | +1 | — | — | +1 | 0.4 |
Career Path Comps
What happened to players with a similar stat profile at this age · Y-axis: wRC+ (100 = league avg, 150 = elite, 80 = below) · Bands: P10–P90 outer, P25–P75 inner · Gold: OGILVIE projection
| Scouting | At Match Age | Next 3 Yrs | Peak 3 Yrs | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Comp | Age | HIT | PWR | SPD | EYE | AVG/OBP/SLG | ISO | BABIP | HR | SB | K% | BB% | wRC+ | WAR | AVG/OBP/SLG | ISO | BABIP | HR | SB | K% | BB% | wRC+ | WAR | AVG/OBP/SLG | ISO | BABIP | HR | SB | K% | BB% | wRC+ | WAR |
| Ryan Johnson (OGILVIE) | 25 | 20 | 42 | 48 | 41 | .167/.236/.280 | .113 | .292 | 3 | 3 | 45% | 7% | 39 | -0.6 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
|
✕Marty Bechina 2022 · AAA |
25 | 35→34 | 45 | 47→45 | 31 | .179/.230/.302 | .123 | .296 | 13 | 8 | 42% | 5% | 41 | -2.3 | .186/.258/.305 | .119 | .310 | 12 | 9 | 41% | 7% | 55 | -1.4 | .167/.257/.278 | .111 | .280 | 12 | 8 | 41% | 8% | 44 | -1.4 |
|
✕Jack Conley 2022 · AAA |
25 | 35 | 41→45 | 50→45 | 39 | .177/.239/.273 | .095 | .270 | 8 | 7 | 36% | 7% | 37 | -2.6 | .200/.266/.312 | .112 | .290 | 11 | 7 | 33% | 7% | 59 | -1.1 | .191/.265/.302 | .110 | .270 | 10 | 5 | 31% | 8% | 52 | -0.8 |
|
✕Sean Coyle 2017 · AAA |
25 | 36 | 45→50 | 48→50 | 37 | .186/.248/.306 | .120 | .290 | 14 | 12 | 39% | 7% | 50 | -1.7 | .185/.245/.287 | .102 | .286 | 9 | 10 | 36% | 7% | 43 | -2.2 | .153/.212/.244 | .092 | .224 | 3 | 6 | 32% | 7% | 14 | -1.0 |
|
✕Jayson Langfels 2014 · AA |
25 | 42→32 | 43→40 | 46→50 | 37 | .201/.264/.310 | .109 | .312 | 11 | 11 | 37% | 6% | 58 | -1.2 | .206/.279/.294 | .088 | .335 | 7 | 14 | 38% | 7% | 60 | -1.0 | .202/.285/.272 | .070 | .341 | 4 | 17 | 38% | 8% | 54 | -0.8 |
|
✕Cadyn Grenier 2022 · AAA |
25 | 40→37 | 42→40 | 48→50 | 39 | .191/.265/.291 | .100 | .313 | 9 | 10 | 39% | 8% | 54 | -1.4 | .196/.279/.296 | .100 | .292 | 8 | 13 | 33% | 9% | 61 | -1.0 | .175/.272/.270 | .095 | .250 | 7 | 16 | 30% | 10% | 50 | -1.1 |
|
✕Jeremy Eierman 2022 · AA |
25 | 35→26 | 46→55 | 49→45 | 32 | .179/.235/.308 | .128 | .302 | 15 | 11 | 44% | 5% | 46 | -2.0 | .183/.237/.338 | .155 | .288 | 21 | 9 | 43% | 5% | 54 | -1.4 | .154/.206/.301 | .147 | .224 | 23 | 6 | 42% | 5% | 29 | -1.3 |
|
✕Joe Donovan 2023 · A |
24 | 35 | 44→45 | 51→40 | 35 | .177/.247/.290 | .113 | .289 | 12 | 7 | 41% | 6% | 46 | -2.0 | .195/.252/.305 | .110 | .307 | 10 | 5 | 38% | 5% | 52 | -1.6 | .196/.250/.311 | .115 | .294 | 10 | 0 | 35% | 4% | 49 | -0.7 |
|
✕Edwin Díaz 2021 · AA |
25 | 35→34 | 46→50 | 49→40 | 37 | .182/.244/.312 | .131 | .282 | 13 | 5 | 39% | 7% | 50 | -1.7 | .174/.231/.312 | .138 | .302 | 17 | 5 | 46% | 6% | 45 | -2.1 | .155/.221/.299 | .144 | .231 | 20 | 4 | 42% | 7% | 35 | -1.3 |
|
✕Blake Forsythe 2014 · AA |
25 | 36→35 | 45 | 49→30 | 39 | .186/.249/.310 | .124 | .279 | 12 | 3 | 37% | 7% | 51 | -1.7 | .195/.250/.307 | .112 | .309 | 11 | 4 | 38% | 6% | 51 | -1.7 | .180/.237/.276 | .096 | .295 | 10 | 0 | 40% | 7% | 34 | -1.2 |
|
✕Dylan Rosa 2021 · AA |
25 | 38→31 | 44→45 | 49→45 | 37 | .192/.247/.304 | .112 | .288 | 12 | 9 | 36% | 6% | 49 | -1.8 | .192/.246/.327 | .135 | .337 | 16 | 8 | 45% | 6% | 55 | -1.4 | .158/.215/.300 | .142 | .290 | 19 | 6 | 50% | 5% | 32 | -1.0 |
|
✕Bryan Arias 2022 · AA |
25 | 39 | 47→45 | 48→50 | 39 | .198/.264/.325 | .127 | .303 | 16 | 12 | 38% | 7% | 62 | -0.9 | .192/.269/.297 | .105 | .298 | 11 | 14 | 36% | 8% | 57 | -1.2 | .178/.267/.273 | .095 | .273 | 9 | 17 | 35% | 9% | 48 | -0.7 |
|
✕Jason Lopez 2022 · AA |
24 | 38 | 42→50 | 52→45 | 40 | .189/.250/.291 | .102 | .286 | 10 | 11 | 36% | 7% | 46 | -2.0 | .204/.266/.313 | .109 | .307 | 11 | 9 | 35% | 7% | 59 | -1.1 | .164/.224/.258 | .094 | .235 | 10 | 0 | 33% | 7% | 25 | -0.6 |
|
✕Ismael Alcantara 2023 · AA |
24 | 40→30 | 46→45 | 50 | 37 | .202/.259/.333 | .131 | .288 | 14 | 12 | 34% | 6% | 62 | -0.9 | .210/.268/.306 | .096 | .313 | 9 | 17 | 34% | 6% | 58 | -1.2 | .216/.274/.290 | .074 | .331 | 7 | 24 | 35% | 6% | 53 | -1.0 |
|
✕Toby Welk 2022 · AA |
25 | 39→33 | 44→45 | 48→45 | 42 | .196/.263/.315 | .118 | .271 | 12 | 9 | 31% | 7% | 59 | -1.1 | .204/.262/.318 | .114 | .295 | 12 | 7 | 33% | 7% | 59 | -1.1 | .195/.242/.316 | .121 | .282 | 13 | 0 | 35% | 5% | 50 | -0.5 |
|
✕Connor Lien 2019 · AA |
25 | 34→44 | 44→45 | 50→55 | 29 | .167/.225/.285 | .118 | .311 | 12 | 16 | 48% | 5% | 36 | -2.7 | .170/.240/.305 | .135 | .373 | 16 | 12 | 54% | 7% | 47 | -1.9 | .121/.208/.259 | .138 | .300 | 18 | 9 | 61% | 8% | 20 | -1.3 |
|
✕McCarthy Tatum 2022 · AA |
26 | 34→25 | 42→55 | 45→50 | 35 | .173/.235/.271 | .098 | .281 | 10 | 6 | 40% | 6% | 36 | -2.7 | .198/.254/.317 | .119 | .290 | 12 | 10 | 34% | 5% | 56 | -1.3 | .201/.254/.332 | .131 | .279 | 12 | 11 | 31% | 4% | 55 | -0.5 |
|
✕Grae Kessinger 2023 · AA |
25 | 34→29 | 46→45 | 49→50 | 44 | .182/.254/.300 | .117 | .244 | 15 | 18 | 31% | 8% | 52 | -1.6 | .203/.279/.317 | .114 | .274 | 13 | 12 | 29% | 9% | 66 | -0.6 | .204/.281/.310 | .106 | .271 | 11 | 8 | 28% | 9% | 64 | -0.4 |
|
✕Seth Gray 2023 · AA |
25 | 38 | 44→45 | 47→50 | 38 | .186/.263/.294 | .108 | .300 | 13 | 8 | 40% | 7% | 54 | -1.4 | .205/.282/.312 | .107 | .343 | 12 | 13 | 40% | 8% | 66 | -0.6 | .202/.287/.300 | .098 | .353 | 11 | 19 | 41% | 9% | 62 | -0.5 |
|
✕Will Wilson 2022 · AA |
24 | 37→39 | 47→50 | 51→45 | 38 | .192/.256/.327 | .136 | .292 | 16 | 8 | 38% | 7% | 59 | -1.1 | .200/.260/.331 | .131 | .283 | 16 | 6 | 34% | 7% | 62 | -0.9 | .193/.253/.304 | .111 | .257 | 14 | 4 | 30% | 7% | 49 | -1.3 |
|
✕Marcus Chiu 2022 · A |
25 | 38→27 | 45 | 43→45 | 36 | .181/.266/.304 | .123 | .322 | 14 | 5 | 44% | 7% | 59 | -1.1 | .202/.270/.326 | .124 | .305 | 14 | 5 | 37% | 6% | 66 | -0.6 | .184/.254/.305 | .121 | .274 | 15 | 3 | 37% | 5% | 50 | -1.2 |