Osniel Castillo

OF ACL White Sox
Age 21 R/R 5'11" / 170 lbs ROK HR +4% Svc 0.0 · Ctrl thru 2038
Overview
ROKPROSPECTMiLBFA 2039
MLB%0%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202519ROKCWS54.375/.444/.5421966—.240/.296/.320
202620ROKCWS82.256/.293/.3591522—.188/.207/.275
2027PROJMLE21MLBCWS192.208/.261/.2902555-0.1
2028PROJ34% MLB22MLBCWS34.213/.267/.3030160-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
Speed66
ISO42
K%40
Whiff%36
Z-Con%32
wOBA11
Career WAR0.0 WAR median (P10 0.0 / P90 0.0, comp-based) · star 0% · didn't stick 100%
CompsAngel Aponte (age 21) · Chris Roller (age 21) · Kyle Nevin (age 21)
2027 FULL-SEASON PROJECTIONpark-neutral Marcel · 46 proj PA
wRC+†55
AVG/OBP/SLG.207 / .259 / .287
PA46
HR0
K%29
BB%6
ISO81
MLB%0%
Value2027 · WAR
BAT: -2.5 runs (wOBA-derived runs vs avg)-2BATRUN: +0.2 runs (SB/CS + UBR baserunning)+0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: -0.3 runs (Positional adjustment)-0POSREP: +1.0 runs (Replacement-level credit)+1REPTotal WAR: -0.10-0.1WAR
trajectory · projected WAR by year
-0.1-0.12728
Tools · Contract
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)
202519 ROKDSL White Sox — 5448 18311 591 91 375444542986 167447 179 436 66 — — — — — —
202620 ROKACL White Sox — 8278 20311 4190 51 256293359652 103328 235 292 22 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202519 ROK MLEDSL White Sox — 5450 12210 3111 91 240296320616 80283 206 266 66 — — — — — —
202620 ROK MLEACL White Sox — 8280 15211 2270 51 188207275482 88269 332 200 22 — — — — — —
202519 ROK MLEDSL White Sox — 5450 12210 3111 91 240296320616 80308 206 266 66 — — — — — —
202519 ROK RAWDSL White Sox — 5448 18311 591 91 375444542986 167447 179 436 66 — — — — — —
202620 ROK MLEACL White Sox — 8280 15211 2270 51 188207275482 88269 332 200 22 — — — — — —
202620 ROK RAWACL White Sox — 8278 20311 4190 51 256293359652 103328 235 292 22 — — — — — —
202519 ROK MLEDSL White Sox — 5450 12210 3111 91 240296320616 80283 206 266 66 — — — — — —
202620 ROK MLEACL White Sox — 8280 15211 2270 51 188207275482 88269 332 200 22 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202519 ROK MLEDSL White Sox — 5450 12210 3111 91 240296320616 80283 206 266 66 — — — — — —
202620 ROK MLEACL White Sox — 8280 15211 2270 51 188207275482 88269 332 200 22 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202721 MLB MLECWS 0% 192178 38622 11561 51 208261290551 81289 296 250 55 -10 +1 +0 -1 +4 -0.1
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202822 MLB MLECWS 34% 9992 19311 6281 30 212266301568 89290 286 257 60 -5 +1 +0 -1 +2 -0.3
202822 MLB CTXCWS 34% 3432 6100 2100 10 213267303570 90291 296 257 60 -2 +0 +0 -0 +1 -0.1
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 3432 6100 2100 10 188235219454 31273 296 257 49 -2 +0 +0 -0 +1 -0.1
/ 162G— A+C — 650612 1151900 381910 190 188235219454 31273 296 257 49 -31 +4 +0 -4 +14 -1.7
Career— MLE — 281265 54832 14792 182 204249279528 75283 285 241 49 -7 +1 +0 -1 +3 -0.4
/ 162G— MLE — 650613 1261975 321835 425 206251284535 78285 285 241 49 -32 +4 +0 -4 +14 -1.9

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 White Sox · 82 PAwOBA .284 → .200 (−83)K% 23.2% → 33.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA23.17%÷1.000×1.440——33.37%
BB% (unintentional) /PA4.88%÷1.000×0.620—×0.9953.01%
HBP% /PA0.00%—×0.720—×0.9950.00%
Singles /BIP25.42%÷1.000×0.820×1.037×0.99521.50%
Doubles /BIP5.08%÷1.000×0.720×1.037×0.9953.78%
Triples /BIP1.69%÷1.000×0.720×1.037×0.9951.26%
Home runs /BIP1.69%÷1.000×0.780—×0.9951.32%

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 20 vs a level average of 19.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.037.

Result: wOBA .284 → .200; ISO .103 → .068; BABIP .328 → .269. 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 White Sox · 54 PAwOBA .424 → .266 (−158)K% 16.7% → 20.2%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA16.67%÷1.004×1.220——20.24%
BB% (unintentional) /PA9.26%÷1.005×0.700—×0.9956.42%
HBP% /PA1.85%—×0.700—×0.9951.29%
Singles /BIP33.33%÷1.021×0.680—×0.99522.09%
Doubles /BIP7.69%÷1.070×0.600—×0.9954.29%
Triples /BIP2.56%÷0.927×0.600—×0.9951.65%
Home runs /BIP2.56%÷1.102×0.470—×0.9951.09%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 120, 1B 104, 2B 114, 3B 85, K 101, BB 101 — 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 .424 → .266; ISO .167 → .088; BABIP .447 → .283. 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).