Cody Roberts

C El Paso Chihuahuas
Age 31 R/R 6'0" / 195 lbs AAA HR +5% Svc 0.0 · Ctrl thru 2034
Overview
AAAPROSPECTMiLBFA 2035
MLB%10%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202327AAPHI239.214/.281/.3496238—.177/.230/.273
202428AAAPHI160.290/.376/.4061274—.243/.306/.340
202529AAA/AASD182.247/.328/.3483348—.211/.265/.283
2027PROJ10% MLB31MLBSD12.192/.260/.3000060-0.0
2028PROJ27% MLB32MLBSD29.190/.257/.2931057-0.1
Next 2 projected WAR -0.1Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2034Service0.0First FA2035
2027MiLB2028MiLB2029Ext$0.8M2030Ext$0.8M2031Ext$0.9M2032Ext$3M2033Ext$5M2034Ext$7M
Skills · percentileMiLB Statcast 2025 AAA
BB%65
Chase%61
Speed59
Max EV27
Whiff%13
Z-Con%12
CompsJoe Hudson (age 31) · David Matranga (age 31) · Yamid Haad (age 31)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†60
AVG/OBP/SLG.192 / .260 / .300
PA12
HR0
K%33
BB%8
BABIP258
ISO90
MLB%10%
Value2027 · WAR
BAT: -5.8 runs (wOBA-derived runs vs avg)-6BATRUN: -0.1 runs (SB/CS + UBR baserunning)-0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: +2.2 runs (Positional adjustment)+2POSREP: +2.6 runs (Replacement-level credit)+3REPTotal WAR: +0.00+0.0WAR
trajectory · projected WAR by year
0.0-0.12728
Tools · Contract
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   2035
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2029
2028MiLBstill in minors · estimated debut 2029
2029Extbeyond projection horizon · no WAR estimate
2030Extbeyond projection horizon · no WAR estimate
2031Extbeyond projection horizon · no WAR estimate
2032Extbeyond projection horizon · no WAR estimate
2033Extbeyond projection horizon · no WAR estimate
2034Extbeyond projection horizon · no WAR estimate
Totals $0.0M $0.0M +$0.0M

Career Stats + Projections

Real MLB stats plus park-adjusted projections — this season (so far / rest / full), then future seasons and career totals.
basis chips: RAW = as recorded · CTX = with park/league context · A+C = actual + context combined · MLE = level/park-neutral
Methodology▸ how these numbers are built

All seasons translated to park-neutral MLB-equivalent (MLE) and combined per year. 2027 = full-season projection (no games played yet). 2028+ via Advanced Marcel + aging curve. Catcher framing: only 2027 Statcast framing is modeled (Baseball Savant server-caches the leaderboard to the current season); prior-year framing is unmodeled — projections for established framers may run 1-3 WAR low.

YearAge LvlTeam MLB% PAAB H2B3BHR BBSOHBP SBCS AVGOBPSLGOPS ISOBABIP K%BB% wOBAwRC+ BATRUNFLDPOSREP WAR
▸ Career — actual stats, one row per stint (as recorded, no adjustments)
201923 ADelmarva Shorebirds — 192166 40410 21431 00 241330277607 36315 2211 280 33 — — — — — —
202125 AAANorfolk Tides — 3834 10201 4130 00 294368441810 147450 3411 362 78 — — — — — —
202125 AABowie Baysox — 6352 12302 9191 00 231355404759 173323 3014 339 60 — — — — — —
202125 A+Aberdeen IronBirds — 8168 17402 10242 00 250362397760 147349 3012 342 57 — — — — — —
202226 AAANorfolk Tides — 2824 9201 460 00 3754645831.048 208471 2114 460 147 — — — — — —
202226 AABowie Baysox — 274242 631607 25754 00 260339413753 153344 279 335 60 — — — — — —
202327 AAReading Fightin Phils — 239215 461106 16524 22 214281349630 135250 227 280 38 — — — — — —
202428 AAALehigh Valley IronPigs — 160138 401301 17512 20 290376406782 116448 3211 348 74 — — — — — —
202529 AAAEl Paso Chihuahuas — 133112 25502 16460 20 223320321642 98343 3512 286 39 — — — — — —
202529 AASan Antonio Missions — 4946 14011 3140 10 304347413760 109419 296 340 73 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
201923 A MLEDelmarva Shorebirds — 192174 34310 13571 00 195255224479 29267 307 217 33 — — — — — —
202125 AAA MLENorfolk Tides — 3835 9201 3160 00 257316400716 143425 428 284 78 — — — — — —
202125 AA MLEBowie Baysox — 6355 11301 6241 00 200290309599 109294 3810 257 60 — — — — — —
202125 A+ MLEAberdeen IronBirds — 8171 13301 7322 00 183275268543 85294 409 253 57 — — — — — —
202226 AAA MLENorfolk Tides — 2825 9201 370 00 360429560989 200443 2511 385 147 — — — — — —
202226 AA MLEBowie Baysox — 274250 521204 17924 00 208269304573 96299 346 257 60 — — — — — —
202327 AA MLEReading Fightin Phils — 239220 39904 11634 22 177230273503 95221 265 225 38 — — — — — —
202428 AAA MLELehigh Valley IronPigs — 160144 351101 11602 20 243306340646 97388 387 278 74 — — — — — —
202529 AAA MLEEl Paso Chihuahuas — 133118 22401 10570 20 186250246496 59304 438 226 39 — — — — — —
202529 AA MLESan Antonio Missions — 4947 13011 2160 10 277306383689 106380 334 276 73 — — — — — —
201923 A MLEDelmarva Shorebirds — 192174 34310 13571 00 195255224479 29281 307 217 33 — — — — — —
201923 A RAWDelmarva Shorebirds — 192166 40410 21431 00 241330277607 36315 2211 280 33 — — — — — —
202125 A+ MLE3 teams — 182161 32703 16723 00 199283298581 99333 409 261 63 — — — — — —
202125 A+ RAW3 teams — 182154 39905 23563 00 253361409770 156362 3113 345 63 — — — — — —
202226 AA MLE2 teams — 302275 611405 20994 00 222284327612 105322 337 269 68 — — — — — —
202226 AA RAW2 teams — 302266 721808 29814 00 271351429780 158356 2710 346 68 — — — — — —
202327 AA MLEReading Fightin Phils — 239220 39904 11634 22 177230273503 95224 265 225 38 — — — — — —
202327 AA RAWReading Fightin Phils — 239215 461106 16524 22 214281349630 135250 227 280 38 — — — — — —
202428 AAA MLELehigh Valley IronPigs — 160144 351101 11602 20 243306340646 97405 387 278 74 — — — — — —
202428 AAA RAWLehigh Valley IronPigs — 160138 401301 17512 20 290376406782 116448 3211 348 74 — — — — — —
202529 AAA MLE2 teams — 182165 34412 12730 30 206260279539 73344 407 239 48 — — — — — —
202529 AAA RAW2 teams — 182158 39513 19600 30 247328348676 101367 3310 300 48 — — — — — —
201923 A MLEDelmarva Shorebirds — 192176 34310 13571 00 193255222477 28267 307 217 33 — — — — — —
202125 A+ MLE3 teams — 182161 32703 16723 00 199283298581 99321 409 261 63 — — — — — —
202226 AA MLE2 teams — 302275 611405 20994 00 222284327612 105312 337 269 68 — — — — — —
202327 AA MLEReading Fightin Phils — 239222 39904 11634 22 176230270500 95221 265 225 38 — — — — — —
202428 AAA MLELehigh Valley IronPigs — 160146 351101 11602 20 240306336641 96388 387 278 74 — — — — — —
202529 AAA MLE2 teams — 182168 34412 12730 30 202260274534 71324 407 239 48 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202428 AAA MLELehigh Valley IronPigs — 160146 351101 11602 20 240306336641 96388 387 278 74 — — — — — —
202529 AAA MLE2 teams — 182168 34412 12730 30 202260274534 71324 407 239 48 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202731 MLB MLESD 10% 232211 41814 17692 41 195263304567 109264 307 257 60 -11 +0 +0 +4 +5 0.0
▸ 2027 — real world (MLB)
202731 MLB CTXSD 10% 1211 1000 140 00 192260300560 108258 338 254 60 -1 +0 +0 +0 +0 -0.0
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202832 MLB MLESD 27% 10595 19402 8311 10 193259297557 105261 308 253 57 -5 +0 -4 +2 +2 -0.5
202832 MLB CTXSD 27% 2927 5101 290 00 190257293550 103256 317 250 57 -1 +0 -1 +1 +1 -0.1
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 2927 5101 290 00 185241333575 148235 317 250 55 -1 +0 -1 +1 +1 -0.1
/ 162G— A+C — 650605 11122022 452020 00 183240329569 145234 317 250 55 -33 +0 -22 +12 +14 -3.0
Career— MLE — 14841345 27556219 10049116 103 204268291559 87300 337 249 55 -11 +0 -4 +4 +5 -0.6
/ 162G— MLE — 650589 1212518 442157 41 205269292561 87303 337 249 55 -32 +1 -10 +12 +14 -1.6

How the minor-league lines were translated

One row per minor-league stint. Open a row to see each step: the raw rate, the park adjustment, the league/level factor, the age adjustment (hitters) and the resulting MLE rate. Factors are the same ones listed on the MLE Factors page.

2025 AAAEl Paso Chihuahuas · 133 PAwOBA .285 → .226 (−59)K% 34.6% → 42.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA34.59%÷0.973×1.200——42.66%
BB% (unintentional) /PA12.03%÷1.054×0.690—×0.9827.74%
HBP% /PA0.00%—×0.940—×0.9820.00%
Singles /BIP27.27%÷0.999×0.930×1.009×0.98225.14%
Doubles /BIP7.58%÷1.042×0.830×1.009×0.9825.97%
Triples /BIP0.00%÷1.150×0.970×1.009×0.9820.00%
Home runs /BIP3.03%÷0.981×0.700—×0.9822.12%

Factors used: league row International League. Park (home-season share, regressed): HR 96, 1B 100, 2B 108, 3B 130, K 95, BB 111 — applied at half strength. Age: age 29 vs a level average of 27.2 → −1.8% on BB/HBP/hit rates (1.8 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.009.

Result: wOBA .285 → .226; ISO .098 → .073; BABIP .343 → .304. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2025 AASan Antonio Missions · 49 PAwOBA .331 → .276 (−55)K% 28.6% → 33.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA28.57%÷1.054×1.220——33.09%
BB% (unintentional) /PA6.12%÷1.020×0.700—×0.9584.02%
HBP% /PA0.00%—×0.870—×0.9580.00%
Singles /BIP37.50%÷0.964×0.920—×0.95834.30%
Doubles /BIP0.00%÷0.963×0.840—×0.9580.00%
Triples /BIP3.12%÷1.036×0.940—×0.9582.72%
Home runs /BIP3.12%÷0.950×0.800—×0.9582.52%

Factors used: league row TL. Park (home-season share, regressed): HR 90, 1B 93, 2B 93, 3B 107, K 111, BB 104 — applied at half strength. Age: age 29 vs a level average of 24.8 → −4.2% on BB/HBP/hit rates (4.2 yr older than average).

Result: wOBA .331 → .276; ISO .109 → .087; BABIP .419 → .380. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2024 AAALehigh Valley IronPigs · 160 PAwOBA .341 → .278 (−63)K% 31.9% → 37.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA31.87%÷1.022×1.200——37.42%
BB% (unintentional) /PA10.62%÷1.021×0.690—×0.9927.12%
HBP% /PA1.25%—×0.940—×0.9921.17%
Singles /BIP29.89%÷0.985×0.930×0.955×0.99226.73%
Doubles /BIP14.94%÷0.960×0.830×0.955×0.99212.24%
Triples /BIP0.00%÷1.150×0.970×0.955×0.9920.00%
Home runs /BIP1.15%÷0.989×0.700—×0.9920.81%

Factors used: league row International League. Park (home-season share, regressed): HR 98, 1B 97, 2B 92, 3B 130, K 104, BB 104 — applied at half strength. Age: age 28 vs a level average of 27.2 → −0.8% on BB/HBP/hit rates (0.8 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.955.

Result: wOBA .341 → .278; ISO .116 → .092; BABIP .448 → .388. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2023 AAReading Fightin Phils · 239 PAwOBA .276 → .225 (−51)K% 21.8% → 26.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA21.76%÷1.000×1.220——26.54%
BB% (unintentional) /PA6.69%÷0.975×0.700—×0.9784.70%
HBP% /PA1.67%—×0.850—×0.9781.39%
Singles /BIP17.79%÷1.017×0.970×0.985×0.97816.36%
Doubles /BIP6.75%÷0.999×0.860×0.985×0.9785.60%
Triples /BIP0.00%÷1.005×0.950×0.985×0.9780.00%
Home runs /BIP3.68%÷1.050×0.780—×0.9782.67%

Factors used: league row EL. Park (home-season share, regressed): HR 110, 1B 103, 2B 100, 3B 101, K 100, BB 95 — applied at half strength. Age: age 27 vs a level average of 24.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.985.

Result: wOBA .276 → .225; ISO .135 → .102; BABIP .250 → .221. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2022 AABowie Baysox · 274 PAwOBA .329 → .257 (−72)K% 27.4% → 33.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA27.37%÷0.992×1.220——33.67%
BB% (unintentional) /PA9.12%÷0.998×0.700—×0.9886.32%
HBP% /PA1.46%—×0.850—×0.9881.23%
Singles /BIP23.95%÷0.995×0.970×0.963×0.98822.22%
Doubles /BIP9.58%÷1.055×0.860×0.963×0.9887.43%
Triples /BIP0.00%÷0.900×0.950×0.963×0.9880.00%
Home runs /BIP4.19%÷1.170×0.780—×0.9882.76%

Factors used: league row EL. Park (home-season share, regressed): HR 134, 1B 99, 2B 111, 3B 80, K 98, BB 100 — applied at half strength. Age: age 26 vs a level average of 24.8 → −1.2% on BB/HBP/hit rates (1.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.963.

Result: wOBA .329 → .257; ISO .153 → .105; BABIP .344 → .299. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2022 AAANorfolk Tides · 28 PAwOBA .448 → .385 (−62)K% 21.4% → 25.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA21.43%÷1.017×1.200——25.29%
BB% (unintentional) /PA14.29%÷1.048×0.690—×1.0189.57%
HBP% /PA0.00%—×0.940—×1.0180.00%
Singles /BIP33.33%÷0.952×0.930—×1.01833.14%
Doubles /BIP11.11%÷1.000×0.830—×1.0189.39%
Triples /BIP0.00%÷1.130×0.970—×1.0180.00%
Home runs /BIP5.56%÷0.970×0.700—×1.0184.08%

Factors used: league row International League. Park (home-season share, regressed): HR 94, 1B 90, 2B 100, 3B 126, K 103, BB 110 — applied at half strength. Age: age 26 vs a level average of 27.2 → +1.8% on BB/HBP/hit rates (1.2 yr younger than average).

Result: wOBA .448 → .385; ISO .208 → .164; BABIP .471 → .443. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2021 A+Aberdeen IronBirds · 81 PAwOBA .338 → .253 (−85)K% 29.6% → 39.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA29.63%÷1.002×1.350——39.94%
BB% (unintentional) /PA12.35%÷0.974×0.710—×0.9788.80%
HBP% /PA2.47%—×0.810—×0.9781.96%
Singles /BIP25.00%÷1.026×0.910—×0.97821.68%
Doubles /BIP9.09%÷0.989×0.830—×0.9787.46%
Triples /BIP0.00%÷1.150×0.820—×0.9780.00%
Home runs /BIP4.55%÷1.041×0.830—×0.9783.54%

Factors used: level-wide A+ factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 108, 1B 105, 2B 98, 3B 130, K 100, BB 95 — applied at half strength. Age: age 25 vs a level average of 22.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average).

Result: wOBA .338 → .253; ISO .147 → .106; BABIP .349 → .294. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2021 AABowie Baysox · 63 PAwOBA .331 → .257 (−74)K% 30.2% → 37.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA30.16%÷0.983×1.220——37.43%
BB% (unintentional) /PA14.29%÷1.065×0.690—×0.9989.24%
HBP% /PA1.59%—×0.850—×0.9981.35%
Singles /BIP21.21%÷0.978×0.940—×0.99820.36%
Doubles /BIP9.09%÷0.995×0.870—×0.9987.93%
Triples /BIP0.00%÷0.900×0.920—×0.9980.00%
Home runs /BIP6.06%÷1.258×0.780—×0.9983.75%

Factors used: level-wide AA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 152, 1B 96, 2B 99, 3B 80, K 97, BB 113 — applied at half strength. Age: age 25 vs a level average of 24.8 → −0.2% on BB/HBP/hit rates (0.2 yr older than average).

Result: wOBA .331 → .257; ISO .173 → .121; BABIP .323 → .294. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).