Devlin Granberg
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2019 | 23 | A+/A2 orgs | 519 | .273/.368/.405 | 8 | 7 | 63 | — | .213/.288/.308 |
| 2021 | 25 | AA/A+BOS | 394 | .297/.358/.515 | 17 | 5 | 96 | — | .247/.297/.424 |
| 2022 | 26 | AAA/AABOS | 360 | .279/.375/.417 | 4 | 8 | 84 | — | .239/.317/.342 |
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) | |||||||||||||||||||||||||||||||
| 2019 | 23 | A+ | Salem Red Sox | — | 99 | 90 | 20 | 6 | 0 | 0 | 4 | 16 | 3 | 1 | 1 | 222 | 278 | 289 | 567 | 67 | 263 | 16 | 4 | 256 | 25 | — | — | — | — | — | — |
| 2019 | 23 | A | Greenville Drive | — | 420 | 357 | 102 | 19 | 5 | 8 | 45 | 79 | 15 | 6 | 4 | 286 | 388 | 434 | 823 | 148 | 344 | 19 | 11 | 369 | 72 | — | — | — | — | — | — |
| 2021 | 25 | AA | Portland Sea Dogs | — | 281 | 262 | 75 | 16 | 1 | 10 | 11 | 54 | 7 | 4 | 1 | 286 | 332 | 469 | 802 | 183 | 327 | 19 | 4 | 353 | 81 | — | — | — | — | — | — |
| 2021 | 25 | A+ | Greenville Drive | — | 113 | 95 | 31 | 7 | 1 | 7 | 12 | 16 | 4 | 1 | 0 | 326 | 423 | 642 | 1.066 | 316 | 324 | 14 | 11 | 451 | 135 | — | — | — | — | — | — |
| 2022 | 26 | AAA | Worcester Red Sox | — | 196 | 177 | 46 | 10 | 1 | 3 | 14 | 44 | 5 | 4 | 1 | 260 | 332 | 379 | 710 | 119 | 331 | 22 | 7 | 322 | 59 | — | — | — | — | — | — |
| 2022 | 26 | AA | Portland Sea Dogs | — | 164 | 135 | 41 | 11 | 4 | 1 | 20 | 22 | 9 | 4 | 1 | 304 | 427 | 467 | 893 | 163 | 357 | 13 | 12 | 402 | 114 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2019 | 23 | A+ MLE | Salem Red Sox | — | 99 | 91 | 16 | 4 | 0 | 0 | 3 | 24 | 3 | 1 | 1 | 176 | 227 | 220 | 447 | 44 | 231 | 24 | 3 | 205 | 25 | — | — | — | — | — | — |
| 2019 | 23 | A MLE | Greenville Drive | — | 420 | 374 | 83 | 14 | 4 | 6 | 28 | 110 | 15 | 6 | 4 | 222 | 302 | 329 | 631 | 107 | 287 | 26 | 7 | 274 | 72 | — | — | — | — | — | — |
| 2021 | 25 | AA MLE | Portland Sea Dogs | — | 281 | 266 | 64 | 13 | 1 | 8 | 7 | 64 | 7 | 4 | 1 | 241 | 279 | 387 | 666 | 147 | 286 | 23 | 2 | 288 | 81 | — | — | — | — | — | — |
| 2021 | 25 | A+ MLE | Greenville Drive | — | 113 | 99 | 26 | 5 | 1 | 6 | 8 | 21 | 4 | 1 | 0 | 263 | 342 | 515 | 857 | 253 | 265 | 19 | 7 | 368 | 135 | — | — | — | — | — | — |
| 2022 | 26 | AAA MLE | Worcester Red Sox | — | 196 | 181 | 39 | 7 | 1 | 2 | 10 | 52 | 5 | 4 | 1 | 215 | 276 | 298 | 574 | 83 | 289 | 27 | 5 | 256 | 59 | — | — | — | — | — | — |
| 2022 | 26 | AA MLE | Portland Sea Dogs | — | 164 | 142 | 38 | 9 | 3 | 1 | 13 | 27 | 9 | 4 | 1 | 268 | 366 | 394 | 760 | 127 | 330 | 16 | 8 | 337 | 114 | — | — | — | — | — | — |
| 2019 | 23 | A MLE | 2 teams | — | 519 | 465 | 99 | 18 | 4 | 6 | 31 | 134 | 18 | 7 | 5 | 213 | 288 | 308 | 595 | 95 | 282 | 26 | 6 | 261 | 63 | — | — | — | — | — | — |
| 2019 | 23 | A RAW | 2 teams | — | 519 | 447 | 122 | 25 | 5 | 8 | 49 | 95 | 18 | 7 | 5 | 273 | 368 | 405 | 773 | 132 | 327 | 18 | 9 | 347 | 63 | — | — | — | — | — | — |
| 2021 | 25 | AA MLE | 2 teams | — | 394 | 365 | 91 | 18 | 2 | 15 | 15 | 86 | 11 | 5 | 1 | 249 | 299 | 433 | 732 | 184 | 285 | 22 | 4 | 311 | 97 | — | — | — | — | — | — |
| 2021 | 25 | AA RAW | 2 teams | — | 394 | 357 | 106 | 23 | 2 | 17 | 23 | 70 | 11 | 5 | 1 | 297 | 358 | 515 | 873 | 218 | 326 | 18 | 6 | 381 | 97 | — | — | — | — | — | — |
| 2022 | 26 | AAA MLE | 2 teams | — | 360 | 323 | 77 | 16 | 4 | 3 | 23 | 79 | 14 | 8 | 2 | 238 | 317 | 341 | 657 | 102 | 307 | 22 | 6 | 293 | 84 | — | — | — | — | — | — |
| 2022 | 26 | AAA RAW | 2 teams | — | 360 | 312 | 87 | 21 | 5 | 4 | 34 | 66 | 14 | 8 | 2 | 279 | 375 | 417 | 792 | 138 | 343 | 18 | 9 | 358 | 84 | — | — | — | — | — | — |
| 2019 | 23 | A MLE | 2 teams | — | 519 | 465 | 99 | 18 | 4 | 6 | 31 | 134 | 18 | 7 | 5 | 213 | 288 | 308 | 595 | 95 | 276 | 26 | 6 | 261 | 63 | — | — | — | — | — | — |
| 2021 | 25 | AA MLE | 2 teams | — | 394 | 365 | 91 | 18 | 2 | 15 | 15 | 86 | 11 | 5 | 1 | 249 | 299 | 433 | 732 | 184 | 280 | 22 | 4 | 311 | 97 | — | — | — | — | — | — |
| 2022 | 26 | AAA MLE | 2 teams | — | 360 | 320 | 77 | 16 | 4 | 3 | 23 | 79 | 14 | 8 | 2 | 241 | 317 | 344 | 660 | 103 | 308 | 22 | 6 | 293 | 84 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1273 | 1153 | 267 | 52 | 10 | 24 | 69 | 299 | 43 | 20 | 8 | 232 | 300 | 356 | 656 | 125 | 290 | 23 | 5 | 285 | 79 | -31 | +1 | +0 | -8 | +28 | -1.1 | |
| / 162G | — | MLE | — | 650 | 589 | 136 | 27 | 5 | 12 | 35 | 153 | 22 | 10 | 4 | 231 | 299 | 355 | 654 | 124 | 290 | 24 | 5 | 285 | 79 | -16 | +0 | +0 | -4 | +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.
2022 AAAWorcester Red Sox · 196 PAwOBA .314 → .256 (−58)K% 22.4% → 26.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 22.45% | ÷1.013 | ×1.200 | — | — | 26.59% |
| BB% (unintentional) /PA | 7.14% | ÷0.987 | ×0.690 | — | ×1.003 | 5.01% |
| HBP% /PA | 2.55% | — | ×0.940 | — | ×1.003 | 2.41% |
| Singles /BIP | 24.06% | ÷1.010 | ×0.930 | ×1.007 | ×1.003 | 22.37% |
| Doubles /BIP | 7.52% | ÷1.179 | ×0.830 | ×1.007 | ×1.003 | 5.35% |
| Triples /BIP | 0.75% | ÷1.000 | ×0.970 | ×1.007 | ×1.003 | 0.74% |
| Home runs /BIP | 2.26% | ÷0.939 | ×0.700 | — | ×1.003 | 1.69% |
Factors used: league row International League. Park (home-season share, regressed): HR 88, 1B 102, 2B 136, 3B 100, K 103, BB 97 — 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.007.
Result: wOBA .314 → .256; ISO .119 → .087; BABIP .331 → .289. 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 AAPortland Sea Dogs · 164 PAwOBA .392 → .337 (−55)K% 13.4% → 16.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 13.41% | ÷0.994 | ×1.220 | — | — | 16.47% |
| BB% (unintentional) /PA | 12.20% | ÷1.026 | ×0.700 | — | ×0.978 | 8.13% |
| HBP% /PA | 5.49% | — | ×0.850 | — | ×0.978 | 4.56% |
| Singles /BIP | 22.12% | ÷0.983 | ×0.970 | ×1.026 | ×0.978 | 21.91% |
| Doubles /BIP | 9.73% | ÷1.066 | ×0.860 | ×1.026 | ×0.978 | 7.88% |
| Triples /BIP | 3.54% | ÷1.150 | ×0.950 | ×1.026 | ×0.978 | 2.93% |
| Home runs /BIP | 0.88% | ÷1.004 | ×0.780 | — | ×0.978 | 0.67% |
Factors used: league row EL. Park (home-season share, regressed): HR 101, 1B 97, 2B 113, 3B 130, K 99, BB 105 — 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.026.
Result: wOBA .392 → .337; ISO .163 → .136; BABIP .357 → .330. 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 AAPortland Sea Dogs · 281 PAwOBA .344 → .288 (−56)K% 19.2% → 22.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.22% | ÷1.025 | ×1.220 | — | — | 22.87% |
| BB% (unintentional) /PA | 3.91% | ÷1.078 | ×0.690 | — | ×0.988 | 2.48% |
| HBP% /PA | 2.49% | — | ×0.850 | — | ×0.988 | 2.09% |
| Singles /BIP | 23.08% | ÷1.047 | ×0.940 | ×1.015 | ×0.988 | 20.77% |
| Doubles /BIP | 7.69% | ÷1.064 | ×0.870 | ×1.015 | ×0.988 | 6.31% |
| Triples /BIP | 0.48% | ÷0.900 | ×0.920 | ×1.015 | ×0.988 | 0.49% |
| Home runs /BIP | 4.81% | ÷0.900 | ×0.780 | — | ×0.988 | 4.12% |
Factors used: level-wide AA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 80, 1B 109, 2B 113, 3B 80, K 105, BB 116 — 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.015.
Result: wOBA .344 → .288; ISO .183 → .153; BABIP .327 → .286. 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 A+Greenville Drive · 113 PAwOBA .446 → .368 (−78)K% 14.2% → 19.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 14.16% | ÷1.004 | ×1.350 | — | — | 19.04% |
| BB% (unintentional) /PA | 10.62% | ÷1.004 | ×0.710 | — | ×0.968 | 7.27% |
| HBP% /PA | 3.54% | — | ×0.810 | — | ×0.968 | 2.78% |
| Singles /BIP | 20.25% | ÷1.032 | ×0.910 | ×1.016 | ×0.968 | 17.57% |
| Doubles /BIP | 8.86% | ÷1.104 | ×0.830 | ×1.016 | ×0.968 | 6.55% |
| Triples /BIP | 1.27% | ÷1.094 | ×0.820 | ×1.016 | ×0.968 | 0.93% |
| Home runs /BIP | 8.86% | ÷0.891 | ×0.830 | — | ×0.968 | 7.99% |
Factors used: level-wide A+ factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 78, 1B 106, 2B 121, 3B 119, K 101, BB 101 — 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.016.
Result: wOBA .446 → .368; ISO .316 → .273; BABIP .324 → .265. 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 AGreenville Drive · 420 PAwOBA .362 → .274 (−89)K% 18.8% → 26.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.81% | ÷0.960 | ×1.340 | — | — | 26.26% |
| BB% (unintentional) /PA | 10.71% | ÷1.037 | ×0.660 | — | ×0.980 | 6.68% |
| HBP% /PA | 3.57% | — | ×0.770 | — | ×0.980 | 2.69% |
| Singles /BIP | 25.18% | ÷0.987 | ×0.920 | ×0.950 | ×0.980 | 21.85% |
| Doubles /BIP | 6.83% | ÷1.015 | ×0.820 | ×0.950 | ×0.980 | 5.14% |
| Triples /BIP | 1.80% | ÷1.150 | ×0.940 | ×0.950 | ×0.980 | 1.37% |
| Home runs /BIP | 2.88% | ÷1.091 | ×0.820 | — | ×0.980 | 2.12% |
Factors used: league row SAL. Park (home-season share, regressed): HR 118, 1B 97, 2B 103, 3B 130, K 92, BB 107 — 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 .362 → .274; ISO .148 → .108; BABIP .344 → .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).
2019 A+Salem Red Sox · 99 PAwOBA .255 → .205 (−50)K% 16.2% → 24.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 16.16% | ÷0.958 | ×1.420 | — | — | 23.96% |
| BB% (unintentional) /PA | 4.04% | ÷0.968 | ×0.630 | — | ×0.988 | 2.60% |
| HBP% /PA | 3.03% | — | ×0.860 | — | ×0.988 | 2.57% |
| Singles /BIP | 18.92% | ÷1.003 | ×0.940 | — | ×0.988 | 17.52% |
| Doubles /BIP | 8.11% | ÷1.070 | ×0.830 | — | ×0.988 | 6.21% |
| Triples /BIP | 0.00% | ÷0.972 | ×0.800 | — | ×0.988 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.080 | ×0.900 | — | ×0.988 | 0.00% |
Factors used: league row CAR. Park (home-season share, regressed): HR 116, 1B 101, 2B 114, 3B 94, K 92, BB 94 — applied at half strength. Age: age 24 vs a level average of 22.8 → −1.2% on BB/HBP/hit rates (1.2 yr older than average).
Result: wOBA .255 → .205; ISO .067 → .048; BABIP .263 → .231. 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).