Willie Abreu
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2018 | 23 | A+/INTL2 orgs | 417 | .262/.317/.382 | 8 | 25 | 59 | — | .208/.249/.297 |
| 2019 | 24 | AACOL | 182 | .214/.302/.308 | 2 | 5 | 35 | — | .175/.235/.235 |
| 2021 | 26 | AACOL | 251 | .232/.294/.386 | 7 | 5 | 52 | — | .197/.246/.313 |
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) | |||||||||||||||||||||||||||||||
| 2017 | 22 | A | Asheville Tourists | — | 512 | 477 | 135 | 32 | 6 | 14 | 26 | 93 | 2 | 40 | 9 | 283 | 323 | 463 | 786 | 180 | 324 | 18 | 5 | 341 | 64 | — | — | — | — | — | — |
| 2018 | 23 | A+ | Lancaster JetHawks | — | 277 | 252 | 67 | 12 | 2 | 7 | 20 | 62 | 1 | 19 | 9 | 266 | 322 | 413 | 735 | 147 | 328 | 22 | 7 | 323 | 48 | — | — | — | — | — | — |
| 2018 | 23 | INTL | Criollos de Caguas | — | 140 | 130 | 33 | 6 | 0 | 1 | 9 | 24 | 1 | 6 | 2 | 254 | 307 | 323 | 630 | 69 | 305 | 17 | 6 | 288 | 81 | — | — | — | — | — | — |
| 2019 | 24 | AA | Hartford Yard Goats | — | 182 | 159 | 34 | 7 | 1 | 2 | 18 | 49 | 2 | 5 | 3 | 214 | 302 | 308 | 610 | 94 | 294 | 27 | 10 | 278 | 35 | — | — | — | — | — | — |
| 2021 | 26 | AA | Hartford Yard Goats | — | 251 | 228 | 53 | 14 | 0 | 7 | 14 | 71 | 6 | 5 | 3 | 232 | 294 | 386 | 680 | 154 | 303 | 28 | 6 | 302 | 52 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2017 | 22 | A MLE | Asheville Tourists | — | 512 | 486 | 111 | 24 | 6 | 9 | 17 | 122 | 2 | 40 | 9 | 228 | 257 | 358 | 615 | 130 | 280 | 24 | 3 | 263 | 64 | — | — | — | — | — | — |
| 2018 | 23 | A+ MLE | Lancaster JetHawks | — | 277 | 259 | 54 | 9 | 1 | 4 | 13 | 89 | 1 | 19 | 9 | 208 | 249 | 297 | 546 | 89 | 296 | 32 | 5 | 239 | 48 | — | — | — | — | — | — |
| 2019 | 24 | AA MLE | Hartford Yard Goats | — | 182 | 166 | 29 | 5 | 1 | 1 | 11 | 59 | 2 | 5 | 3 | 175 | 235 | 235 | 470 | 60 | 261 | 32 | 6 | 220 | 35 | — | — | — | — | — | — |
| 2021 | 26 | AA MLE | Hartford Yard Goats | — | 251 | 233 | 46 | 12 | 0 | 5 | 9 | 85 | 6 | 5 | 3 | 197 | 246 | 313 | 559 | 116 | 276 | 34 | 4 | 245 | 52 | — | — | — | — | — | — |
| 2017 | 22 | A MLE | Asheville Tourists | — | 512 | 486 | 111 | 24 | 6 | 9 | 17 | 122 | 2 | 40 | 9 | 228 | 257 | 358 | 615 | 130 | 285 | 24 | 3 | 263 | 64 | — | — | — | — | — | — |
| 2017 | 22 | A RAW | Asheville Tourists | — | 512 | 477 | 135 | 32 | 6 | 14 | 26 | 93 | 2 | 40 | 9 | 283 | 323 | 463 | 786 | 180 | 324 | 18 | 5 | 341 | 64 | — | — | — | — | — | — |
| 2018 | 23 | A+ MLE | 2 teams | — | 417 | 391 | 82 | 14 | 2 | 6 | 20 | 133 | 2 | 25 | 11 | 210 | 252 | 302 | 554 | 92 | 302 | 32 | 5 | 239 | 48 | — | — | — | — | — | — |
| 2018 | 23 | A+ RAW | 2 teams | — | 417 | 382 | 100 | 18 | 2 | 8 | 29 | 86 | 2 | 25 | 11 | 262 | 317 | 382 | 699 | 120 | 319 | 21 | 7 | 311 | 48 | — | — | — | — | — | — |
| 2019 | 24 | AA MLE | Hartford Yard Goats | — | 182 | 166 | 29 | 5 | 1 | 1 | 11 | 59 | 2 | 5 | 3 | 175 | 235 | 235 | 470 | 60 | 262 | 32 | 6 | 220 | 35 | — | — | — | — | — | — |
| 2019 | 24 | AA RAW | Hartford Yard Goats | — | 182 | 159 | 34 | 7 | 1 | 2 | 18 | 49 | 2 | 5 | 3 | 214 | 302 | 308 | 610 | 94 | 294 | 27 | 10 | 278 | 35 | — | — | — | — | — | — |
| 2021 | 26 | AA MLE | Hartford Yard Goats | — | 251 | 233 | 46 | 12 | 0 | 5 | 9 | 85 | 6 | 5 | 3 | 197 | 246 | 313 | 559 | 116 | 283 | 34 | 4 | 245 | 52 | — | — | — | — | — | — |
| 2021 | 26 | AA RAW | Hartford Yard Goats | — | 251 | 228 | 53 | 14 | 0 | 7 | 14 | 71 | 6 | 5 | 3 | 232 | 294 | 386 | 680 | 154 | 303 | 28 | 6 | 302 | 52 | — | — | — | — | — | — |
| 2017 | 22 | A MLE | Asheville Tourists | — | 512 | 488 | 111 | 24 | 6 | 9 | 17 | 122 | 2 | 40 | 9 | 227 | 257 | 357 | 614 | 129 | 280 | 24 | 3 | 263 | 64 | — | — | — | — | — | — |
| 2018 | 23 | A+ MLE | 2 teams | — | 417 | 392 | 82 | 14 | 2 | 6 | 20 | 133 | 2 | 25 | 11 | 209 | 252 | 301 | 553 | 92 | 296 | 32 | 5 | 239 | 48 | — | — | — | — | — | — |
| 2019 | 24 | AA MLE | Hartford Yard Goats | — | 182 | 167 | 29 | 5 | 1 | 1 | 11 | 59 | 2 | 5 | 3 | 174 | 235 | 234 | 468 | 60 | 261 | 32 | 6 | 220 | 35 | — | — | — | — | — | — |
| 2021 | 26 | AA MLE | Hartford Yard Goats | — | 251 | 234 | 46 | 12 | 0 | 5 | 9 | 85 | 6 | 5 | 3 | 197 | 246 | 312 | 558 | 115 | 276 | 34 | 4 | 245 | 52 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1362 | 1276 | 268 | 55 | 9 | 21 | 57 | 399 | 12 | 75 | 26 | 210 | 251 | 317 | 567 | 107 | 287 | 29 | 4 | 247 | 53 | -76 | +5 | +0 | -15 | +30 | -5.8 | |
| / 162G | — | MLE | — | 650 | 609 | 127 | 26 | 4 | 10 | 27 | 190 | 6 | 36 | 12 | 209 | 249 | 314 | 563 | 105 | 284 | 29 | 4 | 247 | 53 | -36 | +2 | +0 | -7 | +14 | -2.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.
2021 AAHartford Yard Goats · 251 PAwOBA .296 → .245 (−50)K% 28.3% → 33.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 28.29% | ÷1.022 | ×1.220 | — | — | 33.77% |
| BB% (unintentional) /PA | 5.58% | ÷1.020 | ×0.690 | — | ×0.988 | 3.73% |
| HBP% /PA | 2.39% | — | ×0.850 | — | ×0.988 | 2.01% |
| Singles /BIP | 20.38% | ÷1.047 | ×0.940 | ×1.050 | ×0.988 | 18.99% |
| Doubles /BIP | 8.92% | ÷1.010 | ×0.870 | ×1.050 | ×0.988 | 7.97% |
| Triples /BIP | 0.00% | ÷0.956 | ×0.920 | ×1.050 | ×0.988 | 0.00% |
| Home runs /BIP | 4.46% | ÷0.990 | ×0.780 | — | ×0.988 | 3.47% |
Factors used: level-wide AA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 98, 1B 109, 2B 102, 3B 91, K 104, BB 104 — applied at half strength. Age: age 26 vs a level average of 24.8 → −1.2% on BB/HBP/hit rates (1.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.
Result: wOBA .296 → .245; ISO .154 → .122; BABIP .303 → .276. 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).
2019 AAHartford Yard Goats · 182 PAwOBA .270 → .220 (−50)K% 26.9% → 32.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 26.92% | ÷1.007 | ×1.220 | — | — | 32.62% |
| BB% (unintentional) /PA | 9.34% | ÷1.042 | ×0.700 | — | ×1.012 | 6.35% |
| HBP% /PA | 1.10% | — | ×0.850 | — | ×1.012 | 0.95% |
| Singles /BIP | 21.82% | ÷1.029 | ×0.970 | ×0.984 | ×1.012 | 20.49% |
| Doubles /BIP | 6.36% | ÷1.178 | ×0.860 | ×0.984 | ×1.012 | 4.63% |
| Triples /BIP | 0.91% | ÷0.900 | ×0.950 | ×0.984 | ×1.012 | 0.96% |
| Home runs /BIP | 1.82% | ÷1.190 | ×0.780 | — | ×1.012 | 1.21% |
Factors used: league row EL. Park (home-season share, regressed): HR 138, 1B 106, 2B 136, 3B 80, K 101, BB 108 — applied at half strength. Age: age 24 vs a level average of 24.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.984.
Result: wOBA .270 → .220; ISO .094 → .070; BABIP .294 → .261. 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).
2018 A+Lancaster JetHawks · 277 PAwOBA .314 → .239 (−76)K% 22.4% → 32.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 22.38% | ÷0.938 | ×1.340 | — | — | 31.97% |
| BB% (unintentional) /PA | 7.22% | ÷1.073 | ×0.710 | — | ×0.998 | 4.77% |
| HBP% /PA | 0.36% | — | ×0.790 | — | ×0.998 | 0.28% |
| Singles /BIP | 24.21% | ÷1.007 | ×0.910 | ×1.050 | ×0.998 | 22.92% |
| Doubles /BIP | 6.32% | ÷1.025 | ×0.820 | ×1.050 | ×0.998 | 5.30% |
| Triples /BIP | 1.05% | ÷1.130 | ×0.760 | ×1.050 | ×0.998 | 0.74% |
| Home runs /BIP | 3.68% | ÷1.531 | ×0.920 | — | ×0.998 | 2.21% |
Factors used: league row CAL. Park (home-season share, regressed): HR 206, 1B 101, 2B 105, 3B 126, K 88, BB 115 — 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.050.
Result: wOBA .314 → .239; ISO .147 → .093; BABIP .328 → .296. 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).
2017 AAsheville Tourists · 512 PAwOBA .333 → .263 (−71)K% 18.2% → 23.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.16% | ÷1.018 | ×1.340 | — | — | 23.91% |
| BB% (unintentional) /PA | 5.08% | ÷0.987 | ×0.660 | — | — | 3.40% |
| HBP% /PA | 0.39% | — | ×0.770 | — | — | 0.30% |
| Singles /BIP | 21.61% | ÷1.048 | ×0.920 | ×1.023 | — | 19.42% |
| Doubles /BIP | 8.33% | ÷1.085 | ×0.820 | ×1.023 | — | 6.44% |
| Triples /BIP | 1.56% | ÷0.900 | ×0.940 | ×1.023 | — | 1.67% |
| Home runs /BIP | 3.65% | ÷1.243 | ×0.820 | — | — | 2.40% |
Factors used: league row SAL. Park (home-season share, regressed): HR 149, 1B 110, 2B 117, 3B 80, K 104, BB 97 — applied at half strength. Age: age 22 vs a level average of 22.0 → +0.0% on BB/HBP/hit rates (0.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.023.
Result: wOBA .333 → .263; ISO .180 → .132; BABIP .324 → .280. 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).
Not traceable per stint: some stints lack the counting stats the component translation needs. Level-wide factors that apply instead — .