Danny Oh
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2014 | 24 | A+Tampa Yankees | 189 | .265/.367/.327 | 0 | 2 | 68 | — | .232/.314/.292 |
| 2015 | 25 | AA/A+2 orgs | 373 | .305/.363/.408 | 1 | 13 | 86 | — | .272/.312/.358 |
| 2016 | 26 | AAOAK | 310 | .236/.306/.275 | 0 | 12 | 34 | — | .204/.257/.236 |
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) | |||||||||||||||||||||||||||||||
| 2013 | 23 | A | Charleston RiverDogs | — | 304 | 259 | 69 | 13 | 0 | 0 | 31 | 58 | 13 | 10 | 2 | 266 | 373 | 317 | 690 | 50 | 343 | 19 | 10 | 324 | 69 | — | — | — | — | — | — |
| 2014 | 24 | A+ | Tampa Yankees | — | 189 | 162 | 43 | 6 | 2 | 0 | 24 | 30 | 2 | 2 | 2 | 265 | 367 | 327 | 694 | 62 | 323 | 16 | 13 | 322 | 68 | — | — | — | — | — | — |
| 2015 | 25 | AA | Trenton Thunder | — | 261 | 242 | 71 | 14 | 4 | 1 | 15 | 33 | 2 | 9 | 3 | 293 | 340 | 397 | 736 | 103 | 335 | 13 | 6 | 328 | 80 | — | — | — | — | — | — |
| 2015 | 25 | A+ | Tampa Yankees | — | 112 | 96 | 32 | 8 | 1 | 0 | 14 | 15 | 0 | 4 | 1 | 333 | 418 | 438 | 856 | 104 | 386 | 13 | 12 | 379 | 99 | — | — | — | — | — | — |
| 2016 | 26 | AA | Midland RockHounds | — | 310 | 276 | 65 | 11 | 0 | 0 | 22 | 52 | 6 | 12 | 2 | 236 | 306 | 275 | 581 | 40 | 290 | 17 | 7 | 267 | 34 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2013 | 23 | A MLE | Charleston RiverDogs | — | 304 | 270 | 64 | 11 | 0 | 0 | 20 | 76 | 13 | 10 | 2 | 237 | 320 | 278 | 598 | 41 | 325 | 25 | 7 | 270 | 69 | — | — | — | — | — | — |
| 2014 | 24 | A+ MLE | Tampa Yankees | — | 189 | 168 | 39 | 6 | 2 | 0 | 18 | 45 | 2 | 2 | 2 | 232 | 314 | 292 | 605 | 60 | 302 | 24 | 10 | 268 | 68 | — | — | — | — | — | — |
| 2015 | 25 | AA MLE | Trenton Thunder | — | 261 | 249 | 67 | 12 | 3 | 1 | 8 | 42 | 2 | 9 | 3 | 269 | 297 | 353 | 651 | 84 | 320 | 16 | 3 | 287 | 80 | — | — | — | — | — | — |
| 2015 | 25 | A+ MLE | Tampa Yankees | — | 112 | 100 | 28 | 7 | 1 | 0 | 10 | 21 | 0 | 4 | 1 | 280 | 345 | 370 | 715 | 90 | 337 | 19 | 9 | 315 | 99 | — | — | — | — | — | — |
| 2016 | 26 | AA MLE | Midland RockHounds | — | 310 | 284 | 58 | 9 | 0 | 0 | 14 | 69 | 6 | 12 | 2 | 204 | 257 | 236 | 492 | 32 | 262 | 22 | 5 | 219 | 34 | — | — | — | — | — | — |
| 2013 | 23 | A MLE | Charleston RiverDogs | — | 304 | 270 | 64 | 11 | 0 | 0 | 20 | 76 | 13 | 10 | 2 | 237 | 320 | 278 | 598 | 41 | 330 | 25 | 7 | 270 | 69 | — | — | — | — | — | — |
| 2013 | 23 | A RAW | Charleston RiverDogs | — | 304 | 259 | 69 | 13 | 0 | 0 | 31 | 58 | 13 | 10 | 2 | 266 | 373 | 317 | 690 | 50 | 343 | 19 | 10 | 324 | 69 | — | — | — | — | — | — |
| 2014 | 24 | A+ MLE | Tampa Yankees | — | 189 | 168 | 39 | 6 | 2 | 0 | 18 | 45 | 2 | 2 | 2 | 232 | 314 | 292 | 605 | 60 | 315 | 24 | 10 | 268 | 68 | — | — | — | — | — | — |
| 2014 | 24 | A+ RAW | Tampa Yankees | — | 189 | 162 | 43 | 6 | 2 | 0 | 24 | 30 | 2 | 2 | 2 | 265 | 367 | 327 | 694 | 62 | 323 | 16 | 13 | 322 | 68 | — | — | — | — | — | — |
| 2015 | 25 | AA MLE | 2 teams | — | 373 | 349 | 96 | 20 | 4 | 1 | 18 | 63 | 2 | 13 | 4 | 275 | 314 | 364 | 678 | 89 | 330 | 17 | 5 | 295 | 86 | — | — | — | — | — | — |
| 2015 | 25 | AA RAW | 2 teams | — | 373 | 338 | 103 | 22 | 5 | 1 | 29 | 48 | 2 | 13 | 4 | 305 | 363 | 408 | 771 | 104 | 349 | 13 | 8 | 343 | 86 | — | — | — | — | — | — |
| 2016 | 26 | AA MLE | Midland RockHounds | — | 310 | 284 | 58 | 9 | 0 | 0 | 14 | 69 | 6 | 12 | 2 | 204 | 257 | 236 | 492 | 32 | 270 | 22 | 5 | 219 | 34 | — | — | — | — | — | — |
| 2016 | 26 | AA RAW | Midland RockHounds | — | 310 | 276 | 65 | 11 | 0 | 0 | 22 | 52 | 6 | 12 | 2 | 236 | 306 | 275 | 581 | 40 | 290 | 17 | 7 | 267 | 34 | — | — | — | — | — | — |
| 2013 | 23 | A MLE | Charleston RiverDogs | — | 304 | 268 | 64 | 11 | 0 | 0 | 20 | 76 | 13 | 10 | 2 | 239 | 320 | 280 | 600 | 41 | 325 | 25 | 7 | 270 | 69 | — | — | — | — | — | — |
| 2014 | 24 | A+ MLE | Tampa Yankees | — | 189 | 167 | 39 | 6 | 2 | 0 | 18 | 45 | 2 | 2 | 2 | 234 | 314 | 293 | 607 | 60 | 302 | 24 | 10 | 268 | 68 | — | — | — | — | — | — |
| 2015 | 25 | AA MLE | 2 teams | — | 373 | 350 | 96 | 20 | 4 | 1 | 18 | 63 | 2 | 13 | 4 | 274 | 314 | 363 | 677 | 89 | 325 | 17 | 5 | 295 | 86 | — | — | — | — | — | — |
| 2016 | 26 | AA MLE | Midland RockHounds | — | 310 | 287 | 58 | 9 | 0 | 0 | 14 | 69 | 6 | 12 | 2 | 202 | 257 | 233 | 490 | 31 | 262 | 22 | 5 | 219 | 34 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1176 | 1071 | 257 | 46 | 6 | 1 | 70 | 253 | 23 | 37 | 10 | 240 | 301 | 297 | 598 | 57 | 312 | 22 | 6 | 264 | 65 | -49 | +3 | +0 | -13 | +25 | -3.3 | |
| / 162G | — | MLE | — | 650 | 592 | 142 | 25 | 3 | 1 | 39 | 140 | 13 | 20 | 6 | 240 | 301 | 297 | 599 | 57 | 311 | 22 | 6 | 264 | 65 | -27 | +2 | +0 | -7 | +14 | -1.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.
2016 AAMidland RockHounds · 310 PAwOBA .260 → .219 (−42)K% 16.8% → 22.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 16.77% | ÷0.920 | ×1.220 | — | — | 22.25% |
| BB% (unintentional) /PA | 7.10% | ÷1.062 | ×0.700 | — | ×0.978 | 4.58% |
| HBP% /PA | 1.94% | — | ×0.870 | — | ×0.978 | 1.65% |
| Singles /BIP | 24.11% | ÷1.022 | ×0.920 | ×1.050 | ×0.978 | 22.28% |
| Doubles /BIP | 4.91% | ÷1.075 | ×0.840 | ×1.050 | ×0.978 | 3.94% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.940 | ×1.050 | ×0.978 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.999 | ×0.800 | — | ×0.978 | 0.00% |
Factors used: league row TL. Park (home-season share, regressed): HR 100, 1B 104, 2B 115, 3B 130, K 84, BB 112 — applied at half strength. Age: age 27 vs a level average of 24.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.
Result: wOBA .260 → .219; ISO .040 → .032; BABIP .290 → .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).
2015 AATrenton Thunder · 261 PAwOBA .316 → .287 (−29)K% 12.6% → 16.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 12.64% | ÷0.950 | ×1.220 | — | — | 16.23% |
| BB% (unintentional) /PA | 4.60% | ÷1.067 | ×0.700 | — | ×0.988 | 2.98% |
| HBP% /PA | 0.77% | — | ×0.850 | — | ×0.988 | 0.64% |
| Singles /BIP | 24.88% | ÷0.977 | ×0.970 | ×1.008 | ×0.988 | 24.59% |
| Doubles /BIP | 6.70% | ÷0.978 | ×0.860 | ×1.008 | ×0.988 | 5.86% |
| Triples /BIP | 1.91% | ÷1.150 | ×0.950 | ×1.008 | ×0.988 | 1.57% |
| Home runs /BIP | 0.48% | ÷1.153 | ×0.780 | — | ×0.988 | 0.32% |
Factors used: league row EL. Park (home-season share, regressed): HR 131, 1B 95, 2B 96, 3B 130, K 90, BB 114 — 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.008.
Result: wOBA .316 → .287; ISO .103 → .086; 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).
2015 A+Tampa Yankees · 112 PAwOBA .377 → .315 (−62)K% 13.4% → 18.7%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 13.39% | ÷1.016 | ×1.420 | — | — | 18.72% |
| BB% (unintentional) /PA | 12.50% | ÷1.015 | ×0.750 | — | ×0.968 | 8.94% |
| HBP% /PA | 0.00% | — | ×0.930 | — | ×0.968 | 0.00% |
| Singles /BIP | 28.40% | ÷1.046 | ×0.920 | ×1.020 | ×0.968 | 24.67% |
| Doubles /BIP | 9.88% | ÷1.044 | ×0.960 | ×1.020 | ×0.968 | 8.97% |
| Triples /BIP | 1.23% | ÷1.150 | ×0.810 | ×1.020 | ×0.968 | 0.86% |
| Home runs /BIP | 0.00% | ÷0.832 | ×0.880 | — | ×0.968 | 0.00% |
Factors used: league row FSL. Park (home-season share, regressed): HR 66, 1B 109, 2B 109, 3B 130, K 103, BB 103 — applied at half strength. Age: age 26 vs a level average of 22.8 → −3.2% on BB/HBP/hit rates (3.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.020.
Result: wOBA .377 → .315; ISO .104 → .090; BABIP .386 → .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).
2014 A+Tampa Yankees · 189 PAwOBA .316 → .268 (−48)K% 15.9% → 23.7%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.87% | ÷0.950 | ×1.420 | — | — | 23.71% |
| BB% (unintentional) /PA | 12.70% | ÷0.978 | ×0.750 | — | ×0.978 | 9.52% |
| HBP% /PA | 1.06% | — | ×0.930 | — | ×0.978 | 0.96% |
| Singles /BIP | 26.52% | ÷1.019 | ×0.920 | ×1.050 | ×0.978 | 24.59% |
| Doubles /BIP | 4.55% | ÷1.003 | ×0.960 | ×1.050 | ×0.978 | 4.47% |
| Triples /BIP | 1.52% | ÷0.900 | ×0.810 | ×1.050 | ×0.978 | 1.40% |
| Home runs /BIP | 0.00% | ÷0.882 | ×0.880 | — | ×0.978 | 0.00% |
Factors used: league row FSL. Park (home-season share, regressed): HR 76, 1B 104, 2B 101, 3B 80, K 90, BB 96 — 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 ×1.050.
Result: wOBA .316 → .268; ISO .062 → .056; BABIP .323 → .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).
2013 ACharleston RiverDogs · 304 PAwOBA .315 → .270 (−46)K% 19.1% → 25.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.08% | ÷1.019 | ×1.340 | — | — | 25.09% |
| BB% (unintentional) /PA | 9.87% | ÷0.956 | ×0.660 | — | ×0.980 | 6.67% |
| HBP% /PA | 4.28% | — | ×0.770 | — | ×0.980 | 3.23% |
| Singles /BIP | 27.86% | ÷0.988 | ×0.920 | ×1.050 | ×0.980 | 26.70% |
| Doubles /BIP | 6.47% | ÷0.946 | ×0.820 | ×1.050 | ×0.980 | 5.77% |
| Triples /BIP | 0.00% | ÷1.038 | ×0.940 | ×1.050 | ×0.980 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.951 | ×0.820 | — | ×0.980 | 0.00% |
Factors used: league row SAL. Park (home-season share, regressed): HR 90, 1B 98, 2B 89, 3B 108, K 104, BB 91 — 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 ×1.050.
Result: wOBA .315 → .270; ISO .050 → .044; BABIP .343 → .325. 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).