Rafael Castillo
IF DSL Miami| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2023 | 17 | ROKMIA | 78 | .190/.397/.224 | 0 | 3 | 36 | — | .127/.295/.143 |
| 2024 | 18 | ROKMIA | 141 | .217/.407/.264 | 0 | 9 | 42 | — | .148/.300/.183 |
| 2025 | 19 | ROKDSL Miami | 57 | .234/.345/.404 | 1 | 2 | 31 | — | .143/.236/.224 |
| 2027PROJMLE | 21 | MLBMIA | 167 | .198/.281/.271 | 1 | 3 | 59 | -0.1 | |
| 2028PROJ34% MLB | 22 | MLBMIA | 24 | .197/.279/.274 | 0 | 0 | 64 | -0.1 |
Tools · Contract
Career Stats + Projections
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.
| Year | Age | Lvl | Team | MLB% | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▸ Career — actual stats, one row per stint (as recorded, no adjustments) | |||||||||||||||||||||||||||||||
| 2023 | 17 | ROK | DSL Marlins | — | 78 | 58 | 11 | 2 | 0 | 0 | 19 | 24 | 1 | 3 | 0 | 190 | 397 | 224 | 622 | 34 | 324 | 31 | 24 | 317 | 36 | — | — | — | — | — | — |
| 2024 | 18 | ROK | DSL Marlins | — | 141 | 106 | 23 | 3 | 1 | 0 | 31 | 42 | 3 | 9 | 2 | 217 | 407 | 264 | 671 | 47 | 354 | 30 | 22 | 330 | 42 | — | — | — | — | — | — |
| 2025 | 19 | ROK | DSL Miami | — | 57 | 47 | 11 | 3 | 1 | 1 | 7 | 11 | 1 | 2 | 1 | 234 | 345 | 404 | 750 | 170 | 270 | 19 | 12 | 326 | 31 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2023 | 17 | ROK MLE | DSL Marlins | — | 78 | 63 | 8 | 1 | 0 | 0 | 14 | 29 | 1 | 3 | 0 | 127 | 295 | 143 | 438 | 16 | 227 | 37 | 18 | 221 | 36 | — | — | — | — | — | — |
| 2024 | 18 | ROK MLE | DSL Marlins | — | 141 | 115 | 17 | 2 | 1 | 0 | 22 | 51 | 3 | 9 | 2 | 148 | 300 | 183 | 483 | 35 | 247 | 36 | 16 | 231 | 42 | — | — | — | — | — | — |
| 2025 | 19 | ROK MLE | DSL Miami | — | 57 | 49 | 7 | 2 | 1 | 0 | 5 | 13 | 1 | 2 | 1 | 143 | 236 | 224 | 461 | 82 | 172 | 23 | 9 | 214 | 31 | — | — | — | — | — | — |
| 2023 | 17 | ROK MLE | DSL Marlins | — | 78 | 63 | 8 | 1 | 0 | 0 | 14 | 29 | 1 | 3 | 0 | 127 | 295 | 143 | 438 | 16 | 235 | 37 | 18 | 221 | 36 | — | — | — | — | — | — |
| 2023 | 17 | ROK RAW | DSL Marlins | — | 78 | 58 | 11 | 2 | 0 | 0 | 19 | 24 | 1 | 3 | 0 | 190 | 397 | 224 | 622 | 34 | 324 | 31 | 24 | 317 | 36 | — | — | — | — | — | — |
| 2024 | 18 | ROK MLE | DSL Marlins | — | 141 | 115 | 17 | 2 | 1 | 0 | 22 | 51 | 3 | 9 | 2 | 148 | 300 | 183 | 483 | 35 | 262 | 36 | 16 | 231 | 42 | — | — | — | — | — | — |
| 2024 | 18 | ROK RAW | DSL Marlins | — | 141 | 106 | 23 | 3 | 1 | 0 | 31 | 42 | 3 | 9 | 2 | 217 | 407 | 264 | 671 | 47 | 354 | 30 | 22 | 330 | 42 | — | — | — | — | — | — |
| 2025 | 19 | ROK MLE | DSL Miami | — | 57 | 49 | 7 | 2 | 1 | 0 | 5 | 13 | 1 | 2 | 1 | 143 | 236 | 224 | 461 | 82 | 184 | 23 | 9 | 214 | 31 | — | — | — | — | — | — |
| 2025 | 19 | ROK RAW | DSL Miami | — | 57 | 47 | 11 | 3 | 1 | 1 | 7 | 11 | 1 | 2 | 1 | 234 | 345 | 404 | 750 | 170 | 270 | 19 | 12 | 326 | 31 | — | — | — | — | — | — |
| 2023 | 17 | ROK MLE | DSL Marlins | — | 78 | 63 | 8 | 1 | 0 | 0 | 14 | 29 | 1 | 3 | 0 | 127 | 295 | 143 | 438 | 16 | 227 | 37 | 18 | 221 | 36 | — | — | — | — | — | — |
| 2024 | 18 | ROK MLE | DSL Marlins | — | 141 | 115 | 17 | 2 | 1 | 0 | 22 | 51 | 3 | 9 | 2 | 148 | 300 | 183 | 483 | 35 | 247 | 36 | 16 | 231 | 42 | — | — | — | — | — | — |
| 2025 | 19 | ROK MLE | DSL Miami | — | 57 | 51 | 7 | 2 | 1 | 0 | 5 | 13 | 1 | 2 | 1 | 137 | 236 | 216 | 452 | 78 | 172 | 23 | 9 | 214 | 31 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 18 | ROK MLE | DSL Marlins | — | 141 | 115 | 17 | 2 | 1 | 0 | 22 | 51 | 3 | 9 | 2 | 148 | 300 | 183 | 483 | 35 | 247 | 36 | 16 | 231 | 42 | — | — | — | — | — | — |
| 2025 | 19 | ROK MLE | DSL Miami | — | 57 | 51 | 7 | 2 | 1 | 0 | 5 | 13 | 1 | 2 | 1 | 137 | 236 | 216 | 452 | 78 | 172 | 23 | 9 | 214 | 31 | — | — | — | — | — | — |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 21 | MLB MLE | MIA | 0% | 167 | 148 | 29 | 5 | 1 | 1 | 15 | 50 | 2 | 3 | 1 | 198 | 281 | 271 | 552 | 73 | 288 | 30 | 9 | 256 | 59 | -8 | +0 | +0 | +0 | +4 | -0.1 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 22 | MLB MLE | MIA | 34% | 70 | 63 | 13 | 2 | 1 | 1 | 6 | 21 | 1 | 1 | 0 | 203 | 285 | 286 | 571 | 84 | 289 | 30 | 9 | 263 | 64 | -3 | +0 | +0 | +0 | +2 | -0.1 |
| 2028 | 22 | MLB CTX | MIA | 34% | 24 | 22 | 4 | 1 | 0 | 0 | 2 | 7 | 0 | 0 | 0 | 197 | 279 | 274 | 554 | 78 | 280 | 29 | 8 | 256 | 64 | -1 | +0 | +0 | +0 | +1 | -0.1 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 24 | 22 | 4 | 1 | 0 | 0 | 2 | 7 | 0 | 0 | 0 | 182 | 250 | 227 | 477 | 45 | 267 | 29 | 8 | 256 | 45 | -1 | +0 | +0 | +0 | +1 | -0.1 | |
| / 162G | — | A+C | — | 650 | 596 | 108 | 27 | 0 | 0 | 54 | 190 | 0 | 0 | 0 | 181 | 249 | 227 | 476 | 45 | 266 | 29 | 8 | 256 | 45 | -28 | +0 | +0 | +0 | +14 | -1.4 | |
| Career | — | MLE | — | 375 | 316 | 50 | 8 | 3 | 1 | 50 | 123 | 6 | 16 | 3 | 158 | 285 | 212 | 497 | 54 | 251 | 33 | 13 | 234 | 45 | -4 | +0 | +0 | +0 | +2 | -0.2 | |
| / 162G | — | MLE | — | 650 | 548 | 87 | 14 | 5 | 2 | 87 | 213 | 10 | 28 | 5 | 159 | 285 | 214 | 499 | 55 | 251 | 33 | 13 | 234 | 45 | -29 | +3 | +0 | +0 | +14 | -1.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.
2025 DSLDSL Miami · 57 PAwOBA .330 → .214 (−116)K% 19.3% → 22.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.30% | ÷1.040 | ×1.220 | — | — | 22.64% |
| BB% (unintentional) /PA | 12.28% | ÷0.978 | ×0.700 | — | ×0.995 | 8.74% |
| HBP% /PA | 1.75% | — | ×0.700 | — | ×0.995 | 1.22% |
| Singles /BIP | 16.67% | ÷0.978 | ×0.680 | — | ×0.995 | 11.53% |
| Doubles /BIP | 8.33% | ÷1.026 | ×0.600 | — | ×0.995 | 4.85% |
| Triples /BIP | 2.78% | ÷1.088 | ×0.600 | — | ×0.995 | 1.52% |
| Home runs /BIP | 2.78% | ÷1.423 | ×0.470 | — | ×0.995 | 0.91% |
Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 185, 1B 96, 2B 105, 3B 118, K 108, BB 96 — 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).
Result: wOBA .330 → .214; ISO .170 → .087; BABIP .270 → .172. 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 DSLDSL Marlins · 141 PAwOBA .326 → .231 (−95)K% 29.8% → 36.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 29.79% | ÷1.004 | ×1.220 | — | — | 36.20% |
| BB% (unintentional) /PA | 21.99% | ÷0.997 | ×0.700 | — | ×1.008 | 15.55% |
| HBP% /PA | 2.13% | — | ×0.700 | — | ×1.008 | 1.50% |
| Singles /BIP | 29.69% | ÷0.976 | ×0.680 | ×1.022 | ×1.008 | 21.30% |
| Doubles /BIP | 4.69% | ÷1.059 | ×0.600 | ×1.022 | ×1.008 | 2.73% |
| Triples /BIP | 1.56% | ÷0.933 | ×0.600 | ×1.022 | ×1.008 | 1.03% |
| Home runs /BIP | 0.00% | ÷0.940 | ×0.470 | — | ×1.008 | 0.00% |
Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 88, 1B 95, 2B 112, 3B 87, K 101, BB 99 — 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.022.
Result: wOBA .326 → .231; ISO .047 → .030; BABIP .354 → .247. 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 DSLDSL Marlins · 78 PAwOBA .311 → .221 (−89)K% 30.8% → 37.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 30.77% | ÷1.006 | ×1.220 | — | — | 37.32% |
| BB% (unintentional) /PA | 24.36% | ÷0.997 | ×0.700 | — | ×1.022 | 17.48% |
| HBP% /PA | 1.28% | — | ×0.700 | — | ×1.022 | 0.92% |
| Singles /BIP | 26.47% | ÷0.968 | ×0.680 | — | ×1.022 | 19.02% |
| Doubles /BIP | 5.88% | ÷0.990 | ×0.600 | — | ×1.022 | 3.65% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.600 | — | ×1.022 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.285 | ×0.470 | — | ×1.022 | 0.00% |
Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 157, 1B 94, 2B 98, 3B 130, K 101, BB 99 — applied at half strength. Age: age 17 vs a level average of 18.5 → +2.2% on BB/HBP/hit rates (1.5 yr younger than average).
Result: wOBA .311 → .221; ISO .034 → .022; BABIP .324 → .227. 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).