Joe McCarthy
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2018 | 24 | AAA/INTL2 orgs | 248 | .262/.378/.481 | 9 | 3 | 107 | — | .222/.312/.419 |
| 2019 | 25 | AAASF | 271 | .185/.310/.335 | 7 | 1 | 36 | — | .136/.239/.237 |
| 2021 | 27 | AAASF | 315 | .305/.388/.542 | 15 | 4 | 107 | — | .256/.321/.435 |
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) | |||||||||||||||||||||||||||||||
| 2016 | 22 | A+ | Charlotte Stone Crabs | — | 237 | 198 | 56 | 9 | 3 | 5 | 28 | 38 | 5 | 8 | 3 | 283 | 385 | 434 | 820 | 152 | 317 | 16 | 12 | 360 | 81 | — | — | — | — | — | — |
| 2016 | 22 | A | Bowling Green Hot Rods | — | 193 | 153 | 44 | 12 | 0 | 3 | 33 | 30 | 5 | 11 | 2 | 288 | 429 | 425 | 854 | 137 | 336 | 16 | 17 | 387 | 103 | — | — | — | — | — | — |
| 2017 | 23 | AA | Montgomery Biscuits | — | 554 | 454 | 129 | 31 | 8 | 7 | 90 | 94 | 7 | 20 | 5 | 284 | 409 | 434 | 843 | 150 | 344 | 17 | 16 | 380 | 96 | — | — | — | — | — | — |
| 2018 | 24 | AAA | Durham Bulls | — | 191 | 160 | 43 | 13 | 1 | 8 | 25 | 43 | 4 | 3 | 1 | 269 | 381 | 512 | 893 | 244 | 315 | 23 | 13 | 389 | 104 | — | — | — | — | — | — |
| 2018 | 24 | INTL | Peoria Javelinas | — | 57 | 46 | 11 | 3 | 0 | 1 | 8 | 15 | 2 | 0 | 0 | 239 | 368 | 370 | 738 | 130 | 333 | 26 | 14 | 339 | 116 | — | — | — | — | — | — |
| 2019 | 25 | AAA | Sacramento River Cats | — | 271 | 227 | 42 | 9 | 2 | 7 | 37 | 84 | 4 | 1 | 0 | 185 | 310 | 335 | 645 | 150 | 252 | 31 | 14 | 295 | 36 | — | — | — | — | — | — |
| 2021 | 27 | AAA | Sacramento River Cats | — | 315 | 275 | 84 | 18 | 1 | 15 | 32 | 61 | 5 | 4 | 1 | 305 | 388 | 542 | 930 | 236 | 342 | 19 | 10 | 404 | 107 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2016 | 22 | A+ MLE | Charlotte Stone Crabs | — | 237 | 206 | 46 | 6 | 2 | 4 | 20 | 55 | 5 | 8 | 3 | 223 | 307 | 330 | 637 | 107 | 269 | 23 | 8 | 288 | 81 | — | — | — | — | — | — |
| 2016 | 22 | A MLE | Bowling Green Hot Rods | — | 193 | 165 | 41 | 11 | 0 | 2 | 21 | 40 | 5 | 11 | 2 | 248 | 351 | 352 | 702 | 103 | 305 | 21 | 11 | 321 | 103 | — | — | — | — | — | — |
| 2017 | 23 | AA MLE | Montgomery Biscuits | — | 554 | 485 | 117 | 29 | 6 | 6 | 60 | 115 | 7 | 20 | 5 | 241 | 333 | 363 | 696 | 122 | 302 | 21 | 11 | 310 | 96 | — | — | — | — | — | — |
| 2018 | 24 | AAA MLE | Durham Bulls | — | 191 | 167 | 37 | 10 | 1 | 7 | 18 | 50 | 4 | 3 | 1 | 222 | 312 | 419 | 731 | 198 | 262 | 26 | 9 | 322 | 104 | — | — | — | — | — | — |
| 2019 | 25 | AAA MLE | Sacramento River Cats | — | 271 | 236 | 32 | 7 | 1 | 5 | 28 | 112 | 4 | 1 | 0 | 136 | 239 | 237 | 476 | 102 | 216 | 41 | 10 | 221 | 36 | — | — | — | — | — | — |
| 2021 | 27 | AAA MLE | Sacramento River Cats | — | 315 | 285 | 73 | 16 | 1 | 11 | 22 | 71 | 5 | 4 | 1 | 256 | 321 | 435 | 756 | 179 | 297 | 23 | 7 | 327 | 107 | — | — | — | — | — | — |
| 2016 | 22 | A+ MLE | 2 teams | — | 430 | 370 | 88 | 18 | 2 | 6 | 42 | 96 | 10 | 19 | 5 | 238 | 332 | 346 | 678 | 108 | 297 | 22 | 10 | 303 | 91 | — | — | — | — | — | — |
| 2016 | 22 | A+ RAW | 2 teams | — | 430 | 351 | 100 | 21 | 3 | 8 | 61 | 68 | 10 | 19 | 5 | 285 | 405 | 430 | 835 | 145 | 325 | 16 | 14 | 372 | 91 | — | — | — | — | — | — |
| 2017 | 23 | AA MLE | Montgomery Biscuits | — | 554 | 485 | 117 | 29 | 6 | 6 | 60 | 115 | 7 | 20 | 5 | 241 | 333 | 363 | 696 | 122 | 303 | 21 | 11 | 310 | 96 | — | — | — | — | — | — |
| 2017 | 23 | AA RAW | Montgomery Biscuits | — | 554 | 454 | 129 | 31 | 8 | 7 | 90 | 94 | 7 | 20 | 5 | 284 | 409 | 434 | 843 | 150 | 344 | 17 | 16 | 380 | 96 | — | — | — | — | — | — |
| 2018 | 24 | AAA MLE | 2 teams | — | 248 | 216 | 48 | 13 | 1 | 10 | 24 | 65 | 6 | 3 | 1 | 222 | 317 | 431 | 748 | 208 | 266 | 26 | 10 | 322 | 104 | — | — | — | — | — | — |
| 2018 | 24 | AAA RAW | 2 teams | — | 248 | 206 | 54 | 16 | 1 | 9 | 33 | 58 | 6 | 3 | 1 | 262 | 378 | 481 | 859 | 218 | 319 | 23 | 13 | 378 | 104 | — | — | — | — | — | — |
| 2019 | 25 | AAA MLE | Sacramento River Cats | — | 271 | 236 | 32 | 7 | 1 | 5 | 28 | 112 | 4 | 1 | 0 | 136 | 239 | 237 | 476 | 102 | 221 | 41 | 10 | 221 | 36 | — | — | — | — | — | — |
| 2019 | 25 | AAA RAW | Sacramento River Cats | — | 271 | 227 | 42 | 9 | 2 | 7 | 37 | 84 | 4 | 1 | 0 | 185 | 310 | 335 | 645 | 150 | 252 | 31 | 14 | 295 | 36 | — | — | — | — | — | — |
| 2021 | 27 | AAA MLE | Sacramento River Cats | — | 315 | 285 | 73 | 16 | 1 | 11 | 22 | 71 | 5 | 4 | 1 | 256 | 321 | 435 | 756 | 179 | 301 | 23 | 7 | 327 | 107 | — | — | — | — | — | — |
| 2021 | 27 | AAA RAW | Sacramento River Cats | — | 315 | 275 | 84 | 18 | 1 | 15 | 32 | 61 | 5 | 4 | 1 | 305 | 388 | 542 | 930 | 236 | 342 | 19 | 10 | 404 | 107 | — | — | — | — | — | — |
| 2016 | 22 | A+ MLE | 2 teams | — | 430 | 375 | 88 | 18 | 2 | 6 | 42 | 96 | 10 | 19 | 5 | 235 | 332 | 341 | 673 | 107 | 285 | 22 | 10 | 303 | 91 | — | — | — | — | — | — |
| 2017 | 23 | AA MLE | Montgomery Biscuits | — | 554 | 482 | 117 | 29 | 6 | 6 | 60 | 115 | 7 | 20 | 5 | 243 | 333 | 365 | 698 | 122 | 302 | 21 | 11 | 310 | 96 | — | — | — | — | — | — |
| 2018 | 24 | AAA MLE | 2 teams | — | 248 | 216 | 48 | 13 | 1 | 10 | 24 | 65 | 6 | 3 | 1 | 222 | 317 | 431 | 748 | 208 | 262 | 26 | 10 | 322 | 104 | — | — | — | — | — | — |
| 2019 | 25 | AAA MLE | Sacramento River Cats | — | 271 | 237 | 32 | 7 | 1 | 5 | 28 | 112 | 4 | 1 | 0 | 135 | 239 | 236 | 475 | 101 | 216 | 41 | 10 | 221 | 36 | — | — | — | — | — | — |
| 2021 | 27 | AAA MLE | Sacramento River Cats | — | 315 | 285 | 73 | 16 | 1 | 11 | 22 | 71 | 5 | 4 | 1 | 256 | 321 | 435 | 756 | 179 | 297 | 23 | 7 | 327 | 107 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1818 | 1592 | 358 | 83 | 11 | 38 | 176 | 459 | 32 | 47 | 12 | 225 | 314 | 362 | 677 | 138 | 288 | 25 | 10 | 300 | 89 | -24 | +5 | +0 | -19 | +39 | 0.1 | |
| / 162G | — | MLE | — | 650 | 569 | 129 | 30 | 4 | 14 | 63 | 164 | 11 | 17 | 4 | 227 | 315 | 367 | 683 | 141 | 290 | 25 | 10 | 300 | 89 | -9 | +2 | +0 | -7 | +14 | 0.0 | |
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 AAASacramento River Cats · 315 PAwOBA .396 → .327 (−68)K% 19.4% → 22.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.37% | ÷1.034 | ×1.200 | — | — | 22.47% |
| BB% (unintentional) /PA | 9.84% | ÷0.956 | ×0.690 | — | ×1.003 | 7.13% |
| HBP% /PA | 1.59% | — | ×0.940 | — | ×1.003 | 1.50% |
| Singles /BIP | 23.36% | ÷1.049 | ×0.930 | ×0.991 | ×1.003 | 20.58% |
| Doubles /BIP | 8.41% | ÷0.916 | ×0.830 | ×0.991 | ×1.003 | 7.58% |
| Triples /BIP | 0.47% | ÷0.900 | ×0.920 | ×0.991 | ×1.003 | 0.47% |
| Home runs /BIP | 7.01% | ÷0.995 | ×0.700 | — | ×1.003 | 4.95% |
Factors used: level-wide AAA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 99, 1B 110, 2B 83, 3B 80, K 107, BB 91 — 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 ×0.991.
Result: wOBA .396 → .327; ISO .236 → .184; BABIP .342 → .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).
2019 AAASacramento River Cats · 271 PAwOBA .291 → .221 (−70)K% 31.0% → 41.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 31.00% | ÷0.971 | ×1.290 | — | — | 41.16% |
| BB% (unintentional) /PA | 13.65% | ÷0.980 | ×0.710 | — | ×1.033 | 10.21% |
| HBP% /PA | 1.48% | — | ×0.980 | — | ×1.033 | 1.49% |
| Singles /BIP | 16.78% | ÷0.982 | ×0.900 | ×0.950 | ×1.033 | 15.09% |
| Doubles /BIP | 6.29% | ÷0.981 | ×0.810 | ×0.950 | ×1.033 | 5.10% |
| Triples /BIP | 1.40% | ÷1.008 | ×0.810 | ×0.950 | ×1.033 | 1.10% |
| Home runs /BIP | 4.90% | ÷1.027 | ×0.780 | — | ×1.033 | 3.84% |
Factors used: league row PCL. Park (home-season share, regressed): HR 105, 1B 96, 2B 96, 3B 102, K 94, BB 96 — applied at half strength. Age: age 25 vs a level average of 27.2 → +3.3% on BB/HBP/hit rates (2.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .291 → .221; ISO .150 → .106; BABIP .252 → .216. 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 AAADurham Bulls · 191 PAwOBA .383 → .322 (−62)K% 22.5% → 26.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 22.51% | ÷1.032 | ×1.200 | — | — | 26.17% |
| BB% (unintentional) /PA | 13.09% | ÷0.986 | ×0.690 | — | ×1.048 | 9.60% |
| HBP% /PA | 2.09% | — | ×0.940 | — | ×1.048 | 2.06% |
| Singles /BIP | 17.95% | ÷1.052 | ×0.930 | ×0.950 | ×1.048 | 15.80% |
| Doubles /BIP | 11.11% | ÷1.091 | ×0.830 | ×0.950 | ×1.048 | 8.42% |
| Triples /BIP | 0.85% | ÷0.993 | ×0.970 | ×0.950 | ×1.048 | 0.83% |
| Home runs /BIP | 6.84% | ÷0.970 | ×0.840 | — | ×1.048 | 6.21% |
Factors used: league row IL. Park (home-season share, regressed): HR 94, 1B 110, 2B 118, 3B 99, K 106, BB 97 — applied at half strength. Age: age 24 vs a level average of 27.2 → +4.8% on BB/HBP/hit rates (3.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .383 → .322; ISO .244 → .213; BABIP .315 → .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).
2017 AAMontgomery Biscuits · 554 PAwOBA .371 → .310 (−61)K% 17.0% → 20.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 16.97% | ÷0.994 | ×1.220 | — | — | 20.83% |
| BB% (unintentional) /PA | 15.88% | ÷1.018 | ×0.680 | — | ×1.027 | 10.90% |
| HBP% /PA | 1.26% | — | ×0.840 | — | ×1.027 | 1.09% |
| Singles /BIP | 23.06% | ÷1.013 | ×0.920 | ×0.950 | ×1.027 | 20.42% |
| Doubles /BIP | 8.61% | ÷0.986 | ×0.910 | ×0.950 | ×1.027 | 7.75% |
| Triples /BIP | 2.22% | ÷1.146 | ×0.880 | ×0.950 | ×1.027 | 1.67% |
| Home runs /BIP | 1.94% | ÷1.008 | ×0.800 | — | ×1.027 | 1.58% |
Factors used: league row SL. Park (home-season share, regressed): HR 102, 1B 103, 2B 97, 3B 129, K 99, BB 104 — 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 ×0.950.
Result: wOBA .371 → .310; ISO .150 → .130; BABIP .344 → .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).
2016 A+Charlotte Stone Crabs · 237 PAwOBA .360 → .288 (−72)K% 16.0% → 23.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 16.03% | ÷0.971 | ×1.420 | — | — | 23.45% |
| BB% (unintentional) /PA | 11.81% | ÷1.040 | ×0.750 | — | ×1.012 | 8.63% |
| HBP% /PA | 2.11% | — | ×0.930 | — | ×1.012 | 1.99% |
| Singles /BIP | 24.38% | ÷1.011 | ×0.920 | ×0.975 | ×1.012 | 21.89% |
| Doubles /BIP | 5.62% | ÷1.290 | ×0.960 | ×0.975 | ×1.012 | 4.13% |
| Triples /BIP | 1.88% | ÷1.150 | ×0.810 | ×0.975 | ×1.012 | 1.30% |
| Home runs /BIP | 3.12% | ÷1.142 | ×0.880 | — | ×1.012 | 2.44% |
Factors used: league row FSL. Park (home-season share, regressed): HR 128, 1B 102, 2B 158, 3B 130, K 94, BB 108 — 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 ×0.975.
Result: wOBA .360 → .288; ISO .152 → .111; BABIP .317 → .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).
2016 ABowling Green Hot Rods · 193 PAwOBA .378 → .321 (−57)K% 15.5% → 20.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.54% | ÷1.018 | ×1.360 | — | — | 20.76% |
| BB% (unintentional) /PA | 16.06% | ÷0.999 | ×0.690 | — | — | 11.10% |
| HBP% /PA | 2.59% | — | ×0.780 | — | — | 2.02% |
| Singles /BIP | 23.58% | ÷1.007 | ×0.920 | ×1.012 | — | 21.78% |
| Doubles /BIP | 9.76% | ÷0.945 | ×0.830 | ×1.012 | — | 8.66% |
| Triples /BIP | 0.00% | ÷0.956 | ×0.910 | ×1.012 | — | 0.00% |
| Home runs /BIP | 2.44% | ÷1.028 | ×0.800 | — | — | 1.90% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 106, 1B 101, 2B 89, 3B 91, K 104, BB 100 — 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.012.
Result: wOBA .378 → .321; ISO .137 → .120; BABIP .336 → .305. 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 — .