J.P. Crawford
SS Seattle Mariners| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR |
|---|---|---|---|---|---|---|---|---|
| 2024 | 29 | MLBSEA | 451 | .202/.304/.321 | 9 | 5 | 83 | 1.0 |
| 2025 | 30 | MLBSEA | 654 | .265/.352/.370 | 12 | 8 | 108 | 2.4 |
| 2026 | 31 | MLBSEA | 489 | .221/.337/.352 | 14 | 1 | 100 | 1.4 |
| 2027PROJ | 32 | MLBSEA | 438 | .238/.338/.356 | 10 | 4 | 102 | 1.0 |
| 2028PROJ | 33 | MLBSEA | 496 | .231/.330/.340 | 10 | 1 | 95 | 0.3 |
| 2029PROJ | 34 | MLBSEA | 344 | .222/.320/.321 | 7 | 0 | 87 | -0.3 |
Tools · Recent Form · Splits · Contract
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 | 18 | A | Lakewood BlueClaws | — | 60 | 53 | 11 | 1 | 0 | 0 | 7 | 10 | 0 | 2 | 1 | 208 | 300 | 226 | 526 | 19 | 256 | 17 | 12 | 254 | 35 | — | — | — | — | — | — |
| 2013 | 18 | ROK | GCL Phillies | — | 168 | 142 | 49 | 8 | 3 | 1 | 25 | 25 | 0 | 12 | 5 | 345 | 443 | 465 | 908 | 120 | 414 | 15 | 15 | 405 | 97 | — | — | — | — | — | — |
| 2014 | 19 | A+ | Clearwater Threshers | — | 271 | 236 | 65 | 7 | 0 | 8 | 28 | 37 | 2 | 10 | 7 | 275 | 357 | 407 | 764 | 131 | 292 | 14 | 10 | 339 | 98 | — | — | — | — | — | — |
| 2014 | 19 | A | Lakewood BlueClaws | — | 267 | 227 | 67 | 16 | 0 | 3 | 37 | 37 | 2 | 14 | 7 | 295 | 398 | 405 | 804 | 110 | 342 | 14 | 14 | 365 | 105 | — | — | — | — | — | — |
| 2015 | 20 | AA | Reading Fightin Phils | — | 405 | 351 | 93 | 21 | 7 | 5 | 49 | 45 | 1 | 7 | 2 | 265 | 357 | 407 | 764 | 142 | 289 | 11 | 12 | 340 | 91 | — | — | — | — | — | — |
| 2015 | 20 | A+ | Clearwater Threshers | — | 95 | 79 | 31 | 1 | 0 | 1 | 14 | 9 | 1 | 5 | 2 | 392 | 489 | 443 | 932 | 51 | 435 | 9 | 15 | 422 | 141 | — | — | — | — | — | — |
| 2015 | 20 | INTL | Glendale Desert Dogs | — | 22 | 20 | 3 | 0 | 0 | 0 | 2 | 6 | 0 | 0 | 1 | 150 | 227 | 150 | 377 | 214 | 27 | 9 | 187 | 13 | — | — | — | — | — | — | |
| 2016 | 21 | AAA | Lehigh Valley IronPigs | — | 385 | 336 | 82 | 11 | 1 | 4 | 42 | 59 | 1 | 7 | 4 | 244 | 330 | 318 | 648 | 74 | 284 | 15 | 11 | 296 | 60 | — | — | — | — | — | — |
| 2016 | 21 | AA | Reading Fightin Phils | — | 166 | 136 | 36 | 8 | 0 | 3 | 30 | 21 | 0 | 5 | 3 | 265 | 398 | 390 | 787 | 125 | 295 | 13 | 18 | 362 | 86 | — | — | — | — | — | — |
| 2017 | 22 | MLB | Philadelphia Phillies | — | 87 | 70 | 15 | 4 | 1 | 0 | 16 | 22 | 0 | 1 | 0 | 214 | 360 | 300 | 660 | 86 | 306 | 25 | 18 | 310 | 96 | -0 | +0 | +4 | +2 | +2 | 0.8 |
| 2017 | 22 | AAA | Lehigh Valley IronPigs | — | 556 | 474 | 115 | 20 | 6 | 15 | 79 | 97 | 1 | 5 | 4 | 243 | 352 | 405 | 757 | 162 | 275 | 17 | 14 | 341 | 76 | — | — | — | — | — | — |
| 2018 | 23 | MLB | Philadelphia Phillies | — | 138 | 117 | 25 | 6 | 3 | 3 | 13 | 37 | 5 | 2 | 0 | 214 | 316 | 393 | 709 | 179 | 286 | 27 | 9 | 314 | 97 | -0 | +0 | -2 | +3 | +3 | 0.3 |
| 2018 | 23 | AAA | Lehigh Valley IronPigs | — | 68 | 58 | 15 | 2 | 1 | 1 | 5 | 17 | 4 | 1 | 0 | 259 | 358 | 379 | 738 | 121 | 350 | 25 | 7 | 333 | 86 | — | — | — | — | — | — |
| 2018 | 23 | A+ | Clearwater Threshers | — | 49 | 42 | 6 | 1 | 0 | 1 | 7 | 14 | 0 | 0 | 0 | 143 | 265 | 238 | 503 | 95 | 185 | 29 | 14 | 242 | 7 | — | — | — | — | — | — |
| 2019 | 24 | MLB | Seattle Mariners | — | 396 | 345 | 78 | 21 | 4 | 7 | 43 | 83 | 2 | 5 | 3 | 226 | 315 | 371 | 686 | 145 | 275 | 21 | 11 | 306 | 95 | -2 | -0 | +2 | +6 | +9 | 1.4 |
| 2019 | 24 | AAA | Tacoma Rainiers | — | 138 | 116 | 37 | 7 | 0 | 3 | 19 | 25 | 2 | 3 | 0 | 319 | 423 | 457 | 880 | 138 | 382 | 18 | 14 | 394 | 103 | — | — | — | — | — | — |
| 2020 | 25 | MLB | Seattle Mariners | — | 232 | 204 | 52 | 7 | 2 | 2 | 23 | 39 | 3 | 6 | 3 | 255 | 339 | 338 | 677 | 83 | 303 | 17 | 10 | 309 | 97 | -1 | +0 | +6 | +2 | +5 | 1.3 |
| 2021 | 26 | MLB | Seattle Mariners | — | 687 | 619 | 169 | 37 | 0 | 9 | 58 | 114 | 5 | 3 | 6 | 273 | 340 | 376 | 717 | 103 | 320 | 17 | 8 | 323 | 106 | +5 | -2 | +5 | +7 | +15 | 3.0 |
| 2022 | 27 | MLB | Seattle Mariners | — | 603 | 518 | 126 | 24 | 3 | 6 | 68 | 80 | 10 | 3 | 2 | 243 | 342 | 336 | 678 | 93 | 275 | 13 | 11 | 310 | 98 | -2 | -0 | -5 | +6 | +13 | 1.3 |
| 2023 | 28 | MLB | Seattle Mariners | — | 638 | 534 | 142 | 35 | 0 | 19 | 94 | 125 | 5 | 2 | 0 | 266 | 381 | 438 | 819 | 172 | 314 | 20 | 15 | 366 | 135 | +27 | +0 | -3 | +7 | +14 | 4.5 |
| 2024 | 29 | MLB | Seattle Mariners | — | 451 | 392 | 79 | 16 | 2 | 9 | 52 | 102 | 6 | 5 | 0 | 202 | 304 | 321 | 626 | 120 | 248 | 23 | 12 | 289 | 83 | -9 | +1 | +3 | +5 | +10 | 1.0 |
| 2025 | 30 | MLB | Seattle Mariners | — | 654 | 570 | 151 | 24 | 0 | 12 | 74 | 122 | 3 | 8 | 1 | 265 | 352 | 370 | 723 | 105 | 318 | 19 | 11 | 327 | 108 | +6 | +1 | -5 | +7 | +14 | 2.4 |
| 2026 | 31 | MLB | Seattle Mariners | — | 489 | 412 | 91 | 12 | 0 | 14 | 64 | 97 | 8 | 1 | 3 | 221 | 337 | 352 | 689 | 131 | 253 | 20 | 13 | 315 | 100 | -0 | -1 | -1 | +5 | +11 | 1.4 |
| 2026 | 31 | AAA | Tacoma Rainiers | — | 16 | 15 | 4 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 0 | 267 | 312 | 467 | 779 | 200 | 273 | 19 | 6 | 343 | 59 | — | — | — | — | — | — |
| ▸ Career Totals (raw MLB only — historical actual) | |||||||||||||||||||||||||||||||
| MLB Career | — | — | 4375 | 3781 | 928 | 186 | 15 | 81 | 505 | 821 | 47 | 36 | 18 | 245 | 341 | 367 | 708 | 121 | 292 | 19 | 12 | 321 | 103 | +17 | +0 | +3 | +51 | +95 | 16.8 | ||
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2013 | 18 | A MLE | Lakewood BlueClaws | — | 60 | 55 | 11 | 1 | 0 | 0 | 5 | 13 | 0 | 2 | 1 | 200 | 267 | 218 | 485 | 18 | 260 | 22 | 8 | 220 | 35 | — | — | — | — | — | — |
| 2013 | 18 | ROK MLE | GCL Phillies | — | 168 | 151 | 41 | 6 | 2 | 1 | 16 | 36 | 0 | 12 | 5 | 272 | 341 | 358 | 699 | 86 | 353 | 21 | 10 | 311 | 97 | — | — | — | — | — | — |
| 2014 | 19 | A+ MLE | Clearwater Threshers | — | 271 | 241 | 63 | 7 | 0 | 7 | 23 | 51 | 2 | 10 | 7 | 261 | 331 | 378 | 708 | 116 | 294 | 19 | 8 | 313 | 98 | — | — | — | — | — | — |
| 2014 | 19 | A MLE | Lakewood BlueClaws | — | 267 | 237 | 67 | 15 | 0 | 3 | 27 | 49 | 2 | 14 | 7 | 283 | 361 | 384 | 745 | 101 | 339 | 18 | 10 | 324 | 105 | — | — | — | — | — | — |
| 2015 | 20 | AA MLE | Reading Fightin Phils | — | 405 | 366 | 92 | 20 | 6 | 4 | 34 | 52 | 1 | 7 | 2 | 251 | 317 | 372 | 688 | 120 | 276 | 13 | 8 | 302 | 91 | — | — | — | — | — | — |
| 2015 | 20 | A+ MLE | Clearwater Threshers | — | 95 | 81 | 29 | 1 | 0 | 1 | 12 | 14 | 1 | 5 | 2 | 358 | 447 | 407 | 854 | 49 | 417 | 15 | 13 | 376 | 141 | — | — | — | — | — | — |
| 2016 | 21 | AAA MLE | Lehigh Valley IronPigs | — | 385 | 349 | 79 | 10 | 1 | 4 | 29 | 70 | 1 | 7 | 4 | 226 | 288 | 295 | 583 | 69 | 264 | 18 | 8 | 257 | 60 | — | — | — | — | — | — |
| 2016 | 21 | AA MLE | Reading Fightin Phils | — | 166 | 145 | 34 | 7 | 0 | 2 | 21 | 27 | 0 | 5 | 3 | 234 | 331 | 324 | 655 | 90 | 274 | 16 | 13 | 295 | 86 | — | — | — | — | — | — |
| 2017 | 22 | MLB MLE | Philadelphia Phillies | — | 87 | 70 | 15 | 4 | 1 | 0 | 16 | 22 | 0 | 1 | 0 | 214 | 360 | 300 | 660 | 86 | 306 | 25 | 18 | 311 | 96 | -0 | +0 | +4 | +2 | +2 | 0.8 |
| 2017 | 22 | AAA MLE | Lehigh Valley IronPigs | — | 556 | 497 | 105 | 18 | 6 | 13 | 56 | 121 | 1 | 5 | 4 | 211 | 292 | 350 | 643 | 139 | 249 | 22 | 10 | 281 | 76 | — | — | — | — | — | — |
| 2018 | 23 | MLB MLE | Philadelphia Phillies | — | 138 | 118 | 25 | 6 | 3 | 3 | 13 | 37 | 5 | 2 | 0 | 212 | 316 | 390 | 706 | 178 | 286 | 27 | 9 | 312 | 97 | -0 | +0 | -2 | +3 | +3 | 0.3 |
| 2018 | 23 | AAA MLE | Lehigh Valley IronPigs | — | 68 | 59 | 14 | 2 | 1 | 1 | 4 | 21 | 4 | 1 | 0 | 237 | 328 | 356 | 684 | 119 | 341 | 31 | 6 | 295 | 86 | — | — | — | — | — | — |
| 2018 | 23 | A+ MLE | Clearwater Threshers | — | 49 | 44 | 5 | 1 | 0 | 1 | 5 | 20 | 0 | 0 | 0 | 114 | 204 | 205 | 409 | 91 | 176 | 41 | 10 | 178 | 7 | — | — | — | — | — | — |
| 2019 | 24 | MLB MLE | Seattle Mariners | — | 396 | 345 | 78 | 21 | 4 | 7 | 43 | 83 | 2 | 5 | 3 | 226 | 315 | 371 | 686 | 145 | 275 | 21 | 11 | 309 | 95 | -2 | -0 | +2 | +6 | +9 | 1.4 |
| 2019 | 24 | AAA MLE | Tacoma Rainiers | — | 138 | 122 | 32 | 6 | 0 | 2 | 13 | 33 | 2 | 3 | 0 | 262 | 343 | 361 | 704 | 98 | 337 | 24 | 9 | 320 | 103 | — | — | — | — | — | — |
| 2020 | 25 | MLB MLE | Seattle Mariners | — | 232 | 204 | 52 | 7 | 2 | 2 | 23 | 39 | 3 | 6 | 3 | 255 | 339 | 338 | 677 | 83 | 303 | 17 | 10 | 311 | 97 | -1 | +0 | +6 | +2 | +5 | 1.3 |
| 2021 | 26 | MLB MLE | Seattle Mariners | — | 687 | 620 | 171 | 38 | 0 | 9 | 57 | 114 | 5 | 3 | 6 | 276 | 342 | 381 | 722 | 105 | 320 | 17 | 8 | 324 | 106 | +5 | -2 | +5 | +7 | +15 | 3.0 |
| 2022 | 27 | MLB MLE | Seattle Mariners | — | 603 | 518 | 126 | 24 | 3 | 6 | 68 | 80 | 10 | 3 | 2 | 243 | 342 | 336 | 678 | 93 | 275 | 13 | 11 | 313 | 98 | -2 | -0 | -5 | +6 | +13 | 1.3 |
| 2023 | 28 | MLB MLE | Seattle Mariners | — | 638 | 535 | 143 | 36 | 0 | 19 | 93 | 125 | 5 | 2 | 0 | 267 | 381 | 441 | 822 | 174 | 314 | 20 | 15 | 368 | 135 | +27 | +0 | -3 | +7 | +14 | 4.5 |
| 2024 | 29 | MLB MLE | Seattle Mariners | — | 451 | 392 | 79 | 16 | 2 | 9 | 52 | 102 | 6 | 5 | 0 | 202 | 304 | 321 | 626 | 120 | 248 | 23 | 12 | 291 | 83 | -9 | +1 | +3 | +5 | +10 | 1.0 |
| 2025 | 30 | MLB MLE | Seattle Mariners | — | 654 | 571 | 152 | 24 | 0 | 12 | 73 | 122 | 3 | 8 | 1 | 266 | 352 | 371 | 724 | 105 | 318 | 19 | 11 | 328 | 108 | +6 | +1 | -5 | +7 | +14 | 2.4 |
| 2026 | 31 | MLB MLE | Seattle Mariners | — | 489 | 413 | 91 | 12 | 0 | 14 | 63 | 97 | 8 | 1 | 3 | 220 | 335 | 351 | 686 | 131 | 253 | 20 | 13 | 316 | 100 | -0 | -1 | -1 | +5 | +11 | 1.4 |
| 2026 | 31 | AAA MLE | Tacoma Rainiers | — | 16 | 15 | 4 | 0 | 0 | 1 | 1 | 4 | 0 | 0 | 0 | 267 | 312 | 467 | 779 | 200 | 237 | 25 | 6 | 255 | 59 | — | — | — | — | — | — |
| 2013 | 18 | ROK MLE | 2 teams | — | 228 | 206 | 52 | 7 | 2 | 1 | 21 | 49 | 0 | 14 | 6 | 252 | 322 | 320 | 642 | 68 | 327 | 21 | 9 | 287 | 80 | — | — | — | — | — | — |
| 2013 | 18 | ROK RAW | 2 teams | — | 228 | 195 | 60 | 9 | 3 | 1 | 32 | 35 | 0 | 14 | 6 | 308 | 405 | 400 | 805 | 92 | 371 | 15 | 14 | 366 | 80 | — | — | — | — | — | — |
| 2014 | 19 | A+ MLE | 2 teams | — | 538 | 478 | 130 | 22 | 0 | 10 | 50 | 100 | 4 | 24 | 14 | 272 | 346 | 381 | 727 | 109 | 323 | 19 | 9 | 318 | 102 | — | — | — | — | — | — |
| 2014 | 19 | A+ RAW | 2 teams | — | 538 | 463 | 132 | 23 | 0 | 11 | 65 | 74 | 4 | 24 | 14 | 285 | 378 | 406 | 784 | 121 | 317 | 14 | 12 | 352 | 102 | — | — | — | — | — | — |
| 2015 | 20 | AA MLE | 3 teams | — | 522 | 468 | 126 | 22 | 6 | 5 | 47 | 68 | 2 | 12 | 5 | 269 | 338 | 374 | 712 | 105 | 304 | 13 | 9 | 316 | 100 | — | — | — | — | — | — |
| 2015 | 20 | AA RAW | 3 teams | — | 522 | 450 | 127 | 22 | 7 | 6 | 65 | 60 | 2 | 12 | 5 | 282 | 375 | 402 | 777 | 120 | 313 | 11 | 12 | 349 | 100 | — | — | — | — | — | — |
| 2016 | 21 | AAA MLE | 2 teams | — | 551 | 493 | 113 | 17 | 1 | 6 | 51 | 97 | 1 | 12 | 7 | 229 | 303 | 304 | 607 | 75 | 273 | 18 | 9 | 268 | 68 | — | — | — | — | — | — |
| 2016 | 21 | AAA RAW | 2 teams | — | 551 | 472 | 118 | 19 | 1 | 7 | 72 | 80 | 1 | 12 | 7 | 250 | 350 | 339 | 689 | 89 | 287 | 15 | 13 | 316 | 68 | — | — | — | — | — | — |
| 2017 | 22 | AAA MLE | 2 teams | — | 643 | 567 | 120 | 22 | 7 | 13 | 72 | 143 | 1 | 6 | 4 | 212 | 302 | 344 | 645 | 132 | 259 | 22 | 11 | 285 | 79 | — | — | — | — | — | — |
| 2017 | 22 | AAA RAW | 2 teams | — | 643 | 544 | 130 | 24 | 7 | 15 | 95 | 119 | 1 | 6 | 4 | 239 | 353 | 392 | 745 | 153 | 279 | 19 | 15 | 336 | 79 | — | — | — | — | — | — |
| 2018 | 23 | MLB MLE | 3 teams | — | 255 | 221 | 43 | 9 | 4 | 4 | 22 | 78 | 9 | 3 | 0 | 195 | 294 | 326 | 619 | 131 | 281 | 31 | 9 | 281 | 77 | -7 | +1 | -2 | +3 | +6 | -0.1 |
| 2018 | 23 | MLB RAW | 3 teams | — | 255 | 217 | 46 | 9 | 4 | 5 | 25 | 68 | 9 | 3 | 0 | 212 | 317 | 359 | 677 | 147 | 285 | 27 | 10 | 305 | 77 | -7 | +1 | -2 | +3 | +6 | -0.1 |
| 2019 | 24 | MLB MLE | 2 teams | — | 534 | 467 | 112 | 27 | 4 | 10 | 56 | 116 | 4 | 8 | 3 | 240 | 326 | 379 | 705 | 139 | 296 | 22 | 10 | 312 | 97 | -2 | +0 | +2 | +6 | +12 | 1.8 |
| 2019 | 24 | MLB RAW | 2 teams | — | 534 | 461 | 115 | 28 | 4 | 10 | 62 | 108 | 4 | 8 | 3 | 249 | 343 | 393 | 736 | 143 | 303 | 20 | 12 | 329 | 97 | -2 | +0 | +2 | +6 | +12 | 1.8 |
| 2020 | 25 | MLB MLE | Seattle Mariners | — | 232 | 204 | 52 | 7 | 2 | 2 | 23 | 39 | 3 | 6 | 3 | 255 | 339 | 338 | 677 | 83 | 303 | 17 | 10 | 311 | 97 | -1 | +0 | +6 | +2 | +5 | 1.3 |
| 2020 | 25 | MLB RAW | Seattle Mariners | — | 232 | 204 | 52 | 7 | 2 | 2 | 23 | 39 | 3 | 6 | 3 | 255 | 339 | 338 | 677 | 83 | 303 | 17 | 10 | 309 | 97 | -1 | +0 | +6 | +2 | +5 | 1.3 |
| 2021 | 26 | MLB MLE | Seattle Mariners | — | 687 | 620 | 171 | 38 | 0 | 9 | 57 | 114 | 5 | 3 | 6 | 276 | 342 | 381 | 722 | 105 | 323 | 17 | 8 | 324 | 106 | +5 | -2 | +5 | +7 | +15 | 3.0 |
| 2021 | 26 | MLB RAW | Seattle Mariners | — | 687 | 619 | 169 | 37 | 0 | 9 | 58 | 114 | 5 | 3 | 6 | 273 | 340 | 376 | 717 | 103 | 320 | 17 | 8 | 323 | 106 | +5 | -2 | +5 | +7 | +15 | 3.0 |
| 2022 | 27 | MLB MLE | Seattle Mariners | — | 603 | 518 | 126 | 24 | 3 | 6 | 68 | 80 | 10 | 3 | 2 | 243 | 342 | 336 | 678 | 93 | 275 | 13 | 11 | 313 | 98 | -2 | -0 | -5 | +6 | +13 | 1.3 |
| 2022 | 27 | MLB RAW | Seattle Mariners | — | 603 | 518 | 126 | 24 | 3 | 6 | 68 | 80 | 10 | 3 | 2 | 243 | 342 | 336 | 678 | 93 | 275 | 13 | 11 | 310 | 98 | -2 | -0 | -5 | +6 | +13 | 1.3 |
| 2023 | 28 | MLB MLE | Seattle Mariners | — | 638 | 535 | 143 | 36 | 0 | 19 | 93 | 125 | 5 | 2 | 0 | 267 | 381 | 441 | 822 | 174 | 316 | 20 | 15 | 368 | 135 | +27 | +0 | -3 | +7 | +14 | 4.5 |
| 2023 | 28 | MLB RAW | Seattle Mariners | — | 638 | 534 | 142 | 35 | 0 | 19 | 94 | 125 | 5 | 2 | 0 | 266 | 381 | 438 | 819 | 172 | 314 | 20 | 15 | 366 | 135 | +27 | +0 | -3 | +7 | +14 | 4.5 |
| 2024 | 29 | MLB MLE | Seattle Mariners | — | 451 | 392 | 79 | 16 | 2 | 9 | 52 | 102 | 6 | 5 | 0 | 202 | 304 | 321 | 626 | 120 | 248 | 23 | 12 | 291 | 83 | -9 | +1 | +3 | +5 | +10 | 1.0 |
| 2024 | 29 | MLB RAW | Seattle Mariners | — | 451 | 392 | 79 | 16 | 2 | 9 | 52 | 102 | 6 | 5 | 0 | 202 | 304 | 321 | 626 | 120 | 248 | 23 | 12 | 289 | 83 | -9 | +1 | +3 | +5 | +10 | 1.0 |
| 2025 | 30 | MLB MLE | Seattle Mariners | — | 654 | 571 | 152 | 24 | 0 | 12 | 73 | 122 | 3 | 8 | 1 | 266 | 352 | 371 | 724 | 105 | 320 | 19 | 11 | 328 | 108 | +6 | +1 | -5 | +7 | +14 | 2.4 |
| 2025 | 30 | MLB RAW | Seattle Mariners | — | 654 | 570 | 151 | 24 | 0 | 12 | 74 | 122 | 3 | 8 | 1 | 265 | 352 | 370 | 723 | 105 | 318 | 19 | 11 | 327 | 108 | +6 | +1 | -5 | +7 | +14 | 2.4 |
| 2026 | 31 | MLB MLE | 2 teams | — | 505 | 428 | 95 | 12 | 0 | 15 | 64 | 101 | 8 | 1 | 3 | 222 | 334 | 355 | 689 | 133 | 254 | 20 | 13 | 314 | 99 | -1 | -1 | -1 | +5 | +11 | 1.3 |
| 2026 | 31 | MLB RAW | 2 teams | — | 505 | 427 | 95 | 12 | 0 | 15 | 65 | 100 | 8 | 1 | 3 | 222 | 336 | 356 | 692 | 133 | 254 | 20 | 13 | 316 | 99 | -1 | -1 | -1 | +5 | +11 | 1.3 |
| 2013 | 18 | ROK MLE | 2 teams | — | 228 | 205 | 52 | 7 | 2 | 1 | 21 | 49 | 0 | 14 | 6 | 254 | 322 | 322 | 644 | 68 | 329 | 21 | 9 | 287 | 80 | — | — | — | — | — | — |
| 2014 | 19 | A+ MLE | 2 teams | — | 538 | 479 | 130 | 22 | 0 | 10 | 50 | 100 | 4 | 24 | 14 | 271 | 346 | 380 | 726 | 109 | 316 | 19 | 9 | 318 | 102 | — | — | — | — | — | — |
| 2015 | 20 | AA MLE | 3 teams | — | 522 | 468 | 126 | 22 | 6 | 5 | 47 | 68 | 2 | 12 | 5 | 269 | 338 | 374 | 712 | 105 | 303 | 13 | 9 | 316 | 100 | — | — | — | — | — | — |
| 2016 | 21 | AAA MLE | 2 teams | — | 551 | 494 | 113 | 17 | 1 | 6 | 51 | 97 | 1 | 12 | 7 | 229 | 303 | 304 | 606 | 75 | 267 | 18 | 9 | 268 | 68 | — | — | — | — | — | — |
| 2017 | 22 | AAA MLE | 2 teams | — | 643 | 565 | 120 | 22 | 7 | 13 | 72 | 143 | 1 | 6 | 4 | 212 | 302 | 345 | 647 | 133 | 257 | 22 | 11 | 285 | 79 | — | — | — | — | — | — |
| 2018 | 23 | MLB MLE | 3 teams | — | 255 | 222 | 43 | 9 | 4 | 4 | 22 | 78 | 9 | 3 | 0 | 194 | 294 | 324 | 618 | 131 | 279 | 31 | 9 | 281 | 77 | — | — | — | — | — | — |
| 2019 | 24 | MLB MLE | 2 teams | — | 534 | 469 | 112 | 27 | 4 | 10 | 56 | 116 | 4 | 8 | 3 | 239 | 326 | 377 | 704 | 139 | 291 | 22 | 10 | 312 | 97 | — | — | — | — | — | — |
| 2020 | 25 | MLB MLE | Seattle Mariners | — | 232 | 204 | 52 | 7 | 2 | 2 | 23 | 39 | 3 | 6 | 3 | 255 | 339 | 338 | 677 | 83 | 303 | 17 | 10 | 311 | 97 | — | — | — | — | — | — |
| 2021 | 26 | MLB MLE | Seattle Mariners | — | 687 | 620 | 171 | 38 | 0 | 9 | 57 | 114 | 5 | 3 | 6 | 276 | 342 | 381 | 722 | 105 | 320 | 17 | 8 | 324 | 106 | — | — | — | — | — | — |
| 2022 | 27 | MLB MLE | Seattle Mariners | — | 603 | 520 | 126 | 24 | 3 | 6 | 68 | 80 | 10 | 3 | 2 | 242 | 342 | 335 | 677 | 92 | 275 | 13 | 11 | 313 | 98 | — | — | — | — | — | — |
| 2023 | 28 | MLB MLE | Seattle Mariners | — | 638 | 535 | 143 | 36 | 0 | 19 | 93 | 125 | 5 | 2 | 0 | 267 | 381 | 441 | 822 | 174 | 314 | 20 | 15 | 368 | 135 | — | — | — | — | — | — |
| 2024 | 29 | MLB MLE | Seattle Mariners | — | 451 | 390 | 79 | 16 | 2 | 9 | 52 | 102 | 6 | 5 | 0 | 203 | 304 | 323 | 628 | 121 | 248 | 23 | 12 | 291 | 83 | — | — | — | — | — | — |
| 2025 | 30 | MLB MLE | Seattle Mariners | — | 654 | 573 | 152 | 24 | 0 | 12 | 73 | 122 | 3 | 8 | 1 | 265 | 352 | 370 | 722 | 105 | 318 | 19 | 11 | 328 | 108 | — | — | — | — | — | — |
| 2026 | 31 | MLB MLE | 2 teams | — | 505 | 428 | 95 | 12 | 0 | 15 | 64 | 101 | 8 | 1 | 3 | 222 | 334 | 355 | 689 | 133 | 253 | 20 | 13 | 314 | 99 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 29 | MLB MLE | Seattle Mariners | — | 451 | 390 | 79 | 16 | 2 | 9 | 52 | 102 | 6 | 5 | 0 | 203 | 304 | 323 | 628 | 121 | 248 | 23 | 12 | 291 | 83 | — | — | — | — | — | — |
| 2025 | 30 | MLB MLE | Seattle Mariners | — | 654 | 573 | 152 | 24 | 0 | 12 | 73 | 122 | 3 | 8 | 1 | 265 | 352 | 370 | 722 | 105 | 318 | 19 | 11 | 328 | 108 | — | — | — | — | — | — |
| 2026 | 31 | MLB MLE | 2 teams | — | 505 | 428 | 95 | 12 | 0 | 15 | 64 | 101 | 8 | 1 | 3 | 222 | 334 | 355 | 689 | 133 | 253 | 20 | 13 | 314 | 99 | — | — | — | — | — | — |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 32 | MLB MLE | SEA | 100% | 514 | 442 | 107 | 17 | 1 | 12 | 61 | 101 | 6 | 4 | 1 | 240 | 340 | 361 | 701 | 121 | 283 | 20 | 12 | 319 | 102 | +1 | +0 | -7 | +6 | +11 | 1.1 |
| ▸ 2027 — real world (MLB) | |||||||||||||||||||||||||||||||
| 2027 | 32 | MLB CTX | SEA | 100% | 438 | 378 | 90 | 14 | 1 | 10 | 52 | 86 | 5 | 4 | 1 | 238 | 338 | 356 | 694 | 119 | 280 | 20 | 12 | 316 | 102 | +1 | +0 | -6 | +5 | +9 | 1.0 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 33 | MLB MLE | SEA | 100% | 496 | 430 | 100 | 15 | 0 | 11 | 58 | 101 | 5 | 1 | 1 | 233 | 332 | 345 | 676 | 112 | 277 | 20 | 12 | 309 | 95 | -3 | -0 | -11 | +5 | +11 | 0.3 |
| 2029 | 34 | MLB MLE | SEA | 100% | 344 | 298 | 66 | 9 | 0 | 7 | 40 | 72 | 3 | 0 | 0 | 224 | 322 | 325 | 647 | 102 | 270 | 21 | 12 | 297 | 87 | -5 | +0 | -9 | +4 | +7 | -0.3 |
| 2028 | 33 | MLB CTX | SEA | 100% | 496 | 430 | 98 | 15 | 0 | 10 | 58 | 101 | 5 | 1 | 1 | 231 | 330 | 340 | 670 | 110 | 275 | 20 | 12 | 307 | 95 | -3 | -0 | -11 | +5 | +11 | 0.3 |
| 2029 | 34 | MLB CTX | SEA | 100% | 344 | 298 | 66 | 9 | 0 | 7 | 40 | 72 | 3 | 0 | 0 | 222 | 320 | 321 | 641 | 99 | 268 | 21 | 12 | 295 | 87 | -5 | +0 | -9 | +4 | +7 | -0.3 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 5215 | 4509 | 1092 | 210 | 15 | 98 | 603 | 994 | 55 | 37 | 19 | 242 | 339 | 361 | 699 | 118 | 289 | 19 | 12 | 318 | 97 | +9 | -0 | -17 | +60 | +113 | 16.8 | |
| / 162G | — | A+C | — | 650 | 562 | 136 | 26 | 2 | 12 | 75 | 124 | 7 | 5 | 2 | 242 | 339 | 359 | 698 | 117 | 289 | 19 | 12 | 318 | 97 | +1 | -0 | -2 | +7 | +14 | 2.1 | |
| Career | — | MLE | — | 8319 | 7274 | 1771 | 321 | 32 | 149 | 899 | 1593 | 74 | 112 | 56 | 243 | 333 | 358 | 691 | 114 | 291 | 19 | 11 | 311 | 97 | +10 | +0 | -23 | +65 | +122 | 17.8 | |
| / 162G | — | MLE | — | 650 | 568 | 139 | 25 | 3 | 12 | 70 | 124 | 6 | 9 | 4 | 245 | 334 | 363 | 697 | 118 | 292 | 19 | 11 | 311 | 97 | +1 | +0 | -3 | +7 | +14 | 2.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.
2026 AAATacoma Rainiers · 16 PAwOBA .333 → .255 (−78)K% 18.8% → 22.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.75% | ÷1.000 | ×1.200 | — | — | 22.50% |
| BB% (unintentional) /PA | 6.25% | ÷1.000 | ×0.690 | — | ×0.962 | 4.15% |
| HBP% /PA | 0.00% | — | ×0.940 | — | ×0.962 | 0.00% |
| Singles /BIP | 25.00% | ÷1.000 | ×0.930 | — | ×0.962 | 22.37% |
| Doubles /BIP | 0.00% | ÷1.000 | ×0.830 | — | ×0.962 | 0.00% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.970 | — | ×0.962 | 0.00% |
| Home runs /BIP | 8.33% | ÷1.000 | ×0.700 | — | ×0.962 | 5.61% |
Factors used: league row International League. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 31 vs a level average of 27.2 → −3.8% on BB/HBP/hit rates (3.8 yr older than average).
Result: wOBA .333 → .255; ISO .200 → .132; BABIP .273 → .237. 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 AAATacoma Rainiers · 138 PAwOBA .385 → .320 (−65)K% 18.1% → 23.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.12% | ÷0.990 | ×1.290 | — | — | 23.60% |
| BB% (unintentional) /PA | 13.04% | ÷1.039 | ×0.710 | — | ×1.048 | 9.34% |
| HBP% /PA | 1.45% | — | ×0.980 | — | ×1.048 | 1.49% |
| Singles /BIP | 29.67% | ÷0.985 | ×0.900 | ×0.950 | ×1.048 | 26.99% |
| Doubles /BIP | 7.69% | ÷0.998 | ×0.810 | ×0.950 | ×1.048 | 6.21% |
| Triples /BIP | 0.00% | ÷1.073 | ×0.810 | ×0.950 | ×1.048 | 0.00% |
| Home runs /BIP | 3.30% | ÷1.049 | ×0.780 | — | ×1.048 | 2.57% |
Factors used: league row PCL. Park (home-season share, regressed): HR 110, 1B 97, 2B 100, 3B 115, K 98, BB 108 — 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 .385 → .320; ISO .138 → .109; BABIP .382 → .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).
2018 AAALehigh Valley IronPigs · 68 PAwOBA .325 → .295 (−29)K% 25.0% → 31.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 25.00% | ÷0.962 | ×1.200 | — | — | 31.18% |
| BB% (unintentional) /PA | 7.35% | ÷0.932 | ×0.690 | — | ×1.050 | 5.72% |
| HBP% /PA | 5.88% | — | ×0.940 | — | ×1.050 | 5.81% |
| Singles /BIP | 26.83% | ÷1.000 | ×0.930 | — | ×1.050 | 26.20% |
| Doubles /BIP | 4.88% | ÷0.971 | ×0.830 | — | ×1.050 | 4.38% |
| Triples /BIP | 2.44% | ÷0.900 | ×0.970 | — | ×1.050 | 2.76% |
| Home runs /BIP | 2.44% | ÷0.954 | ×0.840 | — | ×1.050 | 2.25% |
Factors used: league row IL. Park (home-season share, regressed): HR 91, 1B 100, 2B 94, 3B 80, K 92, BB 86 — 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).
Result: wOBA .325 → .295; ISO .121 → .112; BABIP .350 → .341. 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+Clearwater Threshers · 49 PAwOBA .237 → .178 (−59)K% 28.6% → 40.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 28.57% | ÷0.995 | ×1.420 | — | — | 40.77% |
| BB% (unintentional) /PA | 14.29% | ÷1.005 | ×0.750 | — | ×0.998 | 10.64% |
| HBP% /PA | 0.00% | — | ×0.930 | — | ×0.998 | 0.00% |
| Singles /BIP | 14.29% | ÷0.950 | ×0.920 | — | ×0.998 | 13.81% |
| Doubles /BIP | 3.57% | ÷1.028 | ×0.960 | — | ×0.998 | 3.33% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.810 | — | ×0.998 | 0.00% |
| Home runs /BIP | 3.57% | ÷1.197 | ×0.880 | — | ×0.998 | 2.62% |
Factors used: league row FSL. Park (home-season share, regressed): HR 139, 1B 90, 2B 106, 3B 100, K 99, BB 101 — 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).
Result: wOBA .237 → .178; ISO .095 → .063; BABIP .185 → .176. 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 AAALehigh Valley IronPigs · 556 PAwOBA .332 → .281 (−52)K% 17.4% → 21.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.45% | ÷0.961 | ×1.200 | — | — | 21.78% |
| BB% (unintentional) /PA | 14.03% | ÷1.014 | ×0.690 | — | ×1.050 | 10.02% |
| HBP% /PA | 0.18% | — | ×0.940 | — | ×1.050 | 0.18% |
| Singles /BIP | 19.63% | ÷1.055 | ×0.930 | ×0.986 | ×1.050 | 17.91% |
| Doubles /BIP | 5.31% | ÷0.969 | ×0.830 | ×0.986 | ×1.050 | 4.70% |
| Triples /BIP | 1.59% | ÷1.047 | ×0.970 | ×0.986 | ×1.050 | 1.53% |
| Home runs /BIP | 3.98% | ÷1.043 | ×0.840 | — | ×1.050 | 3.36% |
Factors used: league row IL. Park (home-season share, regressed): HR 109, 1B 111, 2B 94, 3B 109, K 92, BB 103 — applied at half strength. Age: age 22 vs a level average of 27.2 → +5.0% on BB/HBP/hit rates (5.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.986.
Result: wOBA .332 → .281; ISO .162 → .142; BABIP .275 → .249. 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 AAALehigh Valley IronPigs · 385 PAwOBA .290 → .257 (−33)K% 15.3% → 18.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.32% | ÷1.018 | ×1.200 | — | — | 18.07% |
| BB% (unintentional) /PA | 10.91% | ÷1.035 | ×0.690 | — | ×1.050 | 7.64% |
| HBP% /PA | 0.26% | — | ×0.940 | — | ×1.050 | 0.26% |
| Singles /BIP | 23.83% | ÷1.028 | ×0.930 | ×0.994 | ×1.050 | 22.49% |
| Doubles /BIP | 3.97% | ÷1.018 | ×0.830 | ×0.994 | ×1.050 | 3.38% |
| Triples /BIP | 0.36% | ÷1.107 | ×0.970 | ×0.994 | ×1.050 | 0.33% |
| Home runs /BIP | 1.44% | ÷0.942 | ×0.840 | — | ×1.050 | 1.35% |
Factors used: league row IL. Park (home-season share, regressed): HR 88, 1B 106, 2B 104, 3B 121, K 104, BB 107 — applied at half strength. Age: age 21 vs a level average of 27.2 → +5.0% on BB/HBP/hit rates (6.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.994.
Result: wOBA .290 → .257; ISO .074 → .069; BABIP .284 → .264. 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 AAReading Fightin Phils · 166 PAwOBA .353 → .295 (−58)K% 12.7% → 16.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 12.65% | ÷0.936 | ×1.220 | — | — | 16.49% |
| BB% (unintentional) /PA | 18.07% | ÷1.042 | ×0.700 | — | ×1.050 | 12.75% |
| HBP% /PA | 0.00% | — | ×0.850 | — | ×1.050 | 0.00% |
| Singles /BIP | 21.74% | ÷1.002 | ×0.970 | ×0.950 | ×1.050 | 21.00% |
| Doubles /BIP | 6.96% | ÷0.998 | ×0.860 | ×0.950 | ×1.050 | 5.98% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.950 | ×0.950 | ×1.050 | 0.00% |
| Home runs /BIP | 2.61% | ÷1.273 | ×0.780 | — | ×1.050 | 1.68% |
Factors used: league row EL. Park (home-season share, regressed): HR 155, 1B 100, 2B 100, 3B 130, K 87, BB 108 — applied at half strength. Age: age 21 vs a level average of 24.8 → +5.0% on BB/HBP/hit rates (3.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .353 → .295; ISO .125 → .095; BABIP .295 → .274. 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 AAReading Fightin Phils · 405 PAwOBA .333 → .302 (−31)K% 11.1% → 12.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 11.11% | ÷1.060 | ×1.220 | — | — | 12.79% |
| BB% (unintentional) /PA | 11.60% | ÷1.029 | ×0.700 | — | ×1.050 | 8.29% |
| HBP% /PA | 0.25% | — | ×0.850 | — | ×1.050 | 0.22% |
| Singles /BIP | 19.61% | ÷0.995 | ×0.970 | ×0.962 | ×1.050 | 19.30% |
| Doubles /BIP | 6.86% | ÷0.949 | ×0.860 | ×0.962 | ×1.050 | 6.28% |
| Triples /BIP | 2.29% | ÷1.150 | ×0.950 | ×0.962 | ×1.050 | 1.91% |
| Home runs /BIP | 1.63% | ÷1.021 | ×0.780 | — | ×1.050 | 1.31% |
Factors used: league row EL. Park (home-season share, regressed): HR 104, 1B 99, 2B 90, 3B 130, K 112, BB 106 — applied at half strength. Age: age 20 vs a level average of 24.8 → +5.0% on BB/HBP/hit rates (4.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.962.
Result: wOBA .333 → .302; ISO .142 → .127; BABIP .289 → .276. 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).