EJ Andrews Jr.
OF Spokane Indians| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2023 | 22 | ACOL | 404 | .213/.319/.386 | 13 | 11 | 36 | — | .147/.232/.247 |
| 2024 | 23 | A+/ACOL | 304 | .212/.310/.365 | 8 | 13 | 36 | — | .168/.236/.285 |
| 2025 | 24 | A+COL | 217 | .156/.284/.307 | 5 | 5 | 15 | — | .117/.213/.234 |
| 2027PROJMLE | 26 | MLBCOL | 267 | .182/.257/.289 | 5 | 5 | 55 | -0.2 | |
| 2028PROJ26% MLB | 27 | MLBCOL | 20 | .194/.268/.316 | 0 | 0 | 56 | -0.1 |
Tools · ContractCON 20 / POW 40
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) | |||||||||||||||||||||||||||||||
| 2021 | 20 | ROK | ACL Rockies | — | 38 | 32 | 8 | 1 | 0 | 0 | 6 | 9 | 0 | 0 | 0 | 250 | 368 | 281 | 650 | 31 | 348 | 24 | 16 | 311 | 24 | — | — | — | — | — | — |
| 2022 | 21 | A | Fresno Grizzlies | — | 281 | 247 | 57 | 15 | 2 | 4 | 28 | 78 | 2 | 9 | 1 | 231 | 314 | 356 | 670 | 126 | 315 | 28 | 10 | 300 | 36 | — | — | — | — | — | — |
| 2023 | 22 | A | Fresno Grizzlies | — | 404 | 347 | 74 | 13 | 4 | 13 | 48 | 127 | 6 | 11 | 4 | 213 | 319 | 386 | 705 | 173 | 290 | 31 | 12 | 317 | 36 | — | — | — | — | — | — |
| 2024 | 23 | A+ | Spokane Indians | — | 124 | 108 | 27 | 5 | 0 | 5 | 11 | 35 | 1 | 8 | 0 | 250 | 325 | 435 | 760 | 185 | 319 | 28 | 9 | 328 | 51 | — | — | — | — | — | — |
| 2024 | 23 | A | Fresno Grizzlies | — | 180 | 152 | 28 | 5 | 3 | 3 | 25 | 47 | 0 | 5 | 1 | 184 | 299 | 316 | 615 | 132 | 238 | 26 | 14 | 280 | 26 | — | — | — | — | — | — |
| 2025 | 24 | A+ | Spokane Indians | — | 217 | 179 | 28 | 8 | 2 | 5 | 27 | 69 | 5 | 5 | 2 | 156 | 284 | 307 | 592 | 151 | 219 | 32 | 12 | 268 | 15 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2021 | 20 | ROK MLE | ACL Rockies | — | 38 | 35 | 6 | 1 | 0 | 0 | 3 | 13 | 0 | 0 | 0 | 171 | 237 | 200 | 437 | 29 | 269 | 34 | 8 | 203 | 24 | — | — | — | — | — | — |
| 2022 | 21 | A MLE | Fresno Grizzlies | — | 281 | 256 | 45 | 11 | 2 | 3 | 19 | 110 | 2 | 9 | 1 | 176 | 238 | 270 | 508 | 94 | 275 | 39 | 7 | 222 | 36 | — | — | — | — | — | — |
| 2023 | 22 | A MLE | Fresno Grizzlies | — | 404 | 361 | 53 | 9 | 3 | 7 | 34 | 175 | 6 | 11 | 4 | 147 | 232 | 247 | 478 | 100 | 251 | 43 | 8 | 221 | 36 | — | — | — | — | — | — |
| 2024 | 23 | A+ MLE | Spokane Indians | — | 124 | 112 | 23 | 4 | 0 | 4 | 7 | 47 | 1 | 8 | 0 | 205 | 258 | 348 | 607 | 143 | 275 | 38 | 6 | 243 | 51 | — | — | — | — | — | — |
| 2024 | 23 | A MLE | Fresno Grizzlies | — | 180 | 161 | 23 | 4 | 3 | 2 | 16 | 63 | 0 | 5 | 1 | 143 | 220 | 242 | 463 | 99 | 200 | 35 | 9 | 207 | 26 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Spokane Indians | — | 217 | 188 | 22 | 6 | 2 | 4 | 18 | 93 | 5 | 5 | 2 | 117 | 213 | 234 | 447 | 117 | 176 | 43 | 8 | 191 | 15 | — | — | — | — | — | — |
| 2021 | 20 | ROK MLE | ACL Rockies | — | 38 | 35 | 6 | 1 | 0 | 0 | 3 | 13 | 0 | 0 | 0 | 171 | 237 | 200 | 437 | 29 | 273 | 34 | 8 | 203 | 24 | — | — | — | — | — | — |
| 2021 | 20 | ROK RAW | ACL Rockies | — | 38 | 32 | 8 | 1 | 0 | 0 | 6 | 9 | 0 | 0 | 0 | 250 | 368 | 281 | 650 | 31 | 348 | 24 | 16 | 311 | 24 | — | — | — | — | — | — |
| 2022 | 21 | A MLE | Fresno Grizzlies | — | 281 | 256 | 45 | 11 | 2 | 3 | 19 | 110 | 2 | 9 | 1 | 176 | 238 | 270 | 508 | 94 | 288 | 39 | 7 | 222 | 36 | — | — | — | — | — | — |
| 2022 | 21 | A RAW | Fresno Grizzlies | — | 281 | 247 | 57 | 15 | 2 | 4 | 28 | 78 | 2 | 9 | 1 | 231 | 314 | 356 | 670 | 126 | 315 | 28 | 10 | 300 | 36 | — | — | — | — | — | — |
| 2023 | 22 | A MLE | Fresno Grizzlies | — | 404 | 361 | 53 | 9 | 3 | 7 | 34 | 175 | 6 | 11 | 4 | 147 | 232 | 247 | 478 | 100 | 253 | 43 | 8 | 221 | 36 | — | — | — | — | — | — |
| 2023 | 22 | A RAW | Fresno Grizzlies | — | 404 | 347 | 74 | 13 | 4 | 13 | 48 | 127 | 6 | 11 | 4 | 213 | 319 | 386 | 705 | 173 | 290 | 31 | 12 | 317 | 36 | — | — | — | — | — | — |
| 2024 | 23 | A MLE | 2 teams | — | 304 | 273 | 45 | 7 | 3 | 6 | 23 | 111 | 1 | 13 | 1 | 165 | 232 | 278 | 511 | 114 | 244 | 37 | 8 | 222 | 36 | — | — | — | — | — | — |
| 2024 | 23 | A RAW | 2 teams | — | 304 | 260 | 55 | 10 | 3 | 8 | 36 | 82 | 1 | 13 | 1 | 212 | 310 | 365 | 675 | 154 | 270 | 27 | 12 | 299 | 36 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Spokane Indians | — | 217 | 188 | 22 | 6 | 2 | 4 | 18 | 93 | 5 | 5 | 2 | 117 | 213 | 234 | 447 | 117 | 198 | 43 | 8 | 191 | 15 | — | — | — | — | — | — |
| 2025 | 24 | A+ RAW | Spokane Indians | — | 217 | 179 | 28 | 8 | 2 | 5 | 27 | 69 | 5 | 5 | 2 | 156 | 284 | 307 | 592 | 151 | 219 | 32 | 12 | 268 | 15 | — | — | — | — | — | — |
| 2021 | 20 | ROK MLE | ACL Rockies | — | 38 | 35 | 6 | 1 | 0 | 0 | 3 | 13 | 0 | 0 | 0 | 171 | 237 | 200 | 437 | 29 | 269 | 34 | 8 | 203 | 24 | — | — | — | — | — | — |
| 2022 | 21 | A MLE | Fresno Grizzlies | — | 281 | 258 | 45 | 11 | 2 | 3 | 19 | 110 | 2 | 9 | 1 | 174 | 238 | 267 | 506 | 93 | 275 | 39 | 7 | 222 | 36 | — | — | — | — | — | — |
| 2023 | 22 | A MLE | Fresno Grizzlies | — | 404 | 361 | 53 | 9 | 3 | 7 | 34 | 175 | 6 | 11 | 4 | 147 | 232 | 247 | 478 | 100 | 251 | 43 | 8 | 221 | 36 | — | — | — | — | — | — |
| 2024 | 23 | A MLE | 2 teams | — | 304 | 277 | 45 | 7 | 3 | 6 | 23 | 111 | 1 | 13 | 1 | 162 | 232 | 274 | 507 | 112 | 231 | 37 | 8 | 222 | 36 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Spokane Indians | — | 217 | 192 | 22 | 6 | 2 | 4 | 18 | 93 | 5 | 5 | 2 | 115 | 213 | 229 | 442 | 115 | 176 | 43 | 8 | 191 | 15 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 23 | A MLE | 2 teams | — | 304 | 277 | 45 | 7 | 3 | 6 | 23 | 111 | 1 | 13 | 1 | 162 | 232 | 274 | 507 | 112 | 231 | 37 | 8 | 222 | 36 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Spokane Indians | — | 217 | 192 | 22 | 6 | 2 | 4 | 18 | 93 | 5 | 5 | 2 | 115 | 213 | 229 | 442 | 115 | 176 | 43 | 8 | 191 | 15 | — | — | — | — | — | — |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 26 | MLB MLE | COL | 0% | 267 | 241 | 44 | 9 | 1 | 5 | 21 | 85 | 3 | 5 | 1 | 182 | 257 | 289 | 546 | 107 | 255 | 32 | 8 | 249 | 55 | -14 | +1 | +0 | -2 | +6 | -0.2 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 27 | MLB MLE | COL | 26% | 78 | 71 | 13 | 3 | 0 | 1 | 6 | 24 | 1 | 1 | 0 | 184 | 259 | 292 | 551 | 108 | 256 | 31 | 8 | 251 | 56 | -4 | +0 | +0 | -0 | +2 | -0.3 |
| 2028 | 27 | MLB CTX | COL | 26% | 20 | 18 | 3 | 1 | 0 | 0 | 2 | 6 | 0 | 0 | 0 | 194 | 268 | 316 | 585 | 122 | 269 | 30 | 10 | 265 | 56 | -1 | +0 | +0 | -0 | +0 | -0.1 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 20 | 18 | 3 | 1 | 0 | 0 | 2 | 6 | 0 | 0 | 0 | 167 | 250 | 222 | 472 | 56 | 250 | 30 | 10 | 265 | 34 | -1 | +0 | +0 | -0 | +0 | -0.1 | |
| / 162G | — | A+C | — | 650 | 585 | 97 | 32 | 0 | 0 | 65 | 195 | 0 | 0 | 0 | 166 | 249 | 221 | 470 | 55 | 249 | 30 | 10 | 265 | 34 | -34 | +0 | +0 | -4 | +14 | -2.4 | |
| Career | — | MLE | — | 1385 | 1241 | 194 | 39 | 10 | 22 | 108 | 546 | 16 | 40 | 8 | 156 | 233 | 257 | 490 | 101 | 252 | 39 | 8 | 219 | 34 | -7 | +0 | +0 | -1 | +3 | -0.5 | |
| / 162G | — | MLE | — | 650 | 582 | 91 | 18 | 5 | 10 | 51 | 256 | 8 | 19 | 4 | 156 | 234 | 256 | 490 | 100 | 252 | 39 | 8 | 219 | 34 | -34 | +2 | +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.
2025 A+Spokane Indians · 217 PAwOBA .260 → .191 (−69)K% 31.8% → 42.7%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 31.80% | ÷1.005 | ×1.350 | — | — | 42.70% |
| BB% (unintentional) /PA | 11.98% | ÷1.030 | ×0.710 | — | ×0.978 | 8.08% |
| HBP% /PA | 2.30% | — | ×0.810 | — | ×0.978 | 1.83% |
| Singles /BIP | 11.82% | ÷1.068 | ×0.910 | ×0.979 | ×0.978 | 9.63% |
| Doubles /BIP | 7.27% | ÷1.002 | ×0.830 | ×0.979 | ×0.978 | 5.77% |
| Triples /BIP | 1.82% | ÷0.900 | ×0.820 | ×0.979 | ×0.978 | 1.59% |
| Home runs /BIP | 4.55% | ÷0.999 | ×0.830 | — | ×0.978 | 3.69% |
Factors used: level-wide A+ factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 114, 2B 100, 3B 80, K 101, BB 106 — applied at half strength. Age: age 25 vs a level average of 22.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.979.
Result: wOBA .260 → .191; ISO .151 → .115; BABIP .219 → .176. 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 AFresno Grizzlies · 180 PAwOBA .278 → .207 (−71)K% 26.1% → 35.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 26.11% | ÷1.011 | ×1.360 | — | — | 35.14% |
| BB% (unintentional) /PA | 13.89% | ÷1.064 | ×0.690 | — | ×0.980 | 8.83% |
| HBP% /PA | 0.00% | — | ×0.780 | — | ×0.980 | 0.00% |
| Singles /BIP | 16.19% | ÷1.015 | ×0.920 | ×0.971 | ×0.980 | 13.95% |
| Doubles /BIP | 4.76% | ÷1.081 | ×0.830 | ×0.971 | ×0.980 | 3.48% |
| Triples /BIP | 2.86% | ÷0.900 | ×0.910 | ×0.971 | ×0.980 | 2.75% |
| Home runs /BIP | 2.86% | ÷1.002 | ×0.800 | — | ×0.980 | 2.23% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 103, 2B 116, 3B 80, K 102, BB 113 — applied at half strength. Age: age 24 vs a level average of 22.0 → −2.0% on BB/HBP/hit rates (2.0 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.971.
Result: wOBA .278 → .207; ISO .132 → .104; BABIP .238 → .200. 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 A+Spokane Indians · 124 PAwOBA .321 → .243 (−78)K% 28.2% → 38.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 28.23% | ÷0.996 | ×1.350 | — | — | 38.26% |
| BB% (unintentional) /PA | 8.87% | ÷1.106 | ×0.710 | — | ×0.988 | 5.63% |
| HBP% /PA | 0.81% | — | ×0.810 | — | ×0.988 | 0.65% |
| Singles /BIP | 23.29% | ÷0.999 | ×0.910 | ×1.016 | ×0.988 | 21.31% |
| Doubles /BIP | 6.85% | ÷1.098 | ×0.830 | ×1.016 | ×0.988 | 5.20% |
| Triples /BIP | 0.00% | ÷0.907 | ×0.820 | ×1.016 | ×0.988 | 0.00% |
| Home runs /BIP | 6.85% | ÷1.086 | ×0.830 | — | ×0.988 | 5.17% |
Factors used: level-wide A+ factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 117, 1B 100, 2B 120, 3B 81, K 99, BB 121 — applied at half strength. Age: age 24 vs a level average of 22.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.016.
Result: wOBA .321 → .243; ISO .185 → .132; BABIP .319 → .275. 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 AFresno Grizzlies · 404 PAwOBA .311 → .221 (−90)K% 31.4% → 43.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 31.44% | ÷0.987 | ×1.360 | — | — | 43.33% |
| BB% (unintentional) /PA | 11.88% | ÷0.952 | ×0.690 | — | ×0.990 | 8.52% |
| HBP% /PA | 1.49% | — | ×0.780 | — | ×0.990 | 1.15% |
| Singles /BIP | 20.00% | ÷0.988 | ×0.920 | ×0.967 | ×0.990 | 17.84% |
| Doubles /BIP | 5.91% | ÷0.946 | ×0.830 | ×0.967 | ×0.990 | 4.97% |
| Triples /BIP | 1.82% | ÷0.941 | ×0.910 | ×0.967 | ×0.990 | 1.68% |
| Home runs /BIP | 5.91% | ÷1.186 | ×0.800 | — | ×0.990 | 3.95% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 137, 1B 98, 2B 89, 3B 88, K 97, BB 90 — applied at half strength. Age: age 23 vs a level average of 22.0 → −1.0% on BB/HBP/hit rates (1.0 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.967.
Result: wOBA .311 → .221; ISO .173 → .110; BABIP .290 → .251. 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 AFresno Grizzlies · 281 PAwOBA .296 → .222 (−74)K% 27.8% → 39.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 27.76% | ÷0.961 | ×1.360 | — | — | 39.29% |
| BB% (unintentional) /PA | 9.96% | ÷1.011 | ×0.690 | — | — | 6.80% |
| HBP% /PA | 0.71% | — | ×0.780 | — | — | 0.56% |
| Singles /BIP | 21.30% | ÷0.983 | ×0.920 | ×0.958 | — | 19.10% |
| Doubles /BIP | 8.88% | ÷0.974 | ×0.830 | ×0.958 | — | 7.25% |
| Triples /BIP | 1.18% | ÷0.937 | ×0.910 | ×0.958 | — | 1.10% |
| Home runs /BIP | 2.37% | ÷0.947 | ×0.800 | — | — | 2.00% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 89, 1B 97, 2B 95, 3B 87, K 92, BB 102 — 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 ×0.958.
Result: wOBA .296 → .222; ISO .126 → .094; BABIP .315 → .275. 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).
2021 ROKACL Rockies · 38 PAwOBA .304 → .203 (−101)K% 23.7% → 34.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 23.68% | ÷0.997 | ×1.440 | — | — | 34.22% |
| BB% (unintentional) /PA | 15.79% | ÷1.061 | ×0.620 | — | ×0.985 | 9.09% |
| HBP% /PA | 0.00% | — | ×0.720 | — | ×0.985 | 0.00% |
| Singles /BIP | 30.43% | ÷1.033 | ×0.820 | — | ×0.985 | 23.80% |
| Doubles /BIP | 4.35% | ÷1.009 | ×0.720 | — | ×0.985 | 3.06% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.720 | — | ×0.985 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.029 | ×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 106, 1B 107, 2B 102, 3B 130, K 99, BB 112 — 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 .304 → .203; ISO .031 → .021; BABIP .348 → .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).