Ryan StaffordC
Frederick Keys
Age 23
R/R
5'10" / 180 lbs
A+
HR +8%BB -5%
Svc 0.0 · Ctrl thru 2035
peak 1.1 · 2030
wRC+†54
AVG/OBP/SLG.195 / .275 / .289
PA320
HR4
SB12
K%30
BB%8
MLB%0%
Scouting · now → future
HIT
25→25
PWR
25→25
SPD
60→60
EYE
49↗50
trajectory · 10 yrs
1.1peak
2030
Contract
ESTIMATED · service-time + WAR-based estimator (needs verification)
Status MiLB
MLB Debut 2030
Service 0 yrs (est)
Team Control Through 2035
First FA Year 2036
| Year | Status | Salary | Proj WAR | Value | Surplus |
| 2026 | MiLB | still in minors · estimated debut 2030 | |||
| 2027 | MiLB | still in minors · estimated debut 2030 | |||
| 2028 | MiLB | still in minors · estimated debut 2030 | |||
| 2029 | MiLB | still in minors · estimated debut 2030 | |||
| 2030 | Arb-2 | $0.9M | +1.1 | $10M | +$9M |
| 2031 | Arb-3 | $0.9M | +1.0 | $9M | +$8M |
| 2032 | Ext / FA-deal | $0.9M | +0.8 | $4M | +$3M |
| 2033 | Ext / FA-deal | $1M | +0.6 | $3M | +$2M |
| 2034 | Ext / FA-deal | $1M | +0.3 | $2M | +$0.5M |
| 2035 | Ext / FA-deal | $7M | +0.1 | $0.5M | -$7M |
| Totals | $12M | $28M | +$16M | ||
Why some years run red
On long-term deals the salary is locked in regardless of how the player ages. Late years are red whenever projected production drops below the AAV — that's expected, not a sign the deal is bad. The honest scorecard is the Net Surplus over the whole contract, not any single year.
On long-term deals the salary is locked in regardless of how the player ages. Late years are red whenever projected production drops below the AAV — that's expected, not a sign the deal is bad. The honest scorecard is the Net Surplus over the whole contract, not any single year.
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 21 | A | 2 teams | 82 | 70 | 17 | 2 | 0 | 0 | 6 | 27 | 3 | 10 | 1 | .243 | .329 | .271 | .601 | .029 | .370 | 33 | 7 | .269 | 64 | -3 | +2 | +0 | +1 | +2 | 0.2 |
| 2025 | 22 | A+ | Aberdeen IronBirds | 332 | 285 | 40 | 11 | 2 | 0 | 26 | 106 | 11 | 22 | 4 | .140 | .239 | .193 | .432 | .053 | .217 | 32 | 8 | .195 | 7 | -35 | +3 | +0 | +6 | +9 | -1.7 |
| ▸ 2026 Season (actual · ROS · total) | ||||||||||||||||||||||||||||||
| 2026 | 23 | A+ | Frederick Keys | 35 | 32 | 6 | 0 | 0 | 2 | 1 | 11 | 0 | 3 | 0 | .188 | .212 | .375 | .587 | .188 | .200 | 31 | 3 | .225 | 30 | -3 | +1 | +0 | +1 | +1 | -0.1 |
| ROS | 23 | MLB | BAL | 285 | 256 | 50 | 10 | 1 | 5 | 22 | 86 | 5 | 9 | 1 | .195 | .272 | .301 | .573 | .105 | .270 | 30 | 8 | .259 | 57 | -14 | +1 | +0 | +5 | +8 | 0.1 |
| TOT | 23 | MLB | BAL | 320 | 288 | 56 | 10 | 1 | 7 | 23 | 97 | 5 | 12 | 1 | .194 | .266 | .309 | .575 | .115 | .263 | 30 | 7 | .256 | 54 | -17 | +2 | +0 | +6 | +9 | 0.0 |
| ▸ 2027+ Projections — Projections at projected PA · Park-neutral MLB equivalent · Marcel + aging curve | ||||||||||||||||||||||||||||||
| 2027 | 24 | MLB 10% | BAL | 361 | 322 | 66 | 13 | 2 | 7 | 30 | 96 | 6 | 10 | 2 | .205 | .285 | .323 | .608 | .118 | .264 | 27 | 8 | .272 | 67 | -14 | +1 | +0 | +6 | +10 | 0.4 |
| 2028 | 25 | MLB 25% | BAL | 413 | 368 | 77 | 15 | 2 | 9 | 35 | 108 | 7 | 11 | 2 | .209 | .290 | .334 | .624 | .125 | .267 | 26 | 8 | .279 | 72 | -13 | +1 | +0 | +7 | +12 | 0.8 |
| 2029 | 26 | MLB 43% | BAL | 446 | 397 | 84 | 16 | 2 | 10 | 39 | 116 | 7 | 12 | 2 | .212 | .293 | .338 | .631 | .126 | .269 | 26 | 9 | .283 | 75 | -13 | +2 | +0 | +8 | +13 | 1.0 |
| 2030 | 27 | MLB 58% | BAL | 460 | 410 | 85 | 16 | 2 | 10 | 40 | 120 | 7 | 12 | 2 | .207 | .289 | .329 | .618 | .122 | .269 | 26 | 9 | .285 | 76 | -13 | +2 | +0 | +8 | +13 | 1.1 |
| 2031 | 28 | MLB 68% | BAL | 464 | 413 | 87 | 17 | 2 | 10 | 41 | 122 | 7 | 11 | 1 | .211 | .293 | .334 | .627 | .123 | .269 | 26 | 9 | .283 | 75 | -13 | +2 | -1 | +8 | +13 | 1.0 |
| 2032 | 29 | MLB 86% | BAL | 460 | 409 | 85 | 16 | 2 | 10 | 41 | 122 | 7 | 11 | 1 | .208 | .291 | .330 | .621 | .122 | .268 | 27 | 9 | .281 | 73 | -14 | +2 | -1 | +8 | +13 | 0.8 |
| 2033 | 30 | MLB | BAL | 453 | 403 | 83 | 16 | 2 | 9 | 40 | 122 | 7 | 10 | 1 | .206 | .289 | .323 | .611 | .117 | .266 | 27 | 9 | .278 | 71 | -15 | +2 | -2 | +8 | +13 | 0.6 |
| 2034 | 31 | MLB | BAL | 428 | 380 | 77 | 15 | 2 | 8 | 38 | 117 | 7 | 9 | 0 | .203 | .287 | .316 | .603 | .113 | .265 | 27 | 9 | .274 | 68 | -15 | +2 | -3 | +8 | +12 | 0.3 |
| 2035 | 32 | MLB | BAL | 400 | 356 | 70 | 13 | 2 | 7 | 35 | 111 | 6 | 8 | 0 | .197 | .280 | .303 | .583 | .107 | .263 | 28 | 9 | .270 | 65 | -16 | +2 | -4 | +7 | +11 | 0.1 |
| 2036 | 33 | MLB | BAL | 360 | 320 | 62 | 12 | 1 | 6 | 32 | 103 | 5 | 7 | 0 | .194 | .277 | .294 | .571 | .100 | .261 | 29 | 9 | .264 | 61 | -16 | +1 | -4 | +6 | +10 | -0.2 |
| 2037 | 34 | MLB | BAL | 310 | 275 | 52 | 10 | 1 | 5 | 27 | 91 | 5 | 6 | 0 | .189 | .274 | .287 | .561 | .098 | .260 | 29 | 9 | .258 | 56 | -15 | +1 | -5 | +6 | +9 | -0.5 |
| ▸ Career Totals (MLE all levels + projections) | ||||||||||||||||||||||||||||||
| Career | — | 5254 | 4664 | 935 | 182 | 23 | 96 | 452 | 1447 | 90 | 148 | 17 | .200 | .284 | .311 | .595 | .111 | .266 | 28 | 9 | .270 | 65 | -208 | +23 | -20 | +94 | +149 | 3.8 | ||
| / 162G | — | 650 | 577 | 116 | 23 | 3 | 12 | 56 | 179 | 11 | 18 | 2 | .201 | .284 | .314 | .598 | .113 | .267 | 28 | 9 | .270 | 65 | -26 | +3 | -2 | +12 | +18 | 0.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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 21 | A+ | Aberdeen IronBirds | 19 | 17 | 2 | 0 | 0 | 0 | 1 | 8 | 0 | 1 | 0 | .118 | .167 | .118 | .284 | .000 | .200 | 42 | 5 | .132 | -41 | -3 | +0 | — | — | +1 | -0.2 |
| 2024 | 21 | A | Delmarva Shorebirds | 63 | 49 | 16 | 3 | 0 | 0 | 9 | 12 | 3 | 9 | 1 | .327 | .459 | .388 | .847 | .061 | .410 | 19 | 14 | .383 | 151 | +4 | +1 | — | — | +2 | 0.7 |
| 2025 | 22 | A+ | Aberdeen IronBirds | 332 | 270 | 48 | 15 | 2 | 0 | 41 | 82 | 11 | 22 | 4 | .178 | .311 | .248 | .559 | .070 | .249 | 25 | 12 | .263 | 59 | -15 | +3 | — | — | +9 | -0.3 |
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 Stafford (OGILVIE) | 23 | 25 | 25 | 60 | 50 | .195/.275/.289 | .094 | .276 | 4 | 8 | 30% | 8% | 58 | -0.6 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
|
✕Dylan Neuse 2023 · A |
24 | 37 | 39→40 | 49→50 | 44 | .183/.260/.264 | .081 | .271 | 8 | 14 | 33% | 9% | 45 | -2.1 | .205/.286/.296 | .091 | .292 | 7 | 13 | 29% | 9% | 63 | -0.8 | .211/.301/.305 | .094 | .293 | 5 | 13 | 27% | 10% | 72 | -0.1 |
|
✕Corey Joyce 2022 · AA |
23 | 41 | 39→45 | 53→50 | 39 | .193/.262/.274 | .080 | .300 | 7 | 13 | 36% | 7% | 48 | -1.9 | .208/.307/.328 | .120 | .294 | 12 | 12 | 31% | 10% | 82 | +0.5 | .212/.315/.318 | .105 | .301 | 9 | 14 | 29% | 10% | 80 | +0.2 |
|
✕Mike Martin 2016 · A |
23 | 41 | 35→30 | 52→55 | 42 | .188/.277/.248 | .060 | .302 | 3 | 12 | 35% | 8% | 49 | -1.8 | .222/.280/.282 | .060 | .288 | 3 | 17 | 22% | 6% | 56 | -1.3 | .244/.292/.297 | .053 | .299 | 2 | 23 | 18% | 5% | 62 | -0.3 |
|
✕Braulio Vasquez 2022 · A |
23 | 40 | 40 | 54→65 | 40 | .192/.269/.282 | .090 | .299 | 8 | 28 | 36% | 7% | 53 | -1.5 | .216/.284/.315 | .099 | .302 | 7 | 27 | 29% | 7% | 67 | -0.5 | .225/.290/.320 | .095 | .304 | 4 | 32 | 25% | 7% | 66 | -0.3 |
|
✕Hayden Cantrelle 2022 · AA |
23 | 35 | 41→45 | 54→55 | 54 | .169/.297/.268 | .099 | .266 | 8 | 23 | 35% | 14% | 64 | -0.8 | .189/.306/.297 | .108 | .297 | 8 | 20 | 34% | 13% | 74 | -0.1 | .191/.310/.302 | .111 | .299 | 9 | 21 | 34% | 12% | 74 | -0.0 |
|
✕Aaron McKeithan 2022 · A |
22 | 41 | 39→40 | 49→40 | 40 | .198/.263/.282 | .084 | .277 | 6 | 7 | 29% | 6% | 50 | -1.7 | .218/.296/.304 | .086 | .283 | 8 | 4 | 24% | 7% | 70 | -0.3 | .219/.302/.289 | .070 | .280 | 7 | 1 | 22% | 7% | 69 | -0.2 |
|
✕Blake Rambusch 2023 · A |
23 | 47 | 37→30 | 52→60 | 42 | .219/.287/.296 | .076 | .318 | 4 | 13 | 30% | 7% | 63 | -0.8 | .226/.311/.291 | .065 | .315 | 3 | 28 | 26% | 9% | 72 | -0.2 | .233/.319/.287 | .055 | .311 | 2 | 37 | 23% | 9% | 71 | -0.1 |
|
✕Alfredo González 2015 · A |
23 | 42 | 38→40 | 52→45 | 43 | .202/.261/.280 | .078 | .265 | 5 | 10 | 25% | 6% | 48 | -1.9 | .230/.292/.294 | .064 | .312 | 4 | 6 | 25% | 7% | 64 | -0.8 | .223/.286/.280 | .057 | .296 | 4 | 5 | 24% | 7% | 55 | -0.6 |
|
✕Ronaldo Urdaneta 2022 · A |
23 | 43 | 41→40 | 57→60 | 40 | .203/.269/.298 | .096 | .321 | 9 | 24 | 38% | 7% | 56 | -1.3 | .188/.271/.269 | .081 | .305 | 6 | 20 | 37% | 9% | 51 | -1.7 | .098/.228/.122 | .024 | .176 | 0 | 28 | 38% | 12% | -2 | -1.2 |
|
✕Christian Cairo 2023 · A |
22 | 40→47 | 39→40 | 53→60 | 49 | .186/.290/.271 | .084 | .288 | 7 | 16 | 34% | 11% | 60 | -1.0 | .204/.296/.285 | .081 | .295 | 5 | 22 | 29% | 10% | 66 | -0.6 | .215/.301/.289 | .073 | .310 | 4 | 35 | 29% | 9% | 66 | -0.3 |
|
✕Ismael Alcantara 2021 · A |
22 | 42→30 | 38→45 | 56→50 | 41 | .197/.266/.279 | .082 | .311 | 5 | 16 | 36% | 8% | 50 | -1.7 | .214/.271/.343 | .129 | .318 | 13 | 13 | 35% | 6% | 69 | -0.4 | .203/.261/.318 | .115 | .298 | 12 | 16 | 35% | 6% | 54 | -0.8 |
|
✕Roberto Caro 2017 · A |
23 | 44→39 | 37→40 | 55→60 | 44 | .206/.273/.285 | .079 | .298 | 3 | 15 | 30% | 8% | 54 | -1.4 | .213/.282/.289 | .076 | .316 | 3 | 22 | 30% | 8% | 59 | -1.1 | .210/.285/.286 | .076 | .304 | 2 | 32 | 29% | 8% | 59 | -0.7 |
|
✕Taylor Krick 2011 · A |
23 | 43 | 39→30 | 48→40 | 49 | .206/.285/.289 | .084 | .266 | 7 | 7 | 24% | 9% | 62 | -0.9 | .224/.308/.287 | .063 | .307 | 4 | 5 | 26% | 8% | 71 | -0.3 | .233/.323/.283 | .051 | .326 | 2 | 2 | 26% | 8% | 73 | -0.0 |
|
✕Grae Kessinger 2021 · A |
23 | 43→29 | 39→45 | 50 | 48 | .209/.278/.294 | .085 | .262 | 7 | 12 | 22% | 8% | 59 | -1.1 | .189/.260/.298 | .109 | .257 | 13 | 15 | 30% | 8% | 53 | -1.5 | .186/.266/.299 | .113 | .246 | 14 | 14 | 29% | 9% | 54 | -0.9 |
|
✕River Town 2022 · A |
23 | 44→38 | 37→40 | 53→50 | 43 | .207/.282/.284 | .077 | .293 | 3 | 12 | 28% | 7% | 59 | -1.1 | .211/.296/.319 | .108 | .266 | 10 | 15 | 23% | 8% | 75 | -0.0 | .206/.299/.306 | .100 | .254 | 9 | 15 | 21% | 9% | 71 | -0.2 |
|
✕Erlin Cerda 2017 · A |
23 | 45 | 36→40 | 53→55 | 44 | .210/.273/.281 | .071 | .280 | 2 | 13 | 24% | 6% | 53 | -1.5 | .196/.241/.267 | .071 | .299 | 3 | 8 | 33% | 5% | 35 | -2.8 | .166/.201/.211 | .044 | .261 | 0 | 8 | 35% | 4% | -1 | -1.2 |
|
✕Onix Vega 2022 · A |
23 | 44 | 39→30 | 51→45 | 45 | .213/.281/.298 | .085 | .274 | 6 | 8 | 24% | 7% | 62 | -0.9 | .210/.283/.285 | .075 | .278 | 6 | 6 | 25% | 8% | 59 | -1.1 | .198/.277/.253 | .056 | .261 | 4 | 5 | 24% | 8% | 47 | -0.8 |
|
✕Logan Warmoth 2019 · A |
23 | 45→39 | 36→45 | 54→55 | 42 | .211/.274/.281 | .071 | .306 | 4 | 10 | 30% | 7% | 54 | -1.4 | .196/.268/.274 | .078 | .317 | 4 | 14 | 36% | 8% | 50 | -1.7 | .188/.271/.293 | .105 | .291 | 11 | 24 | 36% | 8% | 55 | -0.9 |
|
✕Luis Perez 2014 · A |
23 | 45 | 43→30 | 50 | 40 | .222/.267/.338 | .116 | .279 | 10 | 9 | 24% | 5% | 66 | -0.6 | .219/.258/.331 | .112 | .307 | 10 | 6 | 30% | 5% | 59 | -1.1 | .217/.244/.347 | .129 | .299 | 11 | 2 | 31% | 3% | 54 | -0.4 |
|
✕Andy Paz 2016 · A |
23 | 39 | 37→40 | 48→45 | 43 | .187/.248/.258 | .071 | .267 | 5 | 5 | 31% | 8% | 37 | -2.6 | .224/.274/.290 | .066 | .298 | 4 | 7 | 24% | 7% | 55 | -1.4 | .235/.280/.283 | .048 | .303 | 3 | 7 | 22% | 6% | 52 | -0.5 |