John Sansone
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2016 | 22 | ROKBillings Must… | 211 | .285/.340/.435 | 5 | 4 | 34 | — | .182/.225/.273 |
| 2017 | 23 | ACIN | 445 | .216/.327/.384 | 13 | 3 | 35 | — | .153/.238/.260 |
| 2018 | 24 | A+/ACIN | 324 | .215/.273/.319 | 4 | 5 | 14 | — | .155/.202/.234 |
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 | ROK | Billings Mustangs | — | 211 | 193 | 55 | 12 | 1 | 5 | 12 | 51 | 4 | 4 | 3 | 285 | 340 | 435 | 775 | 150 | 360 | 24 | 6 | 342 | 34 | — | — | — | — | — | — |
| 2017 | 23 | A | Dayton Dragons | — | 445 | 375 | 81 | 22 | 1 | 13 | 48 | 128 | 14 | 3 | 1 | 216 | 327 | 384 | 711 | 168 | 282 | 29 | 11 | 318 | 35 | — | — | — | — | — | — |
| 2018 | 24 | A+ | Daytona Tortugas | — | 87 | 82 | 11 | 3 | 0 | 0 | 3 | 31 | 2 | 0 | 1 | 134 | 184 | 171 | 355 | 37 | 216 | 36 | 3 | 168 | -36 | — | — | — | — | — | — |
| 2018 | 24 | A | Dayton Dragons | — | 237 | 216 | 53 | 10 | 3 | 4 | 14 | 63 | 5 | 5 | 1 | 245 | 306 | 375 | 681 | 130 | 327 | 27 | 6 | 304 | 32 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2016 | 22 | ROK MLE | Billings Mustangs | — | 211 | 198 | 36 | 7 | 1 | 3 | 7 | 73 | 4 | 4 | 3 | 182 | 225 | 273 | 498 | 91 | 261 | 35 | 3 | 218 | 34 | — | — | — | — | — | — |
| 2017 | 23 | A MLE | Dayton Dragons | — | 445 | 393 | 60 | 16 | 1 | 8 | 30 | 177 | 14 | 3 | 1 | 153 | 238 | 260 | 498 | 107 | 228 | 40 | 7 | 220 | 35 | — | — | — | — | — | — |
| 2018 | 24 | A+ MLE | Daytona Tortugas | — | 87 | 83 | 7 | 2 | 0 | 0 | 2 | 43 | 2 | 0 | 1 | 84 | 126 | 108 | 235 | 24 | 182 | 49 | 2 | 115 | -36 | — | — | — | — | — | — |
| 2018 | 24 | A MLE | Dayton Dragons | — | 237 | 221 | 40 | 7 | 3 | 3 | 9 | 87 | 5 | 5 | 1 | 181 | 230 | 281 | 510 | 100 | 272 | 37 | 4 | 215 | 32 | — | — | — | — | — | — |
| 2016 | 22 | ROK MLE | Billings Mustangs | — | 211 | 198 | 36 | 7 | 1 | 3 | 7 | 73 | 4 | 4 | 3 | 182 | 225 | 273 | 498 | 91 | 266 | 35 | 3 | 218 | 34 | — | — | — | — | — | — |
| 2016 | 22 | ROK RAW | Billings Mustangs | — | 211 | 193 | 55 | 12 | 1 | 5 | 12 | 51 | 4 | 4 | 3 | 285 | 340 | 435 | 775 | 150 | 360 | 24 | 6 | 342 | 34 | — | — | — | — | — | — |
| 2017 | 23 | A MLE | Dayton Dragons | — | 445 | 393 | 60 | 16 | 1 | 8 | 30 | 177 | 14 | 3 | 1 | 153 | 238 | 260 | 498 | 107 | 242 | 40 | 7 | 220 | 35 | — | — | — | — | — | — |
| 2017 | 23 | A RAW | Dayton Dragons | — | 445 | 375 | 81 | 22 | 1 | 13 | 48 | 128 | 14 | 3 | 1 | 216 | 327 | 384 | 711 | 168 | 282 | 29 | 11 | 318 | 35 | — | — | — | — | — | — |
| 2018 | 24 | A MLE | 2 teams | — | 324 | 304 | 48 | 9 | 3 | 3 | 11 | 129 | 7 | 5 | 2 | 158 | 205 | 237 | 442 | 79 | 260 | 40 | 3 | 188 | 13 | — | — | — | — | — | — |
| 2018 | 24 | A RAW | 2 teams | — | 324 | 298 | 64 | 13 | 3 | 4 | 17 | 94 | 7 | 5 | 2 | 215 | 273 | 319 | 592 | 104 | 299 | 29 | 5 | 268 | 13 | — | — | — | — | — | — |
| 2016 | 22 | ROK MLE | Billings Mustangs | — | 211 | 198 | 36 | 7 | 1 | 3 | 7 | 73 | 4 | 4 | 3 | 182 | 225 | 273 | 498 | 91 | 261 | 35 | 3 | 218 | 34 | — | — | — | — | — | — |
| 2017 | 23 | A MLE | Dayton Dragons | — | 445 | 398 | 60 | 16 | 1 | 8 | 30 | 177 | 14 | 3 | 1 | 151 | 238 | 256 | 494 | 106 | 228 | 40 | 7 | 220 | 35 | — | — | — | — | — | — |
| 2018 | 24 | A MLE | 2 teams | — | 324 | 303 | 48 | 9 | 3 | 3 | 11 | 129 | 7 | 5 | 2 | 158 | 205 | 238 | 443 | 79 | 248 | 40 | 3 | 188 | 13 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 980 | 895 | 144 | 32 | 5 | 14 | 48 | 379 | 25 | 12 | 6 | 161 | 224 | 255 | 479 | 94 | 254 | 39 | 5 | 209 | 28 | -84 | +0 | +0 | +3 | +21 | -6.1 | |
| / 162G | — | MLE | — | 650 | 594 | 95 | 21 | 3 | 9 | 32 | 251 | 17 | 8 | 4 | 160 | 224 | 251 | 475 | 91 | 252 | 39 | 5 | 209 | 28 | -56 | +0 | +0 | +2 | +14 | -4.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.
2018 ADayton Dragons · 237 PAwOBA .297 → .215 (−82)K% 26.6% → 36.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 26.58% | ÷0.987 | ×1.360 | — | — | 36.62% |
| BB% (unintentional) /PA | 5.91% | ÷1.097 | ×0.690 | — | ×0.970 | 3.60% |
| HBP% /PA | 2.11% | — | ×0.780 | — | ×0.970 | 1.60% |
| Singles /BIP | 23.53% | ÷1.019 | ×0.920 | ×0.958 | ×0.970 | 19.75% |
| Doubles /BIP | 6.54% | ÷0.942 | ×0.830 | ×0.958 | ×0.970 | 5.35% |
| Triples /BIP | 1.96% | ÷0.900 | ×0.910 | ×0.958 | ×0.970 | 1.84% |
| Home runs /BIP | 2.61% | ÷1.103 | ×0.800 | — | ×0.970 | 1.84% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 121, 1B 104, 2B 88, 3B 80, K 97, BB 119 — applied at half strength. Age: age 25 vs a level average of 22.0 → −3.0% on BB/HBP/hit rates (3.0 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.958.
Result: wOBA .297 → .215; ISO .130 → .093; BABIP .327 → .272. 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+Daytona Tortugas · 87 PAwOBA .164 → .115 (−49)K% 35.6% → 48.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 35.63% | ÷1.035 | ×1.420 | — | — | 48.89% |
| BB% (unintentional) /PA | 3.45% | ÷0.994 | ×0.750 | — | ×0.978 | 2.54% |
| HBP% /PA | 2.30% | — | ×0.930 | — | ×0.978 | 2.09% |
| Singles /BIP | 15.69% | ÷1.006 | ×0.920 | ×0.950 | ×0.978 | 13.33% |
| Doubles /BIP | 5.88% | ÷1.088 | ×0.960 | ×0.950 | ×0.978 | 4.82% |
| Triples /BIP | 0.00% | ÷1.047 | ×0.810 | ×0.950 | ×0.978 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.058 | ×0.880 | — | ×0.978 | 0.00% |
Factors used: league row FSL. Park (home-season share, regressed): HR 112, 1B 101, 2B 118, 3B 109, K 107, BB 99 — 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.950.
Result: wOBA .164 → .115; ISO .037 → .024; BABIP .216 → .182. 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 ADayton Dragons · 445 PAwOBA .314 → .220 (−94)K% 28.8% → 39.7%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 28.76% | ÷0.984 | ×1.360 | — | — | 39.74% |
| BB% (unintentional) /PA | 10.56% | ÷1.055 | ×0.690 | — | ×0.980 | 6.77% |
| HBP% /PA | 3.15% | — | ×0.780 | — | ×0.980 | 2.40% |
| Singles /BIP | 18.22% | ÷1.005 | ×0.920 | ×0.950 | ×0.980 | 15.52% |
| Doubles /BIP | 8.91% | ÷0.999 | ×0.830 | ×0.950 | ×0.980 | 6.89% |
| Triples /BIP | 0.40% | ÷1.150 | ×0.910 | ×0.950 | ×0.980 | 0.30% |
| Home runs /BIP | 5.26% | ÷1.168 | ×0.800 | — | ×0.980 | 3.53% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 134, 1B 101, 2B 100, 3B 130, K 97, BB 111 — 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.950.
Result: wOBA .314 → .220; ISO .168 → .110; BABIP .282 → .228. 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 ROKBillings Mustangs · 211 PAwOBA .336 → .218 (−118)K% 24.2% → 34.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 24.17% | ÷1.000 | ×1.440 | — | — | 34.81% |
| BB% (unintentional) /PA | 5.69% | ÷1.000 | ×0.610 | — | ×0.965 | 3.35% |
| HBP% /PA | 1.90% | — | ×0.720 | — | ×0.965 | 1.32% |
| Singles /BIP | 26.06% | ÷1.000 | ×0.820 | ×0.958 | ×0.965 | 19.76% |
| Doubles /BIP | 8.45% | ÷1.000 | ×0.720 | ×0.958 | ×0.965 | 5.63% |
| Triples /BIP | 0.70% | ÷1.000 | ×0.720 | ×0.958 | ×0.965 | 0.47% |
| Home runs /BIP | 3.52% | ÷1.000 | ×0.750 | — | ×0.965 | 2.55% |
Factors used: league row PIO. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 23 vs a level average of 19.5 → −3.5% on BB/HBP/hit rates (3.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.958.
Result: wOBA .336 → .218; ISO .150 → .094; BABIP .360 → .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).