Luis Rodriguez
SS ACL Guardians| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2024 | 19 | A/ROK2 orgs | 104 | .207/.343/.268 | 0 | 2 | 35 | — | .189/.295/.246 |
| 2025 | 20 | ROKLAA | 76 | .295/.386/.328 | 0 | 2 | 53 | — | .250/.314/.281 |
| 2026 | 21 | ROKCLE | 35 | .129/.229/.129 | 0 | 1 | -36 | — | .091/.143/.091 |
| 2027PROJMLE | 22 | MLBCLE | 145 | .205/.270/.282 | 1 | 2 | 57 | 0.0 | |
| 2028PROJ34% MLB | 23 | MLBCLE | 33 | .209/.275/.294 | 0 | 0 | 62 | -0.0 |
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 | 18 | ROK | ACL Angels | — | 92 | 73 | 19 | 5 | 1 | 2 | 10 | 21 | 2 | 5 | 0 | 260 | 365 | 438 | 803 | 178 | 321 | 23 | 11 | 333 | 66 | — | — | — | — | — | — |
| 2024 | 19 | A | Inland Empire 66ers | — | 52 | 43 | 7 | 1 | 1 | 0 | 7 | 14 | 1 | 0 | 0 | 163 | 294 | 233 | 527 | 70 | 241 | 27 | 13 | 251 | 15 | — | — | — | — | — | — |
| 2024 | 19 | ROK | ACL Angels | — | 52 | 39 | 10 | 2 | 0 | 0 | 6 | 9 | 3 | 2 | 1 | 256 | 396 | 308 | 704 | 51 | 323 | 17 | 12 | 312 | 55 | — | — | — | — | — | — |
| 2025 | 20 | ROK | ACL Angels | — | 76 | 61 | 18 | 2 | 0 | 0 | 7 | 13 | 2 | 2 | 0 | 295 | 386 | 328 | 714 | 33 | 360 | 17 | 9 | 308 | 53 | — | — | — | — | — | — |
| 2026 | 21 | ROK | ACL Guardians | — | 35 | 31 | 4 | 0 | 0 | 0 | 4 | 11 | 0 | 1 | 0 | 129 | 229 | 129 | 358 | 200 | 31 | 11 | 183 | -36 | — | — | — | — | — | — | |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2023 | 18 | ROK MLE | ACL Angels | — | 92 | 77 | 17 | 4 | 1 | 2 | 6 | 32 | 2 | 5 | 0 | 221 | 294 | 377 | 671 | 156 | 270 | 35 | 7 | 266 | 66 | — | — | — | — | — | — |
| 2024 | 19 | A MLE | Inland Empire 66ers | — | 52 | 45 | 6 | 1 | 1 | 0 | 5 | 20 | 1 | 0 | 0 | 133 | 235 | 200 | 435 | 67 | 223 | 38 | 10 | 190 | 15 | — | — | — | — | — | — |
| 2024 | 19 | ROK MLE | ACL Angels | — | 52 | 41 | 10 | 2 | 0 | 0 | 4 | 13 | 3 | 2 | 1 | 244 | 354 | 293 | 647 | 49 | 268 | 25 | 8 | 250 | 55 | — | — | — | — | — | — |
| 2025 | 20 | ROK MLE | ACL Angels | — | 76 | 64 | 16 | 2 | 0 | 0 | 4 | 19 | 2 | 2 | 0 | 250 | 314 | 281 | 596 | 31 | 295 | 25 | 5 | 246 | 53 | — | — | — | — | — | — |
| 2026 | 21 | ROK MLE | ACL Guardians | — | 35 | 33 | 3 | 0 | 0 | 0 | 2 | 16 | 0 | 1 | 0 | 91 | 143 | 91 | 234 | 160 | 46 | 6 | 115 | -36 | — | — | — | — | — | — | |
| 2023 | 18 | ROK MLE | ACL Angels | — | 92 | 77 | 17 | 4 | 1 | 2 | 6 | 32 | 2 | 5 | 0 | 221 | 294 | 377 | 671 | 156 | 326 | 35 | 7 | 266 | 66 | — | — | — | — | — | — |
| 2023 | 18 | ROK RAW | ACL Angels | — | 92 | 73 | 19 | 5 | 1 | 2 | 10 | 21 | 2 | 5 | 0 | 260 | 365 | 438 | 803 | 178 | 321 | 23 | 11 | 333 | 66 | — | — | — | — | — | — |
| 2024 | 19 | A MLE | 2 teams | — | 104 | 87 | 15 | 2 | 1 | 0 | 8 | 33 | 4 | 2 | 1 | 172 | 273 | 218 | 491 | 46 | 273 | 32 | 8 | 220 | 35 | — | — | — | — | — | — |
| 2024 | 19 | A RAW | 2 teams | — | 104 | 82 | 17 | 3 | 1 | 0 | 13 | 23 | 4 | 2 | 1 | 207 | 343 | 268 | 612 | 61 | 283 | 22 | 12 | 281 | 35 | — | — | — | — | — | — |
| 2025 | 20 | ROK MLE | ACL Angels | — | 76 | 64 | 16 | 2 | 0 | 0 | 4 | 19 | 2 | 2 | 0 | 250 | 314 | 281 | 596 | 31 | 340 | 25 | 5 | 246 | 53 | — | — | — | — | — | — |
| 2025 | 20 | ROK RAW | ACL Angels | — | 76 | 61 | 18 | 2 | 0 | 0 | 7 | 13 | 2 | 2 | 0 | 295 | 386 | 328 | 714 | 33 | 360 | 17 | 9 | 308 | 53 | — | — | — | — | — | — |
| 2026 | 21 | ROK MLE | ACL Guardians | — | 35 | 33 | 3 | 0 | 0 | 0 | 2 | 16 | 0 | 1 | 0 | 91 | 143 | 91 | 234 | 176 | 46 | 6 | 115 | -36 | — | — | — | — | — | — | |
| 2026 | 21 | ROK RAW | ACL Guardians | — | 35 | 31 | 4 | 0 | 0 | 0 | 4 | 11 | 0 | 1 | 0 | 129 | 229 | 129 | 358 | 200 | 31 | 11 | 183 | -36 | — | — | — | — | — | — | |
| 2023 | 18 | ROK MLE | ACL Angels | — | 92 | 84 | 17 | 4 | 1 | 2 | 6 | 32 | 2 | 5 | 0 | 202 | 294 | 345 | 639 | 143 | 270 | 35 | 7 | 266 | 66 | — | — | — | — | — | — |
| 2024 | 19 | A MLE | 2 teams | — | 104 | 91 | 15 | 2 | 1 | 0 | 8 | 33 | 4 | 2 | 1 | 165 | 273 | 209 | 482 | 44 | 245 | 32 | 8 | 220 | 35 | — | — | — | — | — | — |
| 2025 | 20 | ROK MLE | ACL Angels | — | 76 | 70 | 16 | 2 | 0 | 0 | 4 | 19 | 2 | 2 | 0 | 229 | 314 | 257 | 571 | 29 | 295 | 25 | 5 | 246 | 53 | — | — | — | — | — | — |
| 2026 | 21 | ROK MLE | ACL Guardians | — | 35 | 33 | 3 | 0 | 0 | 0 | 2 | 16 | 0 | 1 | 0 | 91 | 143 | 91 | 234 | 160 | 46 | 6 | 115 | -36 | — | — | — | — | — | — | |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 19 | A MLE | 2 teams | — | 104 | 91 | 15 | 2 | 1 | 0 | 8 | 33 | 4 | 2 | 1 | 165 | 273 | 209 | 482 | 44 | 245 | 32 | 8 | 220 | 35 | — | — | — | — | — | — |
| 2025 | 20 | ROK MLE | ACL Angels | — | 76 | 70 | 16 | 2 | 0 | 0 | 4 | 19 | 2 | 2 | 0 | 229 | 314 | 257 | 571 | 29 | 295 | 25 | 5 | 246 | 53 | — | — | — | — | — | — |
| 2026 | 21 | ROK MLE | ACL Guardians | — | 35 | 33 | 3 | 0 | 0 | 0 | 2 | 16 | 0 | 1 | 0 | 91 | 143 | 91 | 234 | 160 | 46 | 6 | 115 | -36 | — | — | — | — | — | — | |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 22 | MLB MLE | CLE | 0% | 145 | 132 | 26 | 4 | 1 | 1 | 10 | 43 | 2 | 2 | 1 | 205 | 270 | 282 | 552 | 77 | 288 | 30 | 7 | 253 | 57 | -7 | +0 | +0 | +2 | +3 | 0.0 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 23 | MLB MLE | CLE | 34% | 98 | 90 | 19 | 3 | 1 | 1 | 7 | 28 | 1 | 1 | 0 | 209 | 275 | 296 | 571 | 87 | 289 | 29 | 7 | 260 | 62 | -4 | +0 | +0 | +1 | +2 | -0.1 |
| 2028 | 23 | MLB CTX | CLE | 34% | 33 | 31 | 6 | 1 | 0 | 0 | 2 | 10 | 0 | 0 | 0 | 209 | 275 | 294 | 569 | 85 | 289 | 30 | 6 | 260 | 62 | -1 | +0 | +0 | +0 | +1 | -0.0 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 33 | 31 | 6 | 1 | 0 | 0 | 2 | 10 | 0 | 0 | 0 | 194 | 242 | 226 | 468 | 32 | 286 | 30 | 6 | 260 | 47 | -1 | +0 | +0 | +0 | +1 | -0.0 | |
| / 162G | — | A+C | — | 650 | 611 | 118 | 20 | 0 | 0 | 39 | 197 | 0 | 0 | 0 | 193 | 242 | 226 | 467 | 33 | 285 | 30 | 6 | 260 | 47 | -29 | +0 | +0 | +7 | +14 | -0.8 | |
| Career | — | MLE | — | 443 | 386 | 76 | 12 | 3 | 3 | 30 | 139 | 9 | 12 | 1 | 197 | 271 | 267 | 537 | 70 | 292 | 31 | 7 | 237 | 47 | -6 | +0 | +0 | +1 | +3 | -0.2 | |
| / 162G | — | MLE | — | 650 | 566 | 111 | 18 | 4 | 4 | 44 | 204 | 13 | 18 | 1 | 196 | 270 | 263 | 533 | 67 | 292 | 31 | 7 | 237 | 47 | -30 | +2 | +0 | +7 | +14 | -0.7 | |
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 Guardians · 35 PAwOBA .179 → .115 (−64)K% 31.4% → 45.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 31.43% | ÷1.000 | ×1.440 | — | — | 45.26% |
| BB% (unintentional) /PA | 11.43% | ÷1.000 | ×0.620 | — | ×0.975 | 6.91% |
| HBP% /PA | 0.00% | — | ×0.720 | — | ×0.975 | 0.00% |
| Singles /BIP | 20.00% | ÷1.000 | ×0.820 | — | ×0.975 | 15.99% |
| Doubles /BIP | 0.00% | ÷1.000 | ×0.720 | — | ×0.975 | 0.00% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.720 | — | ×0.975 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.780 | — | ×0.975 | 0.00% |
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 22 vs a level average of 19.5 → −2.5% on BB/HBP/hit rates (2.5 yr older than average).
Result: wOBA .179 → .115; ISO .000 → .000; BABIP .200 → .160. 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 Angels · 76 PAwOBA .309 → .246 (−63)K% 17.1% → 25.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.11% | ÷0.969 | ×1.440 | — | — | 25.43% |
| BB% (unintentional) /PA | 9.21% | ÷1.082 | ×0.620 | — | ×0.985 | 5.20% |
| HBP% /PA | 2.63% | — | ×0.720 | — | ×0.985 | 1.87% |
| Singles /BIP | 33.33% | ÷1.015 | ×0.820 | ×1.039 | ×0.985 | 27.57% |
| Doubles /BIP | 4.17% | ÷0.992 | ×0.720 | ×1.039 | ×0.985 | 3.10% |
| Triples /BIP | 0.00% | ÷1.134 | ×0.720 | ×1.039 | ×0.985 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.873 | ×0.780 | — | ×0.985 | 0.00% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 75, 1B 103, 2B 98, 3B 127, K 94, BB 116 — 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 ×1.039.
Result: wOBA .309 → .246; ISO .033 → .026; BABIP .360 → .295. 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 AInland Empire 66ers · 52 PAwOBA .245 → .190 (−56)K% 26.9% → 38.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 26.92% | ÷0.957 | ×1.360 | — | — | 38.27% |
| BB% (unintentional) /PA | 13.46% | ÷1.057 | ×0.690 | — | ×1.030 | 9.05% |
| HBP% /PA | 1.92% | — | ×0.780 | — | ×1.030 | 1.55% |
| Singles /BIP | 17.24% | ÷0.983 | ×0.920 | — | ×1.030 | 16.62% |
| Doubles /BIP | 3.45% | ÷1.023 | ×0.830 | — | ×1.030 | 2.88% |
| Triples /BIP | 3.45% | ÷1.139 | ×0.910 | — | ×1.030 | 2.84% |
| Home runs /BIP | 0.00% | ÷0.882 | ×0.800 | — | ×1.030 | 0.00% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 76, 1B 97, 2B 105, 3B 128, K 91, BB 111 — 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).
Result: wOBA .245 → .190; ISO .070 → .053; BABIP .241 → .223. 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 Angels · 52 PAwOBA .311 → .250 (−61)K% 17.3% → 24.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.31% | ÷1.004 | ×1.440 | — | — | 24.83% |
| BB% (unintentional) /PA | 11.54% | ÷1.026 | ×0.620 | — | ×0.995 | 6.93% |
| HBP% /PA | 5.77% | — | ×0.720 | — | ×0.995 | 4.13% |
| Singles /BIP | 26.67% | ÷0.958 | ×0.820 | — | ×0.995 | 22.70% |
| Doubles /BIP | 6.67% | ÷0.966 | ×0.720 | — | ×0.995 | 4.94% |
| Triples /BIP | 0.00% | ÷1.053 | ×0.720 | — | ×0.995 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.895 | ×0.780 | — | ×0.995 | 0.00% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 79, 1B 92, 2B 93, 3B 111, K 101, BB 105 — 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 .311 → .250; ISO .051 → .042; BABIP .323 → .268. 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 Angels · 92 PAwOBA .335 → .266 (−69)K% 22.8% → 34.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 22.83% | ÷0.955 | ×1.440 | — | — | 34.43% |
| BB% (unintentional) /PA | 10.87% | ÷0.978 | ×0.620 | — | ×1.008 | 6.94% |
| HBP% /PA | 2.17% | — | ×0.720 | — | ×1.008 | 1.58% |
| Singles /BIP | 21.15% | ÷0.970 | ×0.820 | ×1.045 | ×1.008 | 18.82% |
| Doubles /BIP | 9.62% | ÷1.001 | ×0.720 | ×1.045 | ×1.008 | 7.29% |
| Triples /BIP | 1.92% | ÷0.961 | ×0.720 | ×1.045 | ×1.008 | 1.52% |
| Home runs /BIP | 3.85% | ÷0.910 | ×0.780 | — | ×1.008 | 3.32% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 82, 1B 94, 2B 100, 3B 92, K 91, BB 96 — 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 .335 → .266; ISO .178 → .146; BABIP .321 → .270. 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).