Luis Castillo

OF Wisconsin Timber Rattlers
Age 23 L/L 6'0" / 175 lbs A+ HR +10%K +6% Svc 0.0 · Ctrl thru 2036
Overview
A+PROSPECTMiLBFA 2037
OGV OFP35OGV rank#2424ETA2029MLB%0%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202420ACarolina Mudc…462.207/.313/.38918445—.157/.239/.281
202521A+/ROKMIL132.117/.252/.21620-5—.076/.183/.137
202622A+MIL440.245/.362/.46920382—.202/.288/.372
2027PROJMLE23MLBMIL1.195/.280/.3490078-0.0
2028PROJ30% MLB24MLBMIL115.200/.285/.3604182-0.0
2029PROJ44% MLB25MLBMIL185.203/.288/.3666284-0.1
Next 3 projected WAR -0.1Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2036Service0.0First FA2037
2027MiLB2028MiLB2029MiLB2030MiLB2031Pre-Arb$0.9M2032Pre-Arb$0.9M2033Pre-Arb$0.9M2034Arb-1$0.2M+2
Skills · percentileMiLB Statcast 2026 A+
Chase%90
ISO81
BB%74
wOBA66
wRC+61
Whiff%56
Career WAR0.0 WAR median (P10 -0.1 / P90 0.4, comp-based) · star 1% · didn't stick 93%
CompsDaniel Palka (age 23) · Ryan Costello (age 23) · Alex Binelas (age 23)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†78
AVG/OBP/SLG.195 / .280 / .349
PA1
HR0
K%30
BB%10
BABIP250
ISO151
MLB%0%
Value2027 · WAR
BAT: -5.6 runs (wOBA-derived runs vs avg)-6BATRUN: +0.3 runs (SB/CS + UBR baserunning)+0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: -1.3 runs (Positional adjustment)-1POSREP: +4.5 runs (Replacement-level credit)+5REPTotal WAR: -0.10-0.1WAR
0.00.51.00.00.00.00.027282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit-$3M ctrl surplus
Tools · ContractCON 34 / POW 53
Toolsscout grade
CONTACT34
scouting grade only
POWER53
scouting grade only
EYE63
scouting grade only
SPEED49
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
2029MiLBstill in minors · estimated debut 2031
2030MiLBstill in minors · estimated debut 2031
2031Pre-Arb$0.9M———
2032Pre-Arb$0.9M———
2033Pre-Arb$0.9M———
2034Arb-1$0.2M———
2035Extbeyond projection horizon · no WAR estimate
2036Extbeyond projection horizon · no WAR estimate
Totals $0.0M $-2M +$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)
202117 ROKDSL Brewers 1 — 156139 35700 15241 31 252329302631 50302 1510 292 19 — — — — — —
202218 ACarolina Mudcats — 113100 25203 11252 42 250336360696 110306 2210 319 53 — — — — — —
202218 ROKACL Brewers Gold — 137118 35923 17281 10 297390483873 186364 2012 384 72 — — — — — —
202319 ACarolina Mudcats — 166146 33503 16462 11 226311322633 96303 2810 289 31 — — — — — —
202319 ROKACL Brewers — 2617 8300 640 00 4716096471.256 176500 1523 483 199 — — — — — —
202420 ACarolina Mudcats — 462396 8216118 581183 41 207313389702 182242 2613 313 45 — — — — — —
202521 A+Wisconsin Timber Rattlers — 11494 9212 19370 00 96248202450 106125 3217 221 -6 — — — — — —
202521 ROKACL Brewers — 1817 4100 130 00 235278294572 59286 176 261 1 — — — — — —
202622 A+Wisconsin Timber Rattlers — 440367 9020120 641043 31 245362469830 223281 2415 364 82 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202117 ROK MLEDSL Brewers 1 — 156143 24400 11311 31 168232196428 28209 207 197 19 — — — — — —
202218 A MLECarolina Mudcats — 113103 21202 8352 42 204274282556 78281 317 246 53 — — — — — —
202218 ROK MLEACL Brewers Gold — 137125 28622 10411 10 224287352639 128302 307 275 72 — — — — — —
202319 A MLECarolina Mudcats — 166151 25302 11632 11 166232225457 60262 387 214 31 — — — — — —
202319 ROK MLEACL Brewers — 2619 8300 460 00 4215225791.101 158414 2315 463 199 — — — — — —
202420 A MLECarolina Mudcats — 462413 6513112 411583 41 157239281519 123210 349 235 45 — — — — — —
202521 A+ MLEWisconsin Timber Rattlers — 11499 6111 14500 00 61177121298 61111 4412 159 -6 — — — — — —
202521 ROK MLEACL Brewers — 1817 3100 140 00 176222235458 59211 226 169 1 — — — — — —
202622 A+ MLEWisconsin Timber Rattlers — 440387 7816116 441323 31 202288372660 171246 3010 289 82 — — — — — —
202117 ROK MLEDSL Brewers 1 — 156143 24400 11311 31 168232196428 28212 207 197 19 — — — — — —
202117 ROK RAWDSL Brewers 1 — 156139 35700 15241 31 252329302631 50302 1510 292 19 — — — — — —
202218 ROK MLE2 teams — 250227 49824 19753 52 216285322607 106302 308 262 63 — — — — — —
202218 ROK RAW2 teams — 250218 601126 28533 52 275365427792 151338 2111 355 63 — — — — — —
202319 A MLE2 teams — 192170 33602 15692 11 194267265532 71298 368 248 54 — — — — — —
202319 A RAW2 teams — 192163 41803 22502 11 252348356703 104330 2611 315 54 — — — — — —
202420 A MLECarolina Mudcats — 462413 6513112 411583 41 157239281519 123214 349 235 45 — — — — — —
202420 A RAWCarolina Mudcats — 462396 8216118 581183 41 207313389702 182242 2613 313 45 — — — — — —
202521 A+ MLE2 teams — 132116 9211 15540 00 78183138321 60129 4111 160 -5 — — — — — —
202521 A+ RAW2 teams — 132111 13312 20400 00 117252216468 99157 3015 227 -5 — — — — — —
202622 A+ MLEWisconsin Timber Rattlers — 440387 7816116 441323 31 202288372660 171253 3010 289 82 — — — — — —
202622 A+ RAWWisconsin Timber Rattlers — 440367 9020120 641043 31 245362469830 223281 2415 364 82 — — — — — —
202117 ROK MLEDSL Brewers 1 — 156143 24400 11311 31 168232196428 28209 207 197 19 — — — — — —
202218 ROK MLE2 teams — 250226 49824 19753 52 217285323608 106293 308 262 63 — — — — — —
202319 A MLE2 teams — 192173 33602 15692 11 191267260527 69283 368 248 54 — — — — — —
202420 A MLECarolina Mudcats — 462415 6513112 411583 41 157239280518 123210 349 235 45 — — — — — —
202521 A+ MLE2 teams — 132116 9211 15540 00 78183138321 60125 4111 160 -5 — — — — — —
202622 A+ MLEWisconsin Timber Rattlers — 440390 7816116 441323 31 200288369657 169246 3010 289 82 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202420 A MLECarolina Mudcats — 462415 6513112 411583 41 157239280518 123210 349 235 45 — — — — — —
202521 A+ MLE2 teams — 132116 9211 15540 00 78183138321 60125 4111 160 -5 — — — — — —
202622 A+ MLEWisconsin Timber Rattlers — 440390 7816116 441323 31 200288369657 169246 3010 289 82 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202723 MLB MLEMIL 0% 517457 9018216 521543 41 197282348630 151254 3010 283 78 -14 +0 +0 -3 +11 -0.1
▸ 2027 — real world (MLB)
202723 MLB CTXMIL 0% 11 0000 000 00 195280349629 154250 00 283 78 -0 +0 +0 -0 +0 -0.0
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202824 MLB MLEMIL 30% 380337 6814112 381112 31 202286359645 157257 2910 289 82 -8 +0 +0 -2 +8 -0.2
202925 MLB MLEMIL 44% 418371 7615114 421202 41 205289365654 160260 2910 293 84 -8 +0 +0 -3 +9 -0.1
203026 MLB MLEMIL 51% 438389 8016214 441252 41 207291367658 160261 2910 295 86 -8 +0 +0 -3 +9 -0.0
203127 MLB MLEMIL 52% 445395 8216214 441263 41 208292367658 159262 2810 295 86 -8 +0 +0 -3 +10 -0.0
203228 MLB MLEMIL 53% 444394 8116114 441253 41 208291364655 156263 2810 293 85 -8 +0 -1 -3 +10 -0.1
203329 MLB MLEMIL 57% 435387 7916113 431242 31 205288358646 152261 2910 290 82 -9 +0 -1 -3 +9 -0.4
203430 MLB MLEMIL 55% 423377 7615113 411222 22 202284350634 147259 2910 285 79 -11 -0 -2 -3 +9 -0.7
202824 MLB CTXMIL 30% 115102 20404 11341 10 200285360645 160253 3010 289 82 -2 +0 +0 -1 +2 -0.0
202925 MLB CTXMIL 44% 185164 33616 18531 21 203288366654 163255 2910 293 84 -3 +0 +0 -1 +4 -0.1
203026 MLB CTXMIL 51% 222197 41818 22631 21 205290368658 163257 2810 294 86 -4 +0 +0 -1 +5 -0.0
203127 MLB CTXMIL 52% 233207 43818 23661 21 206290368658 162258 2810 294 86 -4 +0 +0 -1 +5 -0.0
203228 MLB CTXMIL 53% 237211 44818 23671 21 206289365654 159258 2810 293 85 -4 +0 -0 -1 +5 -0.1
203329 MLB CTXMIL 57% 248221 45818 24711 11 204287359645 155257 2910 289 82 -5 -0 -1 -1 +5 -0.2
203430 MLB CTXMIL 55% 231206 42817 22671 11 201283350633 150254 2910 285 79 -6 -0 -1 -1 +5 -0.4
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 14711308 26850649 1434217 116 205287365651 160259 2910 291 73 -29 -0 -2 -9 +32 -0.9
/ 162G— A+C — 650578 11922322 631863 53 206287369656 163260 2910 291 73 -13 -0 -1 -4 +14 -0.4
Career— MLE — 48254292 83716515135 462143529 4214 195278335612 140255 3010 276 73 -64 +2 -4 -19 +69 -1.7
/ 162G— MLE — 650578 11222218 621934 62 194276332609 138253 3010 276 73 -13 +0 -1 -4 +14 -0.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 A+Wisconsin Timber Rattlers · 440 PAwOBA .359 → .289 (−70)K% 23.6% → 30.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA23.64%÷1.000×1.270——30.02%
BB% (unintentional) /PA14.32%÷1.000×0.710—×0.99810.15%
HBP% /PA0.68%—×0.790—×0.9980.54%
Singles /BIP18.63%÷1.000×0.920×1.005×0.99817.19%
Doubles /BIP7.60%÷1.000×0.810×1.005×0.9986.18%
Triples /BIP0.38%÷1.000×0.850×1.005×0.9980.32%
Home runs /BIP7.60%÷1.000×0.800—×0.9986.07%

Factors used: league row Midwest League. 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.005.

Result: wOBA .359 → .289; ISO .223 → .178; BABIP .281 → .246. 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 A+Wisconsin Timber Rattlers · 114 PAwOBA .219 → .159 (−59)K% 32.5% → 43.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA32.46%÷0.943×1.270——43.70%
BB% (unintentional) /PA16.67%÷0.965×0.710—×1.01212.41%
HBP% /PA0.00%—×0.790—×1.0120.00%
Singles /BIP7.02%÷1.023×0.920×1.012×1.0126.46%
Doubles /BIP3.51%÷1.013×0.810×1.012×1.0122.87%
Triples /BIP1.75%÷0.900×0.850×1.012×1.0121.70%
Home runs /BIP3.51%÷1.246×0.800—×1.0122.28%

Factors used: league row Midwest League. Park (home-season share, regressed): HR 149, 1B 105, 2B 103, 3B 80, K 89, BB 93 — applied at half strength. Age: age 22 vs a level average of 22.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.012.

Result: wOBA .219 → .159; ISO .106 → .070; BABIP .125 → .111. 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 ROKACL Brewers · 18 PAwOBA .254 → .169 (−85)K% 16.7% → 24.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA16.67%÷0.973×1.440——24.67%
BB% (unintentional) /PA5.56%÷1.011×0.620—×0.9753.32%
HBP% /PA0.00%—×0.720—×0.9750.00%
Singles /BIP21.43%÷1.031×0.820—×0.97516.62%
Doubles /BIP7.14%÷1.109×0.720—×0.9754.52%
Triples /BIP0.00%÷1.001×0.720—×0.9750.00%
Home runs /BIP0.00%÷0.971×0.780—×0.9750.00%

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

Result: wOBA .254 → .169; ISO .059 → .034; BABIP .286 → .211. 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 ACarolina Mudcats · 462 PAwOBA .308 → .235 (−73)K% 25.5% → 34.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA25.54%÷1.013×1.360——34.31%
BB% (unintentional) /PA12.34%÷0.980×0.690—×1.0158.82%
HBP% /PA0.65%—×0.780—×1.0150.51%
Singles /BIP16.91%÷1.066×0.920×1.011×1.01514.98%
Doubles /BIP5.76%÷0.962×0.830×1.011×1.0155.09%
Triples /BIP0.36%÷1.007×0.910×1.011×1.0150.33%
Home runs /BIP6.47%÷1.101×0.800—×1.0154.78%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 120, 1B 113, 2B 92, 3B 101, K 103, BB 96 — 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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.011.

Result: wOBA .308 → .235; ISO .182 → .132; BABIP .242 → .210. 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 ACarolina Mudcats · 166 PAwOBA .285 → .214 (−71)K% 27.7% → 38.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA27.71%÷0.990×1.360——38.07%
BB% (unintentional) /PA9.64%÷1.018×0.690—×1.0306.73%
HBP% /PA1.20%—×0.780—×1.0300.97%
Singles /BIP25.00%÷1.049×0.920×0.989×1.03022.34%
Doubles /BIP5.00%÷1.090×0.830×0.989×1.0303.88%
Triples /BIP0.00%÷0.900×0.910×0.989×1.0300.00%
Home runs /BIP3.00%÷1.072×0.800—×1.0302.31%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 114, 1B 110, 2B 118, 3B 80, K 98, BB 104 — applied at half strength. Age: age 20 vs a level average of 22.0 → +3.0% on BB/HBP/hit rates (2.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.989.

Result: wOBA .285 → .214; ISO .096 → .067; BABIP .303 → .262. 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 Brewers · 26 PAwOBA .534 → .463 (−71)K% 15.4% → 22.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA15.38%÷0.969×1.440——22.87%
BB% (unintentional) /PA23.08%÷0.998×0.620—×0.99514.26%
HBP% /PA0.00%—×0.720—×0.9950.00%
Singles /BIP38.46%÷0.991×0.820—×0.99531.68%
Doubles /BIP23.08%÷0.952×0.720—×0.99517.37%
Triples /BIP0.00%÷0.923×0.720—×0.9950.00%
Home runs /BIP0.00%÷0.898×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 80, 1B 98, 2B 90, 3B 85, K 94, 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 .534 → .463; ISO .176 → .167; BABIP .500 → .414. 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 ROKACL Brewers Gold · 137 PAwOBA .377 → .275 (−102)K% 20.4% → 29.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA20.44%÷0.991×1.440——29.71%
BB% (unintentional) /PA12.41%÷1.017×0.620—×1.0087.62%
HBP% /PA0.73%—×0.720—×1.0080.53%
Singles /BIP23.33%÷0.979×0.820×1.045×1.00820.59%
Doubles /BIP10.00%÷1.023×0.720×1.045×1.0087.41%
Triples /BIP2.22%÷0.900×0.720×1.045×1.0081.87%
Home runs /BIP3.33%÷1.144×0.780—×1.0082.29%

Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 129, 1B 96, 2B 105, 3B 80, K 98, BB 103 — applied at half strength. Age: age 19 vs a level average of 19.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.045.

Result: wOBA .377 → .275; ISO .186 → .130; BABIP .364 → .302. 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 ACarolina Mudcats · 113 PAwOBA .311 → .246 (−65)K% 22.1% → 30.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA22.12%÷0.977×1.360——30.80%
BB% (unintentional) /PA9.73%÷0.975×0.690—×1.0457.20%
HBP% /PA1.77%—×0.780—×1.0451.44%
Singles /BIP26.67%÷1.034×0.920×1.010×1.04525.05%
Doubles /BIP2.67%÷1.036×0.830×1.010×1.0452.26%
Triples /BIP0.00%÷1.150×0.910×1.010×1.0450.00%
Home runs /BIP4.00%÷1.136×0.800—×1.0452.94%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 127, 1B 107, 2B 107, 3B 130, K 95, BB 95 — applied at half strength. Age: age 19 vs a level average of 22.0 → +4.5% on BB/HBP/hit rates (3.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.010.

Result: wOBA .311 → .246; ISO .110 → .076; BABIP .306 → .281. 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).