Byron Castillo

OF ACL Angels
Age 21 R/R 6'0" / 197 lbs ROK K +5%HR +4% Svc 0.0 · Ctrl thru 2038
Overview
ROKPROSPECTMiLBFA 2039
MLB%0%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202418ROKLAA110.211/.306/.305173—.122/.204/.153
202519ROKLAA161.312/.394/.4965944—.179/.256/.262
202620ROKLAA61.175/.230/.31611-18—.121/.164/.224
2027PROJMLE21MLBLAA171.196/.253/.2832351-0.1
2028PROJ34% MLB22MLBLAA31.199/.257/.2940156-0.1
Next 2 projected WAR -0.2Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2038Service0.0First FA2039
2027MiLB2028MiLB2029Ext$0.0M2030Ext$0.0M2031Ext$0.0M2032Ext$0.0M2033Ext$0.9M2034Ext$1.0M+4
Skills · percentileMiLB Statcast 2026 Rk
Speed80
ISO61
Whiff%18
Z-Con%13
Chase%7
K%5
Career WAR0.0 WAR median (P10 0.0 / P90 0.0, comp-based) · star 0% · didn't stick 100%
CompsRandolph Gassaway (age 21) · Kyle Nevin (age 21) · Angel Aponte (age 21)
2027 FULL-SEASON PROJECTIONpark-neutral Marcel · 38 proj PA
wRC+†51
AVG/OBP/SLG.194 / .251 / .281
PA38
HR0
K%31
BB%6
ISO88
MLB%0%
Value2027 · WAR
BAT: -2.2 runs (wOBA-derived runs vs avg)-2BATRUN: +0.2 runs (SB/CS + UBR baserunning)+0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: -0.2 runs (Positional adjustment)-0POSREP: +0.8 runs (Replacement-level credit)+1REPTotal WAR: -0.10-0.1WAR
trajectory · projected WAR by year
-0.1-0.12728
Tools · ContractCON 45 / POW 40
Toolsscout grade
CONTACT45
scouting grade only
POWER40
scouting grade only
EYE30
scouting grade only
SPEED55
scouting grade only
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2033
Service   0 yrs (est)
Team Control Through   2038
First FA Year   2039
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2033
2028MiLBstill in minors · estimated debut 2033
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
2037Extbeyond projection horizon · no WAR estimate
2038Extbeyond 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.

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)
202317 ROKDSL Angels — 165146 23401 9499 83 158250205455 48227 305 221 -18 — — — — — —
202418 ROKDSL Angels — 11095 20601 9364 74 211306305611 95322 338 280 3 — — — — — —
202519 ROKDSL Angels — 161141 44725 13426 93 312394496890 184411 268 393 44 — — — — — —
202620 ROKACL Angels — 6157 10121 3221 10 175230316545 140265 365 243 -18 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202317 ROK MLEDSL Angels — 165149 14201 6609 83 94177128304 34149 364 141 -18 — — — — — —
202418 ROK MLEDSL Angels — 11098 12300 6424 74 122204153357 31204 385 173 3 — — — — — —
202519 ROK MLEDSL Angels — 161145 26412 9516 93 179256262518 83252 326 233 44 — — — — — —
202620 ROK MLEACL Angels — 6158 7111 2321 10 121164224388 103204 523 141 -18 — — — — — —
202317 ROK MLEDSL Angels — 165149 14201 6609 83 94177128304 34146 364 141 -18 — — — — — —
202317 ROK RAWDSL Angels — 165146 23401 9499 83 158250205455 48227 305 221 -18 — — — — — —
202418 ROK MLEDSL Angels — 11098 12300 6424 74 122204153357 31211 385 173 3 — — — — — —
202418 ROK RAWDSL Angels — 11095 20601 9364 74 211306305611 95322 338 280 3 — — — — — —
202519 ROK MLEDSL Angels — 161145 26412 9516 93 179256262518 83258 326 233 44 — — — — — —
202519 ROK RAWDSL Angels — 161141 44725 13426 93 312394496890 184411 268 393 44 — — — — — —
202620 ROK MLEACL Angels — 6158 7111 2321 10 121164224388 103240 523 141 -18 — — — — — —
202620 ROK RAWACL Angels — 6157 10121 3221 10 175230316545 140265 365 243 -18 — — — — — —
202317 ROK MLEDSL Angels — 165149 14201 6609 83 94177128304 34149 364 141 -18 — — — — — —
202418 ROK MLEDSL Angels — 11099 12300 6424 74 121204152355 30204 385 173 3 — — — — — —
202519 ROK MLEDSL Angels — 161145 26412 9516 93 179256262518 83252 326 233 44 — — — — — —
202620 ROK MLEACL Angels — 6158 7111 2321 10 121164224388 103204 523 141 -18 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202418 ROK MLEDSL Angels — 11099 12300 6424 74 121204152355 30204 385 173 3 — — — — — —
202519 ROK MLEDSL Angels — 161145 26412 9516 93 179256262518 83252 326 233 44 — — — — — —
202620 ROK MLEACL Angels — 6158 7111 2321 10 121164224388 103204 523 141 -18 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202721 MLB MLELAA 0% 171157 30512 10542 31 196253283536 88280 326 243 51 -10 +0 +0 -1 +4 -0.1
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202822 MLB MLELAA 34% 9185 17311 5281 20 200258295554 95281 315 251 56 -5 +0 +0 -1 +2 -0.3
202822 MLB CTXLAA 34% 3129 5100 2100 10 199257294551 95279 326 250 56 -2 +0 +0 -0 +1 -0.1
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 3129 5100 2100 10 172226207433 34263 326 250 16 -2 +0 +0 -0 +1 -0.1
/ 162G— A+C — 650608 1052100 422100 210 173226207433 35264 326 250 16 -34 +4 +0 -4 +14 -2.0
Career— MLE — 626570 821435 3022522 2810 144215205421 61224 365 192 16 -7 +1 +0 -1 +3 -0.4
/ 162G— MLE — 650592 851535 3123423 2910 144215204420 61225 365 192 16 -35 +3 +0 -4 +14 -2.3

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 ROKACL Angels · 61 PAwOBA .237 → .141 (−96)K% 36.1% → 51.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA36.07%÷1.000×1.440——51.93%
BB% (unintentional) /PA4.92%÷1.000×0.620—×0.9853.00%
HBP% /PA1.64%—×0.720—×0.9851.16%
Singles /BIP17.14%÷1.000×0.820—×0.98513.85%
Doubles /BIP2.86%÷1.000×0.720—×0.9852.03%
Triples /BIP5.71%÷1.000×0.720—×0.9854.05%
Home runs /BIP2.86%÷1.000×0.780—×0.9852.20%

Factors used: level-wide ROK 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 21 vs a level average of 19.5 → −1.5% on BB/HBP/hit rates (1.5 yr older than average).

Result: wOBA .237 → .141; ISO .140 → .079; BABIP .265 → .204. 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 DSLDSL Angels · 161 PAwOBA .385 → .233 (−151)K% 26.1% → 31.6%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA26.09%÷1.007×1.220——31.59%
BB% (unintentional) /PA8.07%÷0.973×0.700—×0.9855.72%
HBP% /PA3.73%—×0.700—×0.9852.57%
Singles /BIP30.30%÷0.990×0.680×0.950×0.98519.48%
Doubles /BIP7.07%÷0.920×0.600×0.950×0.9854.31%
Triples /BIP2.02%÷1.110×0.600×0.950×0.9851.02%
Home runs /BIP5.05%÷0.975×0.470—×0.9852.40%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 95, 1B 98, 2B 84, 3B 122, K 101, BB 95 — applied at half strength. Age: age 20 vs a level average of 18.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.950.

Result: wOBA .385 → .233; ISO .184 → .093; BABIP .411 → .252. 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 Angels · 110 PAwOBA .275 → .173 (−102)K% 32.7% → 38.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA32.73%÷1.038×1.220——38.46%
BB% (unintentional) /PA8.18%÷1.064×0.700—×0.9955.36%
HBP% /PA3.64%—×0.700—×0.9952.53%
Singles /BIP22.03%÷1.052×0.680×1.039×0.99514.72%
Doubles /BIP10.17%÷1.081×0.600×1.039×0.9955.83%
Triples /BIP0.00%÷0.961×0.600×1.039×0.9950.00%
Home runs /BIP1.69%÷1.068×0.470—×0.9950.74%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 114, 1B 110, 2B 116, 3B 92, K 108, BB 113 — 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.039.

Result: wOBA .275 → .173; ISO .095 → .050; BABIP .322 → .204. 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 Angels · 165 PAwOBA .217 → .141 (−76)K% 29.7% → 36.2%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA29.70%÷1.002×1.220——36.16%
BB% (unintentional) /PA5.45%÷1.018×0.700—×1.0083.78%
HBP% /PA5.45%—×0.700—×1.0083.85%
Singles /BIP18.56%÷1.028×0.680×0.993×1.00812.29%
Doubles /BIP4.12%÷0.927×0.600×0.993×1.0082.67%
Triples /BIP0.00%÷1.150×0.600×0.993×1.0080.00%
Home runs /BIP1.03%÷0.852×0.470—×1.0080.57%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 70, 1B 106, 2B 85, 3B 130, K 100, BB 104 — 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 ×0.993.

Result: wOBA .217 → .141; ISO .048 → .028; BABIP .227 → .149. 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).