David Dahl
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG | |
|---|---|---|---|---|---|---|---|---|---|---|
| 2022 | 28 | AAAWSH | 359 | .279/.350/.442 | 10 | 4 | 79 | — | .237/.291/.353 | |
| 2023 | 29 | AAAOklahoma City… | 313 | .278/.351/.466 | 9 | 3 | 78 | — | .228/.284/.366 | |
| 2024 | 30 | AAAPHI | 295 | .285/.353/.502 | 14 | 5 | 80 | — | .234/.278/.392 | |
| 2024 | 30 | MLBPHI | 62 | .207/.246/.397 | 3 | 0 | 70 | -0.3 | ||
| 2025 | 31 | No MLB games played | ||||||||
| 2026 | 32 | No MLB games played | ||||||||
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) | |||||||||||||||||||||||||||||||
| 2012 | 18 | ROK | Grand Junction Rockies | — | 306 | 280 | 106 | 22 | 10 | 9 | 21 | 42 | 2 | 12 | 7 | 379 | 426 | 625 | 1.051 | 246 | 420 | 14 | 7 | 451 | 115 | — | — | — | — | — | — |
| 2013 | 19 | A | Asheville Tourists | — | 42 | 40 | 11 | 4 | 1 | 0 | 2 | 8 | 0 | 2 | 0 | 275 | 310 | 425 | 735 | 150 | 344 | 19 | 5 | 323 | 50 | — | — | — | — | — | — |
| 2014 | 20 | A+ | Modesto Nuts | — | 125 | 120 | 32 | 8 | 2 | 4 | 5 | 27 | 0 | 3 | 0 | 267 | 296 | 467 | 763 | 200 | 315 | 22 | 4 | 333 | 61 | — | — | — | — | — | — |
| 2014 | 20 | A | Asheville Tourists | — | 422 | 392 | 121 | 33 | 6 | 10 | 23 | 65 | 1 | 18 | 5 | 309 | 349 | 500 | 849 | 191 | 348 | 15 | 5 | 367 | 82 | — | — | — | — | — | — |
| 2015 | 21 | AA | New Britain Rock Cats | — | 302 | 288 | 80 | 16 | 3 | 6 | 11 | 72 | 0 | 22 | 7 | 278 | 304 | 417 | 721 | 139 | 352 | 24 | 4 | 316 | 68 | — | — | — | — | — | — |
| 2016 | 22 | MLB | Colorado Rockies | — | 237 | 222 | 70 | 12 | 4 | 7 | 15 | 59 | 0 | 5 | 0 | 315 | 359 | 500 | 859 | 185 | 404 | 25 | 6 | 377 | 127 | +8 | +1 | +1 | -7 | +5 | 0.8 |
| 2016 | 22 | AAA | Albuquerque Isotopes | — | 68 | 62 | 30 | 6 | 2 | 5 | 6 | 11 | 0 | 1 | 2 | 484 | 529 | 887 | 1.417 | 403 | 543 | 16 | 9 | 602 | 194 | — | — | — | — | — | — |
| 2016 | 22 | AA | Hartford Yard Goats | — | 332 | 288 | 80 | 21 | 2 | 13 | 39 | 85 | 2 | 16 | 5 | 278 | 368 | 500 | 868 | 222 | 351 | 26 | 12 | 379 | 101 | — | — | — | — | — | — |
| 2017 | 23 | AAA | Albuquerque Isotopes | — | 74 | 70 | 17 | 2 | 2 | 2 | 3 | 17 | 0 | 1 | 1 | 243 | 274 | 414 | 688 | 171 | 294 | 23 | 4 | 297 | 38 | — | — | — | — | — | — |
| 2018 | 24 | MLB | Colorado Rockies | — | 271 | 249 | 68 | 11 | 3 | 16 | 19 | 68 | 1 | 5 | 3 | 273 | 327 | 534 | 861 | 261 | 311 | 25 | 7 | 371 | 114 | +5 | -0 | -3 | -4 | +6 | 0.4 |
| 2018 | 24 | AAA | Albuquerque Isotopes | — | 78 | 77 | 22 | 7 | 0 | 2 | 1 | 19 | 0 | 1 | 0 | 286 | 295 | 455 | 749 | 169 | 357 | 24 | 1 | 328 | 54 | — | — | — | — | — | — |
| 2019 | 25 | MLB | Colorado Rockies | — | 413 | 374 | 113 | 28 | 5 | 15 | 28 | 110 | 4 | 4 | 4 | 302 | 357 | 524 | 881 | 222 | 386 | 27 | 7 | 379 | 129 | +14 | -1 | -0 | -4 | +9 | 1.8 |
| 2020 | 26 | MLB | Colorado Rockies | — | 99 | 93 | 17 | 2 | 2 | 0 | 4 | 28 | 1 | 1 | 0 | 183 | 224 | 247 | 472 | 65 | 258 | 28 | 4 | 213 | 21 | -9 | +0 | -2 | +0 | +2 | -0.9 |
| 2021 | 27 | MLB | Texas Rangers | — | 220 | 205 | 43 | 11 | 0 | 4 | 10 | 59 | 1 | 2 | 1 | 210 | 250 | 322 | 572 | 112 | 269 | 27 | 5 | 252 | 56 | -12 | +0 | -1 | -4 | +5 | -1.2 |
| 2021 | 27 | AAA | Nashville Sounds | — | 131 | 121 | 38 | 13 | 2 | 3 | 8 | 20 | 1 | 0 | 0 | 314 | 362 | 529 | 890 | 215 | 354 | 15 | 6 | 386 | 106 | — | — | — | — | — | — |
| 2021 | 27 | AA | Frisco RoughRiders | — | 25 | 23 | 12 | 0 | 0 | 1 | 2 | 3 | 0 | 1 | 0 | 522 | 560 | 652 | 1.212 | 130 | 579 | 12 | 8 | 537 | 189 | — | — | — | — | — | — |
| 2022 | 28 | AAA | Rochester Red Wings | — | 359 | 319 | 89 | 20 | 1 | 10 | 34 | 84 | 1 | 4 | 0 | 279 | 350 | 442 | 792 | 163 | 343 | 23 | 9 | 348 | 79 | — | — | — | — | — | — |
| 2023 | 29 | AAA | Oklahoma City Dodgers | — | 313 | 281 | 78 | 26 | 0 | 9 | 31 | 50 | 1 | 3 | 0 | 278 | 351 | 466 | 818 | 189 | 311 | 16 | 10 | 362 | 78 | — | — | — | — | — | — |
| 2024 | 30 | MLB | Philadelphia Phillies | — | 62 | 58 | 12 | 2 | 0 | 3 | 3 | 21 | 0 | 0 | 0 | 207 | 246 | 397 | 642 | 190 | 257 | 34 | 5 | 278 | 70 | -2 | +0 | +1 | -4 | +1 | -0.3 |
| 2024 | 30 | AAA | Lehigh Valley IronPigs | — | 295 | 267 | 76 | 12 | 2 | 14 | 28 | 71 | 0 | 5 | 4 | 285 | 353 | 502 | 854 | 217 | 341 | 24 | 9 | 375 | 80 | — | — | — | — | — | — |
| ▸ Career Totals (raw MLB only — historical actual) | |||||||||||||||||||||||||||||||
| MLB Career | — | — | 1302 | 1201 | 323 | 66 | 14 | 45 | 79 | 345 | 7 | 17 | 8 | 269 | 318 | 460 | 777 | 191 | 338 | 26 | 6 | 338 | 115 | +23 | +0 | -4 | -22 | +28 | 2.6 | ||
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2012 | 18 | ROK MLE | Grand Junction Rockies | — | 306 | 290 | 84 | 16 | 7 | 7 | 11 | 61 | 2 | 12 | 7 | 290 | 320 | 466 | 786 | 176 | 341 | 20 | 4 | 338 | 115 | — | — | — | — | — | — |
| 2013 | 19 | A MLE | Asheville Tourists | — | 42 | 41 | 8 | 2 | 1 | 0 | 1 | 11 | 0 | 2 | 0 | 195 | 214 | 293 | 507 | 98 | 298 | 26 | 2 | 242 | 50 | — | — | — | — | — | — |
| 2014 | 20 | A+ MLE | Modesto Nuts | — | 125 | 121 | 25 | 6 | 1 | 3 | 4 | 37 | 0 | 3 | 0 | 207 | 232 | 347 | 579 | 140 | 280 | 30 | 3 | 259 | 61 | — | — | — | — | — | — |
| 2014 | 20 | A MLE | Asheville Tourists | — | 422 | 399 | 102 | 24 | 6 | 6 | 16 | 89 | 1 | 18 | 5 | 256 | 286 | 391 | 677 | 135 | 310 | 21 | 4 | 289 | 82 | — | — | — | — | — | — |
| 2015 | 21 | AA MLE | New Britain Rock Cats | — | 302 | 290 | 72 | 13 | 3 | 4 | 9 | 90 | 0 | 22 | 7 | 248 | 271 | 355 | 626 | 107 | 342 | 30 | 3 | 269 | 68 | — | — | — | — | — | — |
| 2016 | 22 | MLB MLE | Colorado Rockies | — | 237 | 222 | 67 | 12 | 3 | 6 | 15 | 59 | 0 | 5 | 0 | 302 | 346 | 464 | 810 | 162 | 404 | 25 | 6 | 355 | 127 | +8 | +1 | +1 | -7 | +5 | 0.8 |
| 2016 | 22 | AAA MLE | Albuquerque Isotopes | — | 68 | 65 | 24 | 5 | 1 | 3 | 3 | 15 | 0 | 1 | 2 | 369 | 397 | 615 | 1.012 | 246 | 460 | 22 | 4 | 455 | 194 | — | — | — | — | — | — |
| 2016 | 22 | AA MLE | Hartford Yard Goats | — | 332 | 299 | 75 | 18 | 2 | 10 | 28 | 102 | 2 | 16 | 5 | 251 | 319 | 425 | 744 | 174 | 339 | 31 | 8 | 318 | 101 | — | — | — | — | — | — |
| 2017 | 23 | AAA MLE | Albuquerque Isotopes | — | 74 | 71 | 14 | 2 | 1 | 1 | 2 | 23 | 0 | 1 | 1 | 197 | 219 | 296 | 515 | 99 | 262 | 31 | 3 | 224 | 38 | — | — | — | — | — | — |
| 2018 | 24 | MLB MLE | Colorado Rockies | — | 271 | 253 | 64 | 11 | 2 | 14 | 15 | 68 | 1 | 5 | 3 | 253 | 297 | 478 | 776 | 225 | 311 | 25 | 6 | 337 | 114 | +5 | -0 | -3 | -4 | +6 | 0.4 |
| 2018 | 24 | AAA MLE | Albuquerque Isotopes | — | 78 | 77 | 18 | 6 | 0 | 1 | 1 | 25 | 0 | 1 | 0 | 234 | 244 | 351 | 594 | 117 | 319 | 32 | 1 | 248 | 54 | — | — | — | — | — | — |
| 2019 | 25 | MLB MLE | Colorado Rockies | — | 413 | 374 | 106 | 27 | 3 | 13 | 28 | 110 | 4 | 4 | 4 | 283 | 340 | 476 | 816 | 193 | 386 | 27 | 7 | 358 | 129 | +14 | -1 | -0 | -4 | +9 | 1.8 |
| 2020 | 26 | MLB MLE | Colorado Rockies | — | 99 | 93 | 16 | 2 | 1 | 0 | 4 | 28 | 1 | 1 | 0 | 172 | 214 | 215 | 429 | 43 | 258 | 28 | 4 | 199 | 21 | -9 | +0 | -2 | +0 | +2 | -0.9 |
| 2021 | 27 | MLB MLE | Texas Rangers | — | 220 | 205 | 43 | 11 | 0 | 4 | 10 | 59 | 1 | 2 | 1 | 210 | 250 | 322 | 572 | 112 | 269 | 27 | 5 | 251 | 56 | -12 | +0 | -1 | -4 | +5 | -1.2 |
| 2021 | 27 | AAA MLE | Nashville Sounds | — | 131 | 123 | 35 | 11 | 2 | 2 | 6 | 23 | 1 | 0 | 0 | 285 | 323 | 455 | 778 | 171 | 319 | 18 | 5 | 325 | 106 | — | — | — | — | — | — |
| 2021 | 27 | AA MLE | Frisco RoughRiders | — | 25 | 24 | 11 | 0 | 0 | 1 | 1 | 4 | 0 | 1 | 0 | 458 | 480 | 583 | 1.063 | 125 | 521 | 16 | 4 | 448 | 189 | — | — | — | — | — | — |
| 2022 | 28 | AAA MLE | Rochester Red Wings | — | 359 | 329 | 78 | 18 | 1 | 6 | 24 | 96 | 1 | 4 | 0 | 237 | 291 | 353 | 644 | 116 | 305 | 27 | 7 | 285 | 79 | — | — | — | — | — | — |
| 2023 | 29 | AAA MLE | Oklahoma City Dodgers | — | 313 | 290 | 66 | 22 | 0 | 6 | 22 | 60 | 1 | 3 | 0 | 228 | 284 | 366 | 650 | 138 | 267 | 19 | 7 | 283 | 78 | — | — | — | — | — | — |
| 2024 | 30 | MLB MLE | Philadelphia Phillies | — | 62 | 58 | 12 | 2 | 0 | 3 | 3 | 21 | 0 | 0 | 0 | 207 | 246 | 397 | 642 | 190 | 257 | 34 | 5 | 272 | 70 | -2 | +0 | +1 | -4 | +1 | -0.3 |
| 2024 | 30 | AAA MLE | Lehigh Valley IronPigs | — | 295 | 278 | 65 | 10 | 2 | 10 | 17 | 83 | 0 | 5 | 4 | 234 | 278 | 392 | 670 | 158 | 296 | 28 | 6 | 286 | 80 | — | — | — | — | — | — |
| 2012 | 18 | ROK MLE | Grand Junction Rockies | — | 306 | 290 | 84 | 16 | 7 | 7 | 11 | 61 | 2 | 12 | 7 | 290 | 320 | 466 | 786 | 176 | 344 | 20 | 4 | 338 | 115 | — | — | — | — | — | — |
| 2012 | 18 | ROK RAW | Grand Junction Rockies | — | 306 | 280 | 106 | 22 | 10 | 9 | 21 | 42 | 2 | 12 | 7 | 379 | 426 | 625 | 1.051 | 246 | 420 | 14 | 7 | 451 | 115 | — | — | — | — | — | — |
| 2013 | 19 | A MLE | Asheville Tourists | — | 42 | 41 | 8 | 2 | 1 | 0 | 1 | 11 | 0 | 2 | 0 | 195 | 214 | 293 | 507 | 98 | 267 | 26 | 2 | 242 | 50 | — | — | — | — | — | — |
| 2013 | 19 | A RAW | Asheville Tourists | — | 42 | 40 | 11 | 4 | 1 | 0 | 2 | 8 | 0 | 2 | 0 | 275 | 310 | 425 | 735 | 150 | 344 | 19 | 5 | 323 | 50 | — | — | — | — | — | — |
| 2014 | 20 | A MLE | 2 teams | — | 547 | 520 | 129 | 30 | 8 | 9 | 20 | 126 | 1 | 21 | 5 | 248 | 277 | 388 | 666 | 140 | 310 | 23 | 4 | 282 | 77 | — | — | — | — | — | — |
| 2014 | 20 | A RAW | 2 teams | — | 547 | 512 | 153 | 41 | 8 | 14 | 28 | 92 | 1 | 21 | 5 | 299 | 336 | 492 | 829 | 193 | 341 | 17 | 5 | 359 | 77 | — | — | — | — | — | — |
| 2015 | 21 | AA MLE | New Britain Rock Cats | — | 302 | 290 | 72 | 13 | 3 | 4 | 9 | 90 | 0 | 22 | 7 | 248 | 271 | 355 | 626 | 107 | 347 | 30 | 3 | 269 | 68 | — | — | — | — | — | — |
| 2015 | 21 | AA RAW | New Britain Rock Cats | — | 302 | 288 | 80 | 16 | 3 | 6 | 11 | 72 | 0 | 22 | 7 | 278 | 304 | 417 | 721 | 139 | 352 | 24 | 4 | 316 | 68 | — | — | — | — | — | — |
| 2016 | 22 | AA MLE | 3 teams | — | 637 | 586 | 166 | 35 | 6 | 19 | 46 | 176 | 2 | 22 | 7 | 283 | 338 | 461 | 798 | 177 | 375 | 28 | 7 | 347 | 121 | — | — | — | — | — | — |
| 2016 | 22 | AA RAW | 3 teams | — | 637 | 572 | 180 | 39 | 8 | 25 | 60 | 155 | 2 | 22 | 7 | 315 | 382 | 542 | 924 | 227 | 394 | 24 | 9 | 402 | 121 | — | — | — | — | — | — |
| 2017 | 23 | AAA MLE | Albuquerque Isotopes | — | 74 | 71 | 14 | 2 | 1 | 1 | 2 | 23 | 0 | 1 | 1 | 197 | 219 | 296 | 515 | 99 | 277 | 31 | 3 | 224 | 38 | — | — | — | — | — | — |
| 2017 | 23 | AAA RAW | Albuquerque Isotopes | — | 74 | 70 | 17 | 2 | 2 | 2 | 3 | 17 | 0 | 1 | 1 | 243 | 274 | 414 | 688 | 171 | 294 | 23 | 4 | 297 | 38 | — | — | — | — | — | — |
| 2018 | 24 | MLB MLE | 2 teams | — | 349 | 330 | 80 | 16 | 2 | 15 | 16 | 93 | 1 | 6 | 3 | 242 | 280 | 439 | 719 | 197 | 290 | 27 | 5 | 317 | 101 | +0 | +0 | -3 | -4 | +8 | 0.2 |
| 2018 | 24 | MLB RAW | 2 teams | — | 349 | 326 | 90 | 18 | 3 | 18 | 20 | 87 | 1 | 6 | 3 | 276 | 320 | 515 | 835 | 239 | 323 | 25 | 6 | 362 | 101 | +0 | +0 | -3 | -4 | +8 | 0.2 |
| 2019 | 25 | MLB MLE | Colorado Rockies | — | 413 | 374 | 106 | 27 | 3 | 13 | 28 | 110 | 4 | 4 | 4 | 283 | 340 | 476 | 816 | 193 | 363 | 27 | 7 | 358 | 129 | +14 | -1 | -0 | -4 | +9 | 1.8 |
| 2019 | 25 | MLB RAW | Colorado Rockies | — | 413 | 374 | 113 | 28 | 5 | 15 | 28 | 110 | 4 | 4 | 4 | 302 | 357 | 524 | 881 | 222 | 386 | 27 | 7 | 379 | 129 | +14 | -1 | -0 | -4 | +9 | 1.8 |
| 2020 | 26 | MLB MLE | Colorado Rockies | — | 99 | 93 | 16 | 2 | 1 | 0 | 4 | 28 | 1 | 1 | 0 | 172 | 214 | 215 | 429 | 43 | 242 | 28 | 4 | 199 | 21 | -9 | +0 | -2 | +0 | +2 | -0.9 |
| 2020 | 26 | MLB RAW | Colorado Rockies | — | 99 | 93 | 17 | 2 | 2 | 0 | 4 | 28 | 1 | 1 | 0 | 183 | 224 | 247 | 472 | 65 | 258 | 28 | 4 | 213 | 21 | -9 | +0 | -2 | +0 | +2 | -0.9 |
| 2021 | 27 | MLB MLE | 3 teams | — | 376 | 352 | 89 | 22 | 2 | 7 | 17 | 86 | 2 | 3 | 1 | 253 | 291 | 386 | 677 | 134 | 312 | 23 | 5 | 290 | 82 | -8 | +0 | -1 | -4 | +8 | -0.5 |
| 2021 | 27 | MLB RAW | 3 teams | — | 376 | 349 | 93 | 24 | 2 | 8 | 20 | 82 | 2 | 3 | 1 | 266 | 310 | 415 | 725 | 149 | 323 | 22 | 5 | 318 | 82 | -8 | +0 | -1 | -4 | +8 | -0.5 |
| 2022 | 28 | AAA MLE | Rochester Red Wings | — | 359 | 329 | 78 | 18 | 1 | 6 | 24 | 96 | 1 | 4 | 0 | 237 | 291 | 353 | 644 | 116 | 310 | 27 | 7 | 285 | 79 | — | — | — | — | — | — |
| 2022 | 28 | AAA RAW | Rochester Red Wings | — | 359 | 319 | 89 | 20 | 1 | 10 | 34 | 84 | 1 | 4 | 0 | 279 | 350 | 442 | 792 | 163 | 343 | 23 | 9 | 348 | 79 | — | — | — | — | — | — |
| 2023 | 29 | AAA MLE | Oklahoma City Dodgers | — | 313 | 290 | 66 | 22 | 0 | 6 | 22 | 60 | 1 | 3 | 0 | 228 | 284 | 366 | 650 | 138 | 268 | 19 | 7 | 283 | 78 | — | — | — | — | — | — |
| 2023 | 29 | AAA RAW | Oklahoma City Dodgers | — | 313 | 281 | 78 | 26 | 0 | 9 | 31 | 50 | 1 | 3 | 0 | 278 | 351 | 466 | 818 | 189 | 311 | 16 | 10 | 362 | 78 | — | — | — | — | — | — |
| 2024 | 30 | AAA MLE | 2 teams | — | 357 | 336 | 76 | 12 | 2 | 12 | 20 | 104 | 0 | 5 | 4 | 226 | 270 | 381 | 651 | 155 | 290 | 29 | 6 | 284 | 78 | — | — | — | — | — | — |
| 2024 | 30 | AAA RAW | 2 teams | — | 357 | 325 | 88 | 14 | 2 | 17 | 31 | 92 | 0 | 5 | 4 | 271 | 334 | 483 | 817 | 212 | 327 | 26 | 9 | 358 | 78 | — | — | — | — | — | — |
| 2012 | 18 | ROK MLE | Grand Junction Rockies | — | 306 | 290 | 84 | 16 | 7 | 7 | 11 | 61 | 2 | 12 | 7 | 290 | 320 | 466 | 786 | 176 | 341 | 20 | 4 | 338 | 115 | — | — | — | — | — | — |
| 2013 | 19 | A MLE | Asheville Tourists | — | 42 | 41 | 8 | 2 | 1 | 0 | 1 | 11 | 0 | 2 | 0 | 195 | 214 | 293 | 507 | 98 | 298 | 26 | 2 | 242 | 50 | — | — | — | — | — | — |
| 2014 | 20 | A MLE | 2 teams | — | 547 | 521 | 129 | 30 | 8 | 9 | 20 | 126 | 1 | 21 | 5 | 248 | 277 | 388 | 665 | 140 | 303 | 23 | 4 | 282 | 77 | — | — | — | — | — | — |
| 2015 | 21 | AA MLE | New Britain Rock Cats | — | 302 | 290 | 72 | 13 | 3 | 4 | 9 | 90 | 0 | 22 | 7 | 248 | 271 | 355 | 626 | 107 | 342 | 30 | 3 | 269 | 68 | — | — | — | — | — | — |
| 2016 | 22 | AA MLE | 3 teams | — | 637 | 584 | 166 | 35 | 6 | 19 | 46 | 176 | 2 | 22 | 7 | 284 | 338 | 462 | 800 | 178 | 376 | 28 | 7 | 347 | 121 | — | — | — | — | — | — |
| 2017 | 23 | AAA MLE | Albuquerque Isotopes | — | 74 | 72 | 14 | 2 | 1 | 1 | 2 | 23 | 0 | 1 | 1 | 194 | 219 | 292 | 511 | 97 | 262 | 31 | 3 | 224 | 38 | — | — | — | — | — | — |
| 2018 | 24 | MLB MLE | 2 teams | — | 349 | 329 | 80 | 16 | 2 | 15 | 16 | 93 | 1 | 6 | 3 | 243 | 280 | 441 | 720 | 198 | 313 | 27 | 5 | 317 | 101 | — | — | — | — | — | — |
| 2019 | 25 | MLB MLE | Colorado Rockies | — | 413 | 378 | 106 | 27 | 3 | 13 | 28 | 110 | 4 | 4 | 4 | 280 | 340 | 471 | 811 | 190 | 386 | 27 | 7 | 358 | 129 | — | — | — | — | — | — |
| 2020 | 26 | MLB MLE | Colorado Rockies | — | 99 | 94 | 16 | 2 | 1 | 0 | 4 | 28 | 1 | 1 | 0 | 170 | 214 | 213 | 427 | 43 | 258 | 28 | 4 | 199 | 21 | — | — | — | — | — | — |
| 2021 | 27 | MLB MLE | 3 teams | — | 376 | 354 | 89 | 22 | 2 | 7 | 17 | 86 | 2 | 3 | 1 | 251 | 291 | 384 | 675 | 133 | 303 | 23 | 5 | 290 | 82 | — | — | — | — | — | — |
| 2022 | 28 | AAA MLE | Rochester Red Wings | — | 359 | 331 | 78 | 18 | 1 | 6 | 24 | 96 | 1 | 4 | 0 | 236 | 291 | 350 | 641 | 115 | 305 | 27 | 7 | 285 | 79 | — | — | — | — | — | — |
| 2023 | 29 | AAA MLE | Oklahoma City Dodgers | — | 313 | 287 | 66 | 22 | 0 | 6 | 22 | 60 | 1 | 3 | 0 | 230 | 284 | 369 | 654 | 139 | 267 | 19 | 7 | 283 | 78 | — | — | — | — | — | — |
| 2024 | 30 | AAA MLE | 2 teams | — | 357 | 334 | 76 | 12 | 2 | 12 | 20 | 104 | 0 | 5 | 4 | 228 | 270 | 383 | 653 | 156 | 289 | 29 | 6 | 284 | 78 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 30 | AAA MLE | 2 teams | — | 357 | 334 | 76 | 12 | 2 | 12 | 20 | 104 | 0 | 5 | 4 | 228 | 270 | 383 | 653 | 156 | 289 | 29 | 6 | 284 | 78 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 1302 | 1201 | 323 | 66 | 14 | 45 | 79 | 345 | 7 | 17 | 8 | 269 | 318 | 460 | 777 | 191 | 338 | 26 | 6 | 338 | 91 | +23 | +0 | -4 | -22 | +28 | 2.6 | |
| / 162G | — | A+C | — | 650 | 600 | 161 | 33 | 7 | 22 | 39 | 172 | 3 | 8 | 4 | 268 | 316 | 457 | 772 | 188 | 337 | 26 | 6 | 338 | 91 | +12 | +0 | -2 | -11 | +14 | 1.3 | |
| Career | — | MLE | — | 4174 | 3902 | 984 | 217 | 37 | 99 | 220 | 1064 | 15 | 106 | 39 | 252 | 295 | 403 | 698 | 151 | 320 | 25 | 5 | 303 | 91 | +23 | +0 | -4 | -22 | +28 | 2.6 | |
| / 162G | — | MLE | — | 650 | 608 | 153 | 34 | 6 | 15 | 34 | 166 | 2 | 17 | 6 | 252 | 293 | 401 | 695 | 150 | 320 | 26 | 5 | 303 | 91 | +12 | +0 | -2 | -11 | +14 | 1.3 | |
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.
2024 AAALehigh Valley IronPigs · 295 PAwOBA .363 → .286 (−77)K% 24.1% → 28.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 24.07% | ÷1.022 | ×1.200 | — | — | 28.25% |
| BB% (unintentional) /PA | 8.81% | ÷1.021 | ×0.690 | — | ×0.972 | 5.79% |
| HBP% /PA | 0.00% | — | ×0.940 | — | ×0.972 | 0.00% |
| Singles /BIP | 24.49% | ÷0.985 | ×0.930 | ×0.988 | ×0.972 | 22.20% |
| Doubles /BIP | 6.12% | ÷0.960 | ×0.830 | ×0.988 | ×0.972 | 5.08% |
| Triples /BIP | 1.02% | ÷1.150 | ×0.970 | ×0.988 | ×0.972 | 0.83% |
| Home runs /BIP | 7.14% | ÷0.989 | ×0.700 | — | ×0.972 | 4.91% |
Factors used: league row International League. Park (home-season share, regressed): HR 98, 1B 97, 2B 92, 3B 130, K 104, BB 104 — applied at half strength. Age: age 30 vs a level average of 27.2 → −2.8% on BB/HBP/hit rates (2.8 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.988.
Result: wOBA .363 → .286; ISO .217 → .157; BABIP .341 → .296. 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).
2023 AAAOklahoma City Dodgers · 313 PAwOBA .353 → .283 (−70)K% 16.0% → 19.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.97% | ÷1.003 | ×1.200 | — | — | 19.11% |
| BB% (unintentional) /PA | 9.90% | ÷0.976 | ×0.690 | — | ×0.982 | 6.88% |
| HBP% /PA | 0.32% | — | ×0.940 | — | ×0.982 | 0.29% |
| Singles /BIP | 18.61% | ÷1.021 | ×0.930 | ×1.001 | ×0.982 | 16.66% |
| Doubles /BIP | 11.26% | ÷0.983 | ×0.830 | ×1.001 | ×0.982 | 9.33% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.970 | ×1.001 | ×0.982 | 0.00% |
| Home runs /BIP | 3.90% | ÷1.006 | ×0.700 | — | ×0.982 | 2.66% |
Factors used: league row International League. Park (home-season share, regressed): HR 101, 1B 104, 2B 97, 3B 130, K 101, BB 95 — applied at half strength. Age: age 29 vs a level average of 27.2 → −1.8% on BB/HBP/hit rates (1.8 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.001.
Result: wOBA .353 → .283; ISO .189 → .142; BABIP .311 → .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 AAARochester Red Wings · 359 PAwOBA .344 → .285 (−59)K% 23.4% → 26.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 23.40% | ÷1.049 | ×1.200 | — | — | 26.78% |
| BB% (unintentional) /PA | 9.47% | ÷0.973 | ×0.690 | — | ×0.992 | 6.67% |
| HBP% /PA | 0.28% | — | ×0.940 | — | ×0.992 | 0.26% |
| Singles /BIP | 24.68% | ÷1.011 | ×0.930 | ×0.992 | ×0.992 | 22.35% |
| Doubles /BIP | 8.51% | ÷0.930 | ×0.830 | ×0.992 | ×0.992 | 7.47% |
| Triples /BIP | 0.43% | ÷0.913 | ×0.970 | ×0.992 | ×0.992 | 0.44% |
| Home runs /BIP | 4.26% | ÷1.084 | ×0.700 | — | ×0.992 | 2.72% |
Factors used: league row International League. Park (home-season share, regressed): HR 117, 1B 102, 2B 86, 3B 83, K 110, BB 95 — 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.992.
Result: wOBA .344 → .285; ISO .163 → .123; BABIP .343 → .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).
2021 AAANashville Sounds · 131 PAwOBA .378 → .325 (−53)K% 15.3% → 17.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.27% | ÷1.024 | ×1.200 | — | — | 17.89% |
| BB% (unintentional) /PA | 6.11% | ÷0.946 | ×0.690 | — | ×1.003 | 4.47% |
| HBP% /PA | 0.76% | — | ×0.940 | — | ×1.003 | 0.72% |
| Singles /BIP | 19.80% | ÷0.966 | ×0.930 | ×1.013 | ×1.003 | 19.36% |
| Doubles /BIP | 12.87% | ÷1.030 | ×0.830 | ×1.013 | ×1.003 | 10.54% |
| Triples /BIP | 1.98% | ÷1.150 | ×0.920 | ×1.013 | ×1.003 | 1.61% |
| Home runs /BIP | 2.97% | ÷0.915 | ×0.700 | — | ×1.003 | 2.28% |
Factors used: level-wide AAA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 83, 1B 93, 2B 106, 3B 130, K 105, BB 89 — 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.013.
Result: wOBA .378 → .325; ISO .215 → .171; BABIP .354 → .319. 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 AAFrisco RoughRiders · 25 PAwOBA .523 → .448 (−74)K% 12.0% → 14.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 12.00% | ÷1.044 | ×1.220 | — | — | 14.02% |
| BB% (unintentional) /PA | 8.00% | ÷1.098 | ×0.690 | — | ×0.978 | 4.92% |
| HBP% /PA | 0.00% | — | ×0.850 | — | ×0.978 | 0.00% |
| Singles /BIP | 55.00% | ÷1.006 | ×0.940 | — | ×0.978 | 50.27% |
| Doubles /BIP | 0.00% | ÷0.957 | ×0.870 | — | ×0.978 | 0.00% |
| Triples /BIP | 0.00% | ÷0.995 | ×0.920 | — | ×0.978 | 0.00% |
| Home runs /BIP | 5.00% | ÷1.114 | ×0.780 | — | ×0.978 | 3.42% |
Factors used: level-wide AA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 123, 1B 101, 2B 91, 3B 99, K 109, BB 120 — 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).
Result: wOBA .523 → .448; ISO .130 → .091; BABIP .579 → .521. 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 AAAAlbuquerque Isotopes · 78 PAwOBA .319 → .248 (−71)K% 24.4% → 32.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 24.36% | ÷0.978 | ×1.290 | — | — | 32.14% |
| BB% (unintentional) /PA | 1.28% | ÷1.024 | ×0.710 | — | ×1.048 | 0.93% |
| HBP% /PA | 0.00% | — | ×0.980 | — | ×1.048 | 0.00% |
| Singles /BIP | 22.41% | ÷1.034 | ×0.900 | ×0.999 | ×1.048 | 20.43% |
| Doubles /BIP | 12.07% | ÷0.960 | ×0.810 | ×0.999 | ×1.048 | 10.66% |
| Triples /BIP | 0.00% | ÷0.973 | ×0.810 | ×0.999 | ×1.048 | 0.00% |
| Home runs /BIP | 3.45% | ÷1.162 | ×0.780 | — | ×1.048 | 2.43% |
Factors used: league row PCL. Park (home-season share, regressed): HR 132, 1B 107, 2B 92, 3B 95, K 96, BB 105 — 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.999.
Result: wOBA .319 → .248; ISO .169 → .122; BABIP .357 → .319. 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 AAAAlbuquerque Isotopes · 74 PAwOBA .289 → .224 (−65)K% 23.0% → 31.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 22.97% | ÷0.956 | ×1.290 | — | — | 30.99% |
| BB% (unintentional) /PA | 4.05% | ÷0.996 | ×0.710 | — | ×1.050 | 3.03% |
| HBP% /PA | 0.00% | — | ×0.980 | — | ×1.050 | 0.00% |
| Singles /BIP | 20.75% | ÷1.019 | ×0.900 | ×1.017 | ×1.050 | 19.57% |
| Doubles /BIP | 3.77% | ÷1.045 | ×0.810 | ×1.017 | ×1.050 | 3.12% |
| Triples /BIP | 3.77% | ÷1.150 | ×0.810 | ×1.017 | ×1.050 | 2.84% |
| Home runs /BIP | 3.77% | ÷1.202 | ×0.780 | — | ×1.050 | 2.57% |
Factors used: league row PCL. Park (home-season share, regressed): HR 140, 1B 104, 2B 109, 3B 130, K 91, BB 99 — applied at half strength. Age: age 23 vs a level average of 27.2 → +5.0% on BB/HBP/hit rates (4.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.017.
Result: wOBA .289 → .224; ISO .171 → .115; BABIP .294 → .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).
2016 AAHartford Yard Goats · 332 PAwOBA .369 → .318 (−50)K% 25.6% → 30.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 25.60% | ÷1.022 | ×1.220 | — | — | 30.56% |
| BB% (unintentional) /PA | 11.45% | ÷1.007 | ×0.700 | — | ×1.042 | 8.29% |
| HBP% /PA | 0.60% | — | ×0.850 | — | ×1.042 | 0.53% |
| Singles /BIP | 21.67% | ÷0.981 | ×0.970 | ×0.998 | ×1.042 | 22.30% |
| Doubles /BIP | 10.34% | ÷1.021 | ×0.860 | ×0.998 | ×1.042 | 9.06% |
| Triples /BIP | 0.99% | ÷0.900 | ×0.950 | ×0.998 | ×1.042 | 1.08% |
| Home runs /BIP | 6.40% | ÷1.094 | ×0.780 | — | ×1.042 | 4.76% |
Factors used: league row EL. Park (home-season share, regressed): HR 119, 1B 96, 2B 104, 3B 80, K 104, BB 101 — applied at half strength. Age: age 22 vs a level average of 24.8 → +4.2% on BB/HBP/hit rates (2.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.998.
Result: wOBA .369 → .318; ISO .222 → .178; BABIP .351 → .339. 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).