Ryan Costello
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2017 | 21 | ROKAZL Mariners | 172 | .331/.438/.634 | 8 | 3 | 98 | — | .229/.302/.431 |
| 2018 | 22 | A+/A2 orgs | 516 | .258/.357/.459 | 20 | 2 | 75 | — | .206/.282/.356 |
| 2019 | 23 | AA/A+2 orgs | 411 | .223/.345/.412 | 15 | 0 | 58 | — | .173/.264/.305 |
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 | ROK | AZL Mariners | — | 172 | 142 | 47 | 13 | 3 | 8 | 26 | 38 | 1 | 3 | 1 | 331 | 438 | 634 | 1.072 | 303 | 394 | 22 | 15 | 453 | 98 | — | — | — | — | — | — |
| 2018 | 22 | A+ | Fort Myers Miracle | — | 110 | 96 | 22 | 1 | 0 | 4 | 14 | 19 | 0 | 0 | 0 | 229 | 327 | 365 | 692 | 135 | 247 | 17 | 13 | 316 | 57 | — | — | — | — | — | — |
| 2018 | 22 | A | Clinton LumberKings | — | 406 | 346 | 92 | 24 | 2 | 16 | 51 | 82 | 3 | 2 | 4 | 266 | 365 | 486 | 851 | 220 | 299 | 20 | 13 | 370 | 80 | — | — | — | — | — | — |
| 2019 | 23 | AA | Pensacola Blue Wahoos | — | 153 | 129 | 31 | 5 | 2 | 7 | 23 | 45 | 0 | 0 | 0 | 240 | 355 | 473 | 828 | 233 | 308 | 29 | 15 | 364 | 82 | — | — | — | — | — | — |
| 2019 | 23 | A+ | Fort Myers Miracle | — | 258 | 216 | 46 | 11 | 0 | 8 | 40 | 64 | 1 | 0 | 0 | 213 | 339 | 375 | 714 | 162 | 262 | 25 | 16 | 325 | 44 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2017 | 21 | ROK MLE | AZL Mariners | — | 172 | 153 | 35 | 9 | 2 | 6 | 15 | 55 | 1 | 3 | 1 | 229 | 302 | 431 | 733 | 203 | 287 | 32 | 9 | 313 | 98 | — | — | — | — | — | — |
| 2018 | 22 | A+ MLE | Fort Myers Miracle | — | 110 | 99 | 19 | 1 | 0 | 3 | 11 | 27 | 0 | 0 | 0 | 192 | 273 | 293 | 566 | 101 | 225 | 25 | 10 | 252 | 57 | — | — | — | — | — | — |
| 2018 | 22 | A MLE | Clinton LumberKings | — | 406 | 362 | 76 | 19 | 2 | 12 | 35 | 112 | 3 | 2 | 4 | 210 | 285 | 373 | 658 | 163 | 255 | 28 | 9 | 287 | 80 | — | — | — | — | — | — |
| 2019 | 23 | AA MLE | Pensacola Blue Wahoos | — | 153 | 136 | 28 | 4 | 2 | 6 | 16 | 53 | 0 | 0 | 0 | 206 | 289 | 397 | 687 | 191 | 271 | 35 | 10 | 289 | 82 | — | — | — | — | — | — |
| 2019 | 23 | A+ MLE | Fort Myers Miracle | — | 258 | 228 | 35 | 10 | 0 | 4 | 28 | 97 | 1 | 0 | 0 | 154 | 249 | 250 | 499 | 96 | 238 | 38 | 11 | 233 | 44 | — | — | — | — | — | — |
| 2017 | 21 | ROK MLE | AZL Mariners | — | 172 | 153 | 35 | 9 | 2 | 6 | 15 | 55 | 1 | 3 | 1 | 229 | 302 | 431 | 733 | 203 | 305 | 32 | 9 | 313 | 98 | — | — | — | — | — | — |
| 2017 | 21 | ROK RAW | AZL Mariners | — | 172 | 142 | 47 | 13 | 3 | 8 | 26 | 38 | 1 | 3 | 1 | 331 | 438 | 634 | 1.072 | 303 | 394 | 22 | 15 | 453 | 98 | — | — | — | — | — | — |
| 2018 | 22 | A MLE | 2 teams | — | 516 | 461 | 95 | 20 | 2 | 15 | 46 | 139 | 3 | 2 | 4 | 206 | 282 | 356 | 638 | 150 | 256 | 27 | 9 | 280 | 75 | — | — | — | — | — | — |
| 2018 | 22 | A RAW | 2 teams | — | 516 | 442 | 114 | 25 | 2 | 20 | 65 | 101 | 3 | 2 | 4 | 258 | 357 | 459 | 816 | 201 | 287 | 20 | 13 | 359 | 75 | — | — | — | — | — | — |
| 2019 | 23 | A+ MLE | 2 teams | — | 411 | 365 | 62 | 13 | 2 | 10 | 43 | 150 | 1 | 0 | 0 | 170 | 259 | 299 | 558 | 129 | 251 | 36 | 10 | 254 | 58 | — | — | — | — | — | — |
| 2019 | 23 | A+ RAW | 2 teams | — | 411 | 345 | 77 | 16 | 2 | 15 | 63 | 109 | 1 | 0 | 0 | 223 | 345 | 412 | 756 | 188 | 278 | 27 | 15 | 339 | 58 | — | — | — | — | — | — |
| 2017 | 21 | ROK MLE | AZL Mariners | — | 172 | 154 | 35 | 9 | 2 | 6 | 15 | 55 | 1 | 3 | 1 | 227 | 302 | 429 | 730 | 201 | 287 | 32 | 9 | 313 | 98 | — | — | — | — | — | — |
| 2018 | 22 | A MLE | 2 teams | — | 516 | 462 | 95 | 20 | 2 | 15 | 46 | 139 | 3 | 2 | 4 | 206 | 282 | 355 | 637 | 149 | 249 | 27 | 9 | 280 | 75 | — | — | — | — | — | — |
| 2019 | 23 | A+ MLE | 2 teams | — | 411 | 364 | 62 | 13 | 2 | 10 | 43 | 150 | 1 | 0 | 0 | 170 | 259 | 299 | 559 | 129 | 250 | 36 | 10 | 254 | 58 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1099 | 979 | 192 | 42 | 6 | 31 | 104 | 344 | 5 | 5 | 5 | 196 | 277 | 346 | 623 | 150 | 262 | 31 | 9 | 275 | 72 | -36 | -1 | +0 | +4 | +24 | -1.0 | |
| / 162G | — | MLE | — | 650 | 579 | 114 | 25 | 4 | 18 | 62 | 203 | 3 | 3 | 3 | 197 | 278 | 347 | 626 | 150 | 263 | 31 | 10 | 275 | 72 | -21 | -1 | +0 | +2 | +14 | -0.6 | |
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.
2019 A+Fort Myers Miracle · 258 PAwOBA .315 → .233 (−82)K% 24.8% → 37.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 24.81% | ÷0.939 | ×1.420 | — | — | 37.50% |
| BB% (unintentional) /PA | 14.73% | ÷1.019 | ×0.750 | — | ×0.998 | 10.81% |
| HBP% /PA | 0.39% | — | ×0.930 | — | ×0.998 | 0.36% |
| Singles /BIP | 17.76% | ÷0.975 | ×0.920 | ×0.950 | ×0.998 | 15.90% |
| Doubles /BIP | 7.24% | ÷0.908 | ×0.960 | ×0.950 | ×0.998 | 7.26% |
| Triples /BIP | 0.00% | ÷0.900 | ×0.810 | ×0.950 | ×0.998 | 0.00% |
| Home runs /BIP | 5.26% | ÷1.362 | ×0.880 | — | ×0.998 | 3.39% |
Factors used: league row FSL. Park (home-season share, regressed): HR 172, 1B 95, 2B 82, 3B 80, K 88, BB 104 — 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 ×0.950.
Result: wOBA .315 → .233; ISO .162 → .107; BABIP .262 → .238. 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 AAPensacola Blue Wahoos · 153 PAwOBA .357 → .289 (−68)K% 29.4% → 34.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 29.41% | ÷1.027 | ×1.220 | — | — | 34.94% |
| BB% (unintentional) /PA | 15.03% | ÷1.028 | ×0.680 | — | ×1.027 | 10.21% |
| HBP% /PA | 0.00% | — | ×0.840 | — | ×1.027 | 0.00% |
| Singles /BIP | 20.24% | ÷0.970 | ×0.920 | ×0.950 | ×1.027 | 18.73% |
| Doubles /BIP | 5.95% | ÷1.160 | ×0.910 | ×0.950 | ×1.027 | 4.56% |
| Triples /BIP | 2.38% | ÷0.900 | ×0.880 | ×0.950 | ×1.027 | 2.27% |
| Home runs /BIP | 8.33% | ÷1.000 | ×0.800 | — | ×1.027 | 6.85% |
Factors used: league row SL. Park (home-season share, regressed): HR 100, 1B 94, 2B 132, 3B 80, K 105, BB 106 — 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 .357 → .289; ISO .233 → .193; BABIP .308 → .271. 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 AClinton LumberKings · 406 PAwOBA .366 → .287 (−79)K% 20.2% → 27.7%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 20.20% | ÷0.990 | ×1.360 | — | — | 27.73% |
| BB% (unintentional) /PA | 12.56% | ÷0.998 | ×0.690 | — | — | 8.69% |
| HBP% /PA | 0.74% | — | ×0.780 | — | — | 0.58% |
| Singles /BIP | 18.94% | ÷0.989 | ×0.920 | ×0.950 | — | 16.74% |
| Doubles /BIP | 9.09% | ÷0.969 | ×0.830 | ×0.950 | — | 7.40% |
| Triples /BIP | 0.76% | ÷0.900 | ×0.910 | ×0.950 | — | 0.73% |
| Home runs /BIP | 6.06% | ÷1.013 | ×0.800 | — | — | 4.79% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 103, 1B 98, 2B 94, 3B 80, K 98, 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 ×0.950.
Result: wOBA .366 → .287; ISO .220 → .172; BABIP .299 → .255. 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+Fort Myers Miracle · 110 PAwOBA .308 → .252 (−56)K% 17.3% → 24.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.27% | ÷1.011 | ×1.420 | — | — | 24.25% |
| BB% (unintentional) /PA | 12.73% | ÷1.000 | ×0.750 | — | ×1.012 | 9.66% |
| HBP% /PA | 0.00% | — | ×0.930 | — | ×1.012 | 0.00% |
| Singles /BIP | 22.08% | ÷0.983 | ×0.920 | ×0.971 | ×1.012 | 20.30% |
| Doubles /BIP | 1.30% | ÷1.036 | ×0.960 | ×0.971 | ×1.012 | 1.18% |
| Triples /BIP | 0.00% | ÷0.949 | ×0.810 | ×0.971 | ×1.012 | 0.00% |
| Home runs /BIP | 5.19% | ÷1.059 | ×0.880 | — | ×1.012 | 4.37% |
Factors used: league row FSL. Park (home-season share, regressed): HR 112, 1B 97, 2B 107, 3B 90, K 102, BB 100 — 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.971.
Result: wOBA .308 → .252; ISO .135 → .108; BABIP .247 → .225. 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 ROKAZL Mariners · 172 PAwOBA .446 → .313 (−133)K% 22.1% → 31.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 22.09% | ÷1.000 | ×1.440 | — | — | 31.81% |
| BB% (unintentional) /PA | 13.95% | ÷1.000 | ×0.620 | — | ×0.985 | 8.52% |
| HBP% /PA | 0.58% | — | ×0.720 | — | ×0.985 | 0.41% |
| Singles /BIP | 22.12% | ÷1.000 | ×0.820 | ×0.968 | ×0.985 | 17.30% |
| Doubles /BIP | 12.50% | ÷1.000 | ×0.720 | ×0.968 | ×0.985 | 8.58% |
| Triples /BIP | 2.88% | ÷1.000 | ×0.720 | ×0.968 | ×0.985 | 1.98% |
| Home runs /BIP | 7.69% | ÷1.000 | ×0.780 | — | ×0.985 | 5.91% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): no park row on file (treated as neutral) — 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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.968.
Result: wOBA .446 → .313; ISO .303 → .217; BABIP .394 → .287. 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).