Juan Castillo

C Spokane Indians
Age 24 R/R 6'0" / 170 lbs A+ HR +30%H +12% Svc 0.0 · Ctrl thru 2036
Overview
A+PROSPECTMiLBFA 2037
MLB%0%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202421A/ROKCOL180.249/.291/.3371212—.168/.201/.232
202522ACOL250.234/.315/.3063334—.190/.242/.250
202623A+COL191.214/.281/.2802020—.168/.222/.208
2027PROJMLE24MLBCOL241.179/.232/.2492335-0.3
2028PROJ30% MLB25MLBCOL39.194/.247/.2851141-0.1
Next 2 projected WAR -0.4Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2036Service0.0First FA2037
2027MiLB2028MiLB2029Ext$0.0M2030Ext$0.0M2031Ext$0.9M2032Ext$0.9M2033Ext$0.9M2034Ext$3M+2
Skills · percentileMiLB Statcast 2026 A+
Speed19
BB%18
ISO10
wOBA9
K%9
Chase%9
Career WAR0.0 WAR median (P10 0.0 / P90 0.0, comp-based) · star 0% · didn't stick 100%
CompsAlberti Chavez (age 24) · Jalen Battles (age 24) · Beau Seabury (age 24)
2027 FULL-SEASON PROJECTIONpark-neutral Marcel · 89 proj PA
wRC+†35
AVG/OBP/SLG.178 / .230 / .247
PA89
HR1
K%35
BB%6
ISO69
MLB%0%
Value2027 · WAR
BAT: -6.9 runs (wOBA-derived runs vs avg)-7BATRUN: +0.1 runs (SB/CS + UBR baserunning)+0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: +1.6 runs (Positional adjustment)+2POSREP: +1.9 runs (Replacement-level credit)+2REPTotal WAR: -0.30-0.3WAR
trajectory · projected WAR by year
-0.3-0.12728
Tools · ContractCON 35 / POW 25
Toolsscout grade
CONTACT35
scouting grade only
POWER25
scouting grade only
EYE35
scouting grade only
SPEED40
scouting grade only
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2031
Service   0 yrs (est)
Team Control Through   2036
First FA Year   2037
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2031
2028MiLBstill in minors · estimated debut 2031
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
2035Extbeyond projection horizon · no WAR estimate
2036Extbeyond 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)
202118 ROKDSL Rockies — 110104 26201 5260 51 250284298582 48325 245 263 -1 — — — — — —
202219 ROKDSL Rockies — 121101 31500 9216 33 307397356753 50383 177 336 47 — — — — — —
202320 ROKACL Rockies — 5950 12210 5153 00 240345320665 80343 258 305 27 — — — — — —
202421 AFresno Grizzlies — 4541 8200 3181 10 195267244511 49348 407 241 -5 — — — — — —
202421 ROKACL Rockies — 135128 34811 5291 10 266299367666 102333 214 296 17 — — — — — —
202522 AFresno Grizzlies — 250222 52703 24542 31 234315306621 72295 2210 286 34 — — — — — —
202623 A+Spokane Indians — 191168 36312 15671 01 214281280561 65330 358 251 20 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202118 ROK MLEDSL Rockies — 110105 16100 4300 51 152183162345 10217 274 167 -1 — — — — — —
202219 ROK MLEDSL Rockies — 121103 22300 7246 33 214302243544 29258 206 238 47 — — — — — —
202320 ROK MLEACL Rockies — 5952 9110 3223 00 173259231489 58274 375 208 27 — — — — — —
202421 A MLEFresno Grizzlies — 4542 5100 2241 10 119178143321 24308 534 161 -5 — — — — — —
202421 ROK MLEACL Rockies — 135130 24511 3421 10 185209262470 77253 312 194 17 — — — — — —
202522 A MLEFresno Grizzlies — 250232 44503 14772 31 190242250492 60264 316 219 34 — — — — — —
202623 A+ MLESpokane Indians — 191173 29211 11911 01 168222208430 40309 486 198 20 — — — — — —
202118 ROK MLEDSL Rockies — 110105 16100 4300 51 152183162345 10213 274 167 -1 — — — — — —
202118 ROK RAWDSL Rockies — 110104 26201 5260 51 250284298582 48325 245 263 -1 — — — — — —
202219 ROK MLEDSL Rockies — 121103 22300 7246 33 214302243544 29275 206 238 47 — — — — — —
202219 ROK RAWDSL Rockies — 121101 31500 9216 33 307397356753 50383 177 336 47 — — — — — —
202320 ROK MLEACL Rockies — 5952 9110 3223 00 173259231489 58300 375 208 27 — — — — — —
202320 ROK RAWACL Rockies — 5950 12210 5153 00 240345320665 80343 258 305 27 — — — — — —
202421 ROK MLE2 teams — 180172 30611 5662 20 174207238445 64274 373 186 12 — — — — — —
202421 ROK RAW2 teams — 180169 421011 8472 20 249291337628 89336 264 282 12 — — — — — —
202522 A MLEFresno Grizzlies — 250232 44503 14772 31 190242250492 60268 316 219 34 — — — — — —
202522 A RAWFresno Grizzlies — 250222 52703 24542 31 234315306621 72295 2210 286 34 — — — — — —
202623 A+ MLESpokane Indians — 191173 29211 11911 01 168222208430 40329 486 198 20 — — — — — —
202623 A+ RAWSpokane Indians — 191168 36312 15671 01 214281280561 65330 358 251 20 — — — — — —
202118 ROK MLEDSL Rockies — 110105 16100 4300 51 152183162345 10217 274 167 -1 — — — — — —
202219 ROK MLEDSL Rockies — 121107 22300 7246 33 206302234535 28258 206 238 47 — — — — — —
202320 ROK MLEACL Rockies — 5953 9110 3223 00 170259226485 57274 375 208 27 — — — — — —
202421 ROK MLE2 teams — 180171 30611 5662 20 175207240446 64267 373 186 12 — — — — — —
202522 A MLEFresno Grizzlies — 250232 44503 14772 31 190242250492 60264 316 219 34 — — — — — —
202623 A+ MLESpokane Indians — 191177 29211 11911 01 164222203425 40309 486 198 20 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202421 ROK MLE2 teams — 180171 30611 5662 20 175207240446 64267 373 186 12 — — — — — —
202522 A MLEFresno Grizzlies — 250232 44503 14772 31 190242250492 60264 316 219 34 — — — — — —
202623 A+ MLESpokane Indians — 191177 29211 11911 01 164222203425 40309 486 198 20 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202724 MLB MLECOL 0% 241224 40712 13852 31 179232249480 69275 355 220 35 -19 +0 +0 +4 +5 -0.3
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202825 MLB MLECOL 30% 130121 23412 7451 21 185238266504 81277 355 229 41 -9 +0 +0 +2 +3 -0.4
202825 MLB CTXCOL 30% 3937 7101 2140 10 194247285531 91289 365 240 41 -3 +0 +0 +1 +1 -0.1
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 3937 7101 2140 10 189231297528 108273 365 240 27 -3 +0 +0 +1 +1 -0.1
/ 162G— A+C — 650617 11717017 332330 170 190231300531 110272 365 240 27 -45 +3 +0 +12 +14 -1.7
Career— MLE — 11301041 1882548 5638616 167 181234235469 55275 345 208 27 -16 +0 +0 +4 +5 -0.7
/ 162G— MLE — 650599 1081425 322229 94 180233235468 55273 345 208 27 -47 +1 +0 +12 +14 -2.2

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.

2026 A+Spokane Indians · 191 PAwOBA .250 → .198 (−52)K% 35.1% → 47.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA35.08%÷1.000×1.350——47.36%
BB% (unintentional) /PA7.85%÷1.000×0.710—×0.9985.56%
HBP% /PA0.52%—×0.810—×0.9980.42%
Singles /BIP29.70%÷1.000×0.910×1.050×0.99828.32%
Doubles /BIP2.97%÷1.000×0.830×1.050×0.9982.58%
Triples /BIP0.99%÷1.000×0.820×1.050×0.9980.85%
Home runs /BIP1.98%÷1.000×0.830—×0.9981.64%

Factors used: level-wide A+ factors (no league-specific row for this league/era). Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 23 vs a level average of 22.8 → −0.2% on BB/HBP/hit rates (0.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.

Result: wOBA .250 → .198; ISO .065 → .049; BABIP .330 → .309. 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 AFresno Grizzlies · 250 PAwOBA .278 → .219 (−59)K% 21.6% → 30.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA21.60%÷0.951×1.360——30.87%
BB% (unintentional) /PA9.20%÷1.096×0.690——5.79%
HBP% /PA0.80%—×0.780——0.62%
Singles /BIP25.00%÷1.022×0.920×1.015—22.84%
Doubles /BIP4.17%÷1.055×0.830×1.015—3.33%
Triples /BIP0.00%÷1.017×0.910×1.015—0.00%
Home runs /BIP1.79%÷0.870×0.800——1.64%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 74, 1B 104, 2B 111, 3B 103, K 90, BB 119 — applied at half strength. Age: age 22 vs a level average of 22.0 → +0.0% on BB/HBP/hit rates (0.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.015.

Result: wOBA .278 → .219; ISO .072 → .058; BABIP .295 → .264. 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 ROKACL Rockies · 135 PAwOBA .290 → .194 (−96)K% 21.5% → 31.2%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA21.48%÷0.991×1.440——31.22%
BB% (unintentional) /PA3.70%÷1.035×0.620—×0.9852.18%
HBP% /PA0.74%—×0.720—×0.9850.53%
Singles /BIP24.24%÷1.003×0.820×0.990×0.98519.33%
Doubles /BIP8.08%÷1.034×0.720×0.990×0.9855.49%
Triples /BIP1.01%÷1.150×0.720×0.990×0.9850.62%
Home runs /BIP1.01%÷1.044×0.780—×0.9850.74%

Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 109, 1B 101, 2B 107, 3B 130, K 98, BB 107 — applied at half strength. Age: age 21 vs a level average of 19.5 → −1.5% on BB/HBP/hit rates (1.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.990.

Result: wOBA .290 → .194; ISO .102 → .062; BABIP .333 → .253. 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 AFresno Grizzlies · 45 PAwOBA .235 → .161 (−73)K% 40.0% → 53.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA40.00%÷1.011×1.360——53.83%
BB% (unintentional) /PA6.67%÷1.064×0.690—×1.0154.39%
HBP% /PA2.22%—×0.780—×1.0151.76%
Singles /BIP26.09%÷1.015×0.920—×1.01523.99%
Doubles /BIP8.70%÷1.081×0.830—×1.0156.78%
Triples /BIP0.00%÷0.900×0.910—×1.0150.00%
Home runs /BIP0.00%÷1.002×0.800—×1.0150.00%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 103, 2B 116, 3B 80, K 102, BB 113 — applied at half strength. Age: age 21 vs a level average of 22.0 → +1.5% on BB/HBP/hit rates (1.0 yr younger than average).

Result: wOBA .235 → .161; ISO .049 → .030; BABIP .348 → .308. 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 ROKACL Rockies · 59 PAwOBA .298 → .208 (−90)K% 25.4% → 36.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA25.42%÷0.996×1.440——36.74%
BB% (unintentional) /PA8.47%÷0.999×0.620—×0.9955.24%
HBP% /PA5.08%—×0.720—×0.9953.64%
Singles /BIP25.71%÷0.976×0.820—×0.99521.50%
Doubles /BIP5.71%÷1.006×0.720—×0.9954.07%
Triples /BIP2.86%÷1.137×0.720—×0.9951.80%
Home runs /BIP0.00%÷1.031×0.780—×0.9950.00%

Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 106, 1B 95, 2B 101, 3B 127, K 99, BB 100 — applied at half strength. Age: age 20 vs a level average of 19.5 → −0.5% on BB/HBP/hit rates (0.5 yr older than average).

Result: wOBA .298 → .208; ISO .080 → .049; BABIP .343 → .274. 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 DSLDSL Rockies · 121 PAwOBA .330 → .238 (−92)K% 17.4% → 19.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.36%÷1.070×1.220——19.79%
BB% (unintentional) /PA7.44%÷0.968×0.700—×0.9955.35%
HBP% /PA4.96%—×0.700—×0.9953.45%
Singles /BIP32.50%÷1.043×0.680×1.050×0.99522.15%
Doubles /BIP6.25%÷0.990×0.600×1.050×0.9953.96%
Triples /BIP0.00%÷0.900×0.600×1.050×0.9950.00%
Home runs /BIP0.00%÷1.233×0.470—×0.9950.00%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 147, 1B 109, 2B 98, 3B 80, K 114, BB 94 — applied at half strength. Age: age 19 vs a level average of 18.5 → −0.5% on BB/HBP/hit rates (0.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.

Result: wOBA .330 → .238; ISO .050 → .034; BABIP .383 → .258. 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 DSLDSL Rockies · 110 PAwOBA .256 → .167 (−90)K% 23.6% → 27.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA23.64%÷1.055×1.220——27.32%
BB% (unintentional) /PA4.55%÷0.951×0.700—×1.0083.37%
HBP% /PA0.00%—×0.700—×1.0080.00%
Singles /BIP29.49%÷1.033×0.680×1.019×1.00819.93%
Doubles /BIP2.56%÷0.968×0.600×1.019×1.0081.63%
Triples /BIP0.00%÷0.900×0.600×1.019×1.0080.00%
Home runs /BIP1.28%÷1.078×0.470—×1.0080.56%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 116, 1B 107, 2B 94, 3B 80, K 111, BB 90 — applied at half strength. Age: age 18 vs a level average of 18.5 → +0.8% on BB/HBP/hit rates (0.5 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.019.

Result: wOBA .256 → .167; ISO .048 → .024; BABIP .325 → .217. 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).