Brian Miller
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2021 | 25 | AAAMIA | 443 | .268/.329/.338 | 2 | 36 | 65 | — | .251/.296/.315 |
| 2022 | 26 | AAAMIA | 452 | .292/.352/.434 | 7 | 26 | 85 | — | .258/.303/.384 |
| 2023 | 27 | AAAMIA | 312 | .241/.328/.322 | 2 | 18 | 52 | — | .211/.275/.275 |
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 | 21 | A | Greensboro Grasshoppers | — | 258 | 233 | 75 | 17 | 1 | 1 | 23 | 35 | 1 | 21 | 6 | 322 | 385 | 416 | 802 | 94 | 374 | 14 | 9 | 360 | 92 | — | — | — | — | — | — |
| 2018 | 22 | AA | Jacksonville Jumbo Shrimp | — | 287 | 262 | 70 | 8 | 2 | 0 | 18 | 39 | 2 | 21 | 7 | 267 | 319 | 313 | 632 | 46 | 314 | 14 | 6 | 285 | 59 | — | — | — | — | — | — |
| 2018 | 22 | A+ | Jupiter Hammerheads | — | 276 | 256 | 83 | 13 | 3 | 0 | 14 | 27 | 1 | 19 | 6 | 324 | 362 | 398 | 760 | 74 | 358 | 10 | 5 | 336 | 91 | — | — | — | — | — | — |
| 2018 | 22 | INTL | Salt River Rafters | — | 76 | 67 | 18 | 2 | 0 | 0 | 8 | 8 | 0 | 9 | 4 | 269 | 347 | 299 | 645 | 30 | 300 | 11 | 11 | 298 | 88 | — | — | — | — | — | — |
| 2019 | 23 | AA | Jacksonville Jumbo Shrimp | — | 495 | 449 | 119 | 24 | 5 | 2 | 37 | 81 | 5 | 22 | 9 | 265 | 328 | 354 | 682 | 89 | 317 | 16 | 7 | 307 | 59 | — | — | — | — | — | — |
| 2021 | 25 | AAA | Jacksonville Jumbo Shrimp | — | 443 | 396 | 106 | 16 | 3 | 2 | 34 | 88 | 2 | 36 | 8 | 268 | 329 | 338 | 667 | 71 | 335 | 20 | 8 | 297 | 65 | — | — | — | — | — | — |
| 2022 | 26 | AAA | Jacksonville Jumbo Shrimp | — | 452 | 408 | 119 | 19 | 9 | 7 | 37 | 77 | 1 | 26 | 6 | 292 | 352 | 434 | 786 | 142 | 341 | 17 | 8 | 345 | 85 | — | — | — | — | — | — |
| 2023 | 27 | AAA | Jacksonville Jumbo Shrimp | — | 312 | 270 | 65 | 10 | 3 | 2 | 32 | 65 | 3 | 18 | 6 | 241 | 328 | 322 | 650 | 81 | 304 | 21 | 10 | 294 | 52 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2017 | 21 | A MLE | Greensboro Grasshoppers | — | 258 | 241 | 70 | 14 | 1 | 1 | 15 | 46 | 1 | 21 | 6 | 290 | 335 | 369 | 704 | 79 | 348 | 18 | 6 | 304 | 92 | — | — | — | — | — | — |
| 2018 | 22 | AA MLE | Jacksonville Jumbo Shrimp | — | 287 | 269 | 68 | 9 | 2 | 0 | 11 | 45 | 2 | 21 | 7 | 253 | 287 | 301 | 588 | 48 | 297 | 16 | 4 | 256 | 59 | — | — | — | — | — | — |
| 2018 | 22 | A+ MLE | Jupiter Hammerheads | — | 276 | 261 | 78 | 14 | 2 | 0 | 9 | 38 | 1 | 19 | 6 | 299 | 325 | 368 | 693 | 69 | 337 | 14 | 3 | 303 | 91 | — | — | — | — | — | — |
| 2019 | 23 | AA MLE | Jacksonville Jumbo Shrimp | — | 495 | 463 | 107 | 22 | 5 | 2 | 23 | 98 | 5 | 22 | 9 | 231 | 275 | 313 | 588 | 82 | 281 | 20 | 5 | 256 | 59 | — | — | — | — | — | — |
| 2021 | 25 | AAA MLE | Jacksonville Jumbo Shrimp | — | 443 | 406 | 102 | 14 | 3 | 2 | 24 | 107 | 2 | 36 | 8 | 251 | 296 | 315 | 612 | 64 | 320 | 24 | 5 | 264 | 65 | — | — | — | — | — | — |
| 2022 | 26 | AAA MLE | Jacksonville Jumbo Shrimp | — | 452 | 419 | 108 | 18 | 10 | 5 | 26 | 96 | 1 | 26 | 6 | 258 | 303 | 384 | 687 | 126 | 312 | 21 | 6 | 294 | 85 | — | — | — | — | — | — |
| 2023 | 27 | AAA MLE | Jacksonville Jumbo Shrimp | — | 312 | 280 | 59 | 9 | 3 | 1 | 22 | 75 | 3 | 18 | 6 | 211 | 275 | 275 | 550 | 64 | 267 | 24 | 7 | 245 | 52 | — | — | — | — | — | — |
| 2017 | 21 | A MLE | Greensboro Grasshoppers | — | 258 | 241 | 70 | 14 | 1 | 1 | 15 | 46 | 1 | 21 | 6 | 290 | 335 | 369 | 704 | 79 | 354 | 18 | 6 | 304 | 92 | — | — | — | — | — | — |
| 2017 | 21 | A RAW | Greensboro Grasshoppers | — | 258 | 233 | 75 | 17 | 1 | 1 | 23 | 35 | 1 | 21 | 6 | 322 | 385 | 416 | 802 | 94 | 374 | 14 | 9 | 360 | 92 | — | — | — | — | — | — |
| 2018 | 22 | AA MLE | 3 teams | — | 639 | 602 | 165 | 26 | 5 | 0 | 23 | 95 | 3 | 49 | 17 | 274 | 304 | 334 | 638 | 60 | 323 | 15 | 4 | 279 | 75 | — | — | — | — | — | — |
| 2018 | 22 | AA RAW | 3 teams | — | 639 | 585 | 171 | 23 | 5 | 0 | 40 | 74 | 3 | 49 | 17 | 292 | 341 | 349 | 689 | 56 | 332 | 12 | 6 | 308 | 75 | — | — | — | — | — | — |
| 2019 | 23 | AA MLE | Jacksonville Jumbo Shrimp | — | 495 | 463 | 107 | 22 | 5 | 2 | 23 | 98 | 5 | 22 | 9 | 231 | 275 | 313 | 588 | 82 | 287 | 20 | 5 | 256 | 59 | — | — | — | — | — | — |
| 2019 | 23 | AA RAW | Jacksonville Jumbo Shrimp | — | 495 | 449 | 119 | 24 | 5 | 2 | 37 | 81 | 5 | 22 | 9 | 265 | 328 | 354 | 682 | 89 | 317 | 16 | 7 | 307 | 59 | — | — | — | — | — | — |
| 2021 | 25 | AAA MLE | Jacksonville Jumbo Shrimp | — | 443 | 406 | 102 | 14 | 3 | 2 | 24 | 107 | 2 | 36 | 8 | 251 | 296 | 315 | 612 | 64 | 332 | 24 | 5 | 264 | 65 | — | — | — | — | — | — |
| 2021 | 25 | AAA RAW | Jacksonville Jumbo Shrimp | — | 443 | 396 | 106 | 16 | 3 | 2 | 34 | 88 | 2 | 36 | 8 | 268 | 329 | 338 | 667 | 71 | 335 | 20 | 8 | 297 | 65 | — | — | — | — | — | — |
| 2022 | 26 | AAA MLE | Jacksonville Jumbo Shrimp | — | 452 | 419 | 108 | 18 | 10 | 5 | 26 | 96 | 1 | 26 | 6 | 258 | 303 | 384 | 687 | 126 | 320 | 21 | 6 | 294 | 85 | — | — | — | — | — | — |
| 2022 | 26 | AAA RAW | Jacksonville Jumbo Shrimp | — | 452 | 408 | 119 | 19 | 9 | 7 | 37 | 77 | 1 | 26 | 6 | 292 | 352 | 434 | 786 | 142 | 341 | 17 | 8 | 345 | 85 | — | — | — | — | — | — |
| 2023 | 27 | AAA MLE | Jacksonville Jumbo Shrimp | — | 312 | 280 | 59 | 9 | 3 | 1 | 22 | 75 | 3 | 18 | 6 | 211 | 275 | 275 | 550 | 64 | 279 | 24 | 7 | 245 | 52 | — | — | — | — | — | — |
| 2023 | 27 | AAA RAW | Jacksonville Jumbo Shrimp | — | 312 | 270 | 65 | 10 | 3 | 2 | 32 | 65 | 3 | 18 | 6 | 241 | 328 | 322 | 650 | 81 | 304 | 21 | 10 | 294 | 52 | — | — | — | — | — | — |
| 2017 | 21 | A MLE | Greensboro Grasshoppers | — | 258 | 240 | 70 | 14 | 1 | 1 | 15 | 46 | 1 | 21 | 6 | 292 | 335 | 371 | 705 | 79 | 348 | 18 | 6 | 304 | 92 | — | — | — | — | — | — |
| 2018 | 22 | AA MLE | 3 teams | — | 639 | 608 | 165 | 26 | 5 | 0 | 23 | 95 | 3 | 49 | 17 | 271 | 304 | 331 | 635 | 59 | 317 | 15 | 4 | 279 | 75 | — | — | — | — | — | — |
| 2019 | 23 | AA MLE | Jacksonville Jumbo Shrimp | — | 495 | 464 | 107 | 22 | 5 | 2 | 23 | 98 | 5 | 22 | 9 | 231 | 275 | 312 | 587 | 82 | 281 | 20 | 5 | 256 | 59 | — | — | — | — | — | — |
| 2021 | 25 | AAA MLE | Jacksonville Jumbo Shrimp | — | 443 | 414 | 102 | 14 | 3 | 2 | 24 | 107 | 2 | 36 | 8 | 246 | 296 | 309 | 605 | 63 | 320 | 24 | 5 | 264 | 65 | — | — | — | — | — | — |
| 2022 | 26 | AAA MLE | Jacksonville Jumbo Shrimp | — | 452 | 422 | 108 | 18 | 10 | 5 | 26 | 96 | 1 | 26 | 6 | 256 | 303 | 382 | 684 | 126 | 312 | 21 | 6 | 294 | 85 | — | — | — | — | — | — |
| 2023 | 27 | AAA MLE | Jacksonville Jumbo Shrimp | — | 312 | 284 | 59 | 9 | 3 | 1 | 22 | 75 | 3 | 18 | 6 | 208 | 275 | 271 | 547 | 63 | 267 | 24 | 7 | 245 | 52 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 2599 | 2411 | 611 | 103 | 27 | 11 | 133 | 517 | 15 | 172 | 52 | 253 | 297 | 332 | 629 | 79 | 315 | 20 | 5 | 273 | 71 | -90 | +14 | +0 | -18 | +56 | -3.8 | |
| / 162G | — | MLE | — | 650 | 603 | 154 | 26 | 7 | 3 | 33 | 129 | 4 | 43 | 13 | 255 | 298 | 337 | 635 | 81 | 317 | 20 | 5 | 273 | 71 | -22 | +3 | +0 | -4 | +14 | -0.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.
2023 AAAJacksonville Jumbo Shrimp · 312 PAwOBA .290 → .245 (−45)K% 20.8% → 24.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 20.83% | ÷1.040 | ×1.200 | — | — | 24.03% |
| BB% (unintentional) /PA | 10.26% | ÷1.008 | ×0.690 | — | ×0.992 | 6.96% |
| HBP% /PA | 0.96% | — | ×0.940 | — | ×0.992 | 0.90% |
| Singles /BIP | 24.39% | ÷1.016 | ×0.930 | ×0.977 | ×0.992 | 21.62% |
| Doubles /BIP | 4.88% | ÷0.955 | ×0.830 | ×0.977 | ×0.992 | 4.11% |
| Triples /BIP | 1.46% | ÷1.039 | ×0.970 | ×0.977 | ×0.992 | 1.32% |
| Home runs /BIP | 0.98% | ÷1.031 | ×0.700 | — | ×0.992 | 0.66% |
Factors used: league row International League. Park (home-season share, regressed): HR 106, 1B 103, 2B 91, 3B 108, K 108, BB 102 — applied at half strength. Age: age 28 vs a level average of 27.2 → −0.8% on BB/HBP/hit rates (0.8 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.977.
Result: wOBA .290 → .245; ISO .081 → .069; BABIP .304 → .267. 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 AAAJacksonville Jumbo Shrimp · 452 PAwOBA .339 → .294 (−46)K% 17.0% → 21.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.04% | ÷0.966 | ×1.200 | — | — | 21.17% |
| BB% (unintentional) /PA | 8.19% | ÷0.978 | ×0.690 | — | ×1.003 | 5.79% |
| HBP% /PA | 0.22% | — | ×0.940 | — | ×1.003 | 0.21% |
| Singles /BIP | 25.38% | ÷1.054 | ×0.930 | ×1.017 | ×1.003 | 22.85% |
| Doubles /BIP | 5.74% | ÷0.898 | ×0.830 | ×1.017 | ×1.003 | 5.41% |
| Triples /BIP | 2.72% | ÷0.930 | ×0.970 | ×1.017 | ×1.003 | 2.89% |
| Home runs /BIP | 2.11% | ÷1.032 | ×0.700 | — | ×1.003 | 1.44% |
Factors used: league row International League. Park (home-season share, regressed): HR 106, 1B 111, 2B 80, 3B 86, K 93, BB 96 — applied at half strength. Age: age 27 vs a level average of 27.2 → +0.3% on BB/HBP/hit rates (0.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.017.
Result: wOBA .339 → .294; ISO .142 → .125; BABIP .341 → .312. 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 AAAJacksonville Jumbo Shrimp · 443 PAwOBA .292 → .264 (−28)K% 19.9% → 24.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.86% | ÷0.985 | ×1.200 | — | — | 24.20% |
| BB% (unintentional) /PA | 7.67% | ÷0.994 | ×0.690 | — | ×1.018 | 5.42% |
| HBP% /PA | 0.45% | — | ×0.940 | — | ×1.018 | 0.43% |
| Singles /BIP | 27.60% | ÷0.971 | ×0.930 | ×0.994 | ×1.018 | 26.74% |
| Doubles /BIP | 5.19% | ÷0.933 | ×0.830 | ×0.994 | ×1.018 | 4.68% |
| Triples /BIP | 0.97% | ÷1.109 | ×0.920 | ×0.994 | ×1.018 | 0.82% |
| Home runs /BIP | 0.65% | ÷0.886 | ×0.700 | — | ×1.018 | 0.52% |
Factors used: level-wide AAA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 77, 1B 94, 2B 87, 3B 122, K 97, BB 99 — applied at half strength. Age: age 26 vs a level average of 27.2 → +1.8% on BB/HBP/hit rates (1.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.994.
Result: wOBA .292 → .264; ISO .071 → .062; BABIP .335 → .320. 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 AAJacksonville Jumbo Shrimp · 495 PAwOBA .299 → .256 (−43)K% 16.4% → 19.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 16.36% | ÷1.007 | ×1.220 | — | — | 19.83% |
| BB% (unintentional) /PA | 6.87% | ÷1.015 | ×0.680 | — | ×1.012 | 4.66% |
| HBP% /PA | 1.01% | — | ×0.840 | — | ×1.012 | 0.86% |
| Singles /BIP | 23.91% | ÷1.008 | ×0.920 | ×0.951 | ×1.012 | 21.01% |
| Doubles /BIP | 6.52% | ÷0.975 | ×0.910 | ×0.951 | ×1.012 | 5.86% |
| Triples /BIP | 1.36% | ÷0.900 | ×0.880 | ×0.951 | ×1.012 | 1.28% |
| Home runs /BIP | 0.54% | ÷0.918 | ×0.800 | — | ×1.012 | 0.48% |
Factors used: league row SL. Park (home-season share, regressed): HR 84, 1B 102, 2B 95, 3B 80, K 101, BB 103 — 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.951.
Result: wOBA .299 → .256; ISO .089 → .081; BABIP .317 → .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).
2018 AAJacksonville Jumbo Shrimp · 287 PAwOBA .278 → .256 (−22)K% 13.6% → 15.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 13.59% | ÷1.052 | ×1.220 | — | — | 15.76% |
| BB% (unintentional) /PA | 6.27% | ÷1.122 | ×0.680 | — | ×1.027 | 3.90% |
| HBP% /PA | 0.70% | — | ×0.840 | — | ×1.027 | 0.60% |
| Singles /BIP | 26.91% | ÷1.050 | ×0.920 | ×1.027 | ×1.027 | 24.85% |
| Doubles /BIP | 3.59% | ÷0.875 | ×0.910 | ×1.027 | ×1.027 | 3.94% |
| Triples /BIP | 0.90% | ÷0.900 | ×0.880 | ×1.027 | ×1.027 | 0.92% |
| Home runs /BIP | 0.00% | ÷1.041 | ×0.800 | — | ×1.027 | 0.00% |
Factors used: league row SL. Park (home-season share, regressed): HR 108, 1B 110, 2B 75, 3B 80, K 110, BB 124 — applied at half strength. Age: age 23 vs a level average of 24.8 → +2.7% on BB/HBP/hit rates (1.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.027.
Result: wOBA .278 → .256; ISO .046 → .051; BABIP .314 → .297. 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+Jupiter Hammerheads · 276 PAwOBA .328 → .303 (−25)K% 9.8% → 13.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 9.78% | ÷1.009 | ×1.420 | — | — | 13.76% |
| BB% (unintentional) /PA | 4.35% | ÷0.967 | ×0.750 | — | ×0.998 | 3.36% |
| HBP% /PA | 0.36% | — | ×0.930 | — | ×0.998 | 0.34% |
| Singles /BIP | 29.26% | ÷1.018 | ×0.920 | ×1.023 | ×0.998 | 27.01% |
| Doubles /BIP | 5.68% | ÷0.903 | ×0.960 | ×1.023 | ×0.998 | 6.17% |
| Triples /BIP | 1.31% | ÷1.150 | ×0.810 | ×1.023 | ×0.998 | 0.94% |
| Home runs /BIP | 0.00% | ÷0.850 | ×0.880 | — | ×0.998 | 0.00% |
Factors used: league row FSL. Park (home-season share, regressed): HR 70, 1B 104, 2B 80, 3B 130, K 102, BB 93 — 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.023.
Result: wOBA .328 → .303; ISO .074 → .072; BABIP .358 → .337. 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 AGreensboro Grasshoppers · 258 PAwOBA .353 → .304 (−49)K% 13.6% → 17.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 13.57% | ÷1.013 | ×1.340 | — | — | 17.94% |
| BB% (unintentional) /PA | 8.91% | ÷0.991 | ×0.660 | — | — | 5.94% |
| HBP% /PA | 0.39% | — | ×0.770 | — | — | 0.30% |
| Singles /BIP | 28.28% | ÷0.994 | ×0.920 | ×1.050 | — | 27.49% |
| Doubles /BIP | 8.59% | ÷1.066 | ×0.820 | ×1.050 | — | 6.94% |
| Triples /BIP | 0.51% | ÷1.150 | ×0.940 | ×1.050 | — | 0.43% |
| Home runs /BIP | 0.51% | ÷1.168 | ×0.820 | — | — | 0.35% |
Factors used: league row SAL. Park (home-season share, regressed): HR 134, 1B 99, 2B 113, 3B 130, K 103, BB 98 — 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.050.
Result: wOBA .353 → .304; ISO .094 → .074; BABIP .374 → .348. 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 — .