Grant Holmes
P Atlanta Braves| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 28 | MIX2 levels | 44 | 10 | 109 | 3.21 | 2.91 | 26.9% | 5.8% | 2.2 | K 25.3% · BB 5.5% · FIP 3.07 |
| 2025 | 29 | MLBATL | 22 | 21 | 115 | 3.99 | 4.15 | 25.0% | 10.8% | 1.7 | |
| 2026 | 30 | MLBATL | 31 | 29 | 152 | 3.44 | 4.70 | 17.9% | 9.7% | 1.2 | |
| 2027PROJ | 31 | MLBATL | 16 | 16 | 102 | 4.46 | 4.72 | 21.3% | 9.8% | 0.8 | |
| 2028PROJ95% MLB | 32 | MLBATL | 12 | 12 | 73 | 4.77 | 4.98 | 20.5% | 10.2% | 0.3 | |
| 2029PROJ95% MLB | 33 | MLBATL | 9 | 9 | 53 | 5.06 | 5.26 | 19.7% | 10.6% | 0.1 |
Statcast · Contract
Contract
No contract data on file. Pre-MLB players and minor-league free agents do not yet have salary projections — entries are added at first 40-man roster placement.
Career Stats + Projections
Methodology▸ how WAR & MLE are computed
Stats are park-neutral MLB equivalents. The "TEAM" column shows current org affiliation only — we do NOT project at that team's park.
Rates (K%, BB%, HR-BF) are park-stripped; MiLB stat lines are translated to their MLB-equivalent via per-level MLE factors.
WAR is computed from projected runs prevented vs a replacement pitcher (the marginal arm a team would call up if this pitcher were unavailable) — calibrated to the standard WAR scale.
| Year | Age | Lvl | Team | G | GS | IP | BF | K | BB | HR | GS% | IP/G | K% | BB% | K-BB% | HR% | ERA | FIP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▸ Career — actual stats, one row per year (as recorded, no adjustments) | |||||||||||||||||||
| ▸ Career — adjusted (each season translated to a park/league-neutral MLB-equivalent line; levels combined per year) | |||||||||||||||||||
| ▸ Model inputs — neutral MLE (past 3 seasons + 2027 so far) | |||||||||||||||||||
| 2015 | 19 | A MLE | Great Lakes Loons | 24 | 24 | 103 | 440 | 117 | 54 | 6 | 100% | 4.3 | 19.7% | 14.5% | 5.2% | 2.0% | 3.14 | 4.36 | — |
| 2015 | 19 | A RAW | Great Lakes Loons | 24 | 24 | 103 | 440 | 117 | 54 | 6 | 100% | 4.3 | 26.6% | 12.3% | 14.3% | 1.4% | 3.14 | 3.16 | — |
| 2016 | 20 | A+ MLE | Stockton Ports | 26 | 23 | 134 | 595 | 124 | 53 | 10 | 88% | 5.2 | 16.0% | 10.2% | 5.8% | 2.0% | 4.63 | 4.12 | — |
| 2016 | 20 | A+ RAW | Stockton Ports | 26 | 23 | 134 | 595 | 124 | 53 | 10 | 88% | 5.2 | 20.8% | 8.9% | 11.9% | 1.7% | 4.63 | 3.41 | — |
| 2017 | 21 | AA MLE | Midland RockHounds | 29 | 24 | 148 | 644 | 150 | 59 | 15 | 83% | 5.1 | 18.9% | 10.1% | 8.8% | 3.2% | 4.49 | 4.56 | — |
| 2017 | 21 | AA RAW | Midland RockHounds | 29 | 24 | 148 | 644 | 150 | 59 | 15 | 83% | 5.1 | 23.3% | 9.2% | 14.1% | 2.3% | 4.49 | 3.59 | — |
| 2018 | 22 | A+ MLE | Stockton Ports | 2 | 2 | 6 | 27 | 8 | 2 | 1 | 100% | 3.0 | 29.6% | 7.4% | 22.2% | 3.7% | 4.50 | 3.57 | — |
| 2018 | 22 | A+ RAW | Stockton Ports | 2 | 2 | 6 | 27 | 8 | 2 | 1 | 100% | 3.0 | 29.6% | 7.4% | 22.2% | 3.7% | 4.50 | 3.60 | — |
| 2019 | 23 | MIX MLE | 2 levels | 23 | 17 | 86 | 356 | 81 | 28 | 10 | 74% | 3.8 | 18.2% | 8.8% | 9.4% | 3.3% | 3.23 | 4.51 | — |
| 2019 | 23 | MIX RAW | 2 levels | 23 | 17 | 86 | 356 | 81 | 28 | 10 | 74% | 3.8 | 22.8% | 7.9% | 14.9% | 2.8% | 3.23 | 3.70 | — |
| 2021 | 25 | AAA MLE | Las Vegas Aviators | 36 | 7 | 66 | 336 | 71 | 39 | 11 | 19% | 1.8 | 18.6% | 12.2% | 6.4% | 3.8% | 8.01 | 5.17 | — |
| 2021 | 25 | AAA RAW | Las Vegas Aviators | 36 | 7 | 66 | 336 | 71 | 39 | 11 | 19% | 1.8 | 21.1% | 11.6% | 9.5% | 3.3% | 8.01 | 4.88 | — |
| 2022 | 26 | MIX MLE | 3 levels | 31 | 4 | 41 | 197 | 30 | 15 | 10 | 13% | 1.3 | 12.6% | 8.1% | 4.5% | 5.6% | 8.19 | 6.15 | — |
| 2022 | 26 | MIX RAW | 3 levels | 31 | 4 | 41 | 197 | 30 | 15 | 10 | 13% | 1.3 | 15.2% | 7.6% | 7.6% | 5.1% | 8.19 | 5.93 | — |
| 2023 | 27 | AAA MLE | Gwinnett Stripers | 50 | 0 | 61 | 258 | 74 | 26 | 5 | 0% | 1.2 | 24.7% | 9.1% | 15.6% | 2.2% | 3.54 | 3.35 | — |
| 2023 | 27 | AAA RAW | Gwinnett Stripers | 50 | 0 | 61 | 258 | 74 | 26 | 5 | 0% | 1.2 | 28.7% | 10.1% | 18.6% | 1.9% | 3.54 | 3.02 | — |
| 2024 | 28 | MIX MLE | 2 levels | 44 | 10 | 109 | 450 | 121 | 26 | 11 | 23% | 2.5 | 25.3% | 5.5% | 19.8% | 2.6% | 3.21 | 3.07 | +2.0 |
| 2024 | 28 | MIX MLE | 2 levels | 44 | 10 | 109 | 450 | 121 | 26 | 11 | 23% | 2.5 | 25.3% | 5.5% | 19.8% | 2.6% | 3.21 | 3.07 | +2.0 |
| 2024 | 28 | MIX RAW | 2 levels | 44 | 10 | 109 | 450 | 121 | 26 | 11 | 23% | 2.5 | 26.9% | 5.8% | 21.1% | 2.4% | 3.21 | 2.91 | +2.2 |
| 2025 | 29 | MLB MLE | Atlanta Braves | 22 | 21 | 115 | 492 | 123 | 53 | 16 | 95% | 5.2 | 25.0% | 10.8% | 14.2% | 3.3% | 3.99 | 4.14 | +1.7 |
| 2025 | 29 | MLB MLE | Atlanta Braves | 22 | 21 | 115 | 492 | 123 | 53 | 16 | 95% | 5.2 | 25.0% | 10.8% | 14.2% | 3.3% | 3.99 | 4.14 | +1.7 |
| 2025 | 29 | MLB RAW | Atlanta Braves | 22 | 21 | 115 | 492 | 123 | 53 | 16 | 95% | 5.2 | 25.0% | 10.8% | 14.2% | 3.3% | 3.99 | 4.15 | +1.7 |
| 2026 | 30 | MLB MLE | Atlanta Braves | 31 | 29 | 152 | 642 | 115 | 62 | 22 | 94% | 4.9 | 17.9% | 9.7% | 8.3% | 3.4% | 3.44 | 4.69 | +1.2 |
| 2026 | 30 | MLB MLE | Atlanta Braves | 31 | 29 | 152 | 642 | 115 | 62 | 22 | 94% | 4.9 | 17.9% | 9.7% | 8.3% | 3.4% | 3.44 | 4.69 | +1.2 |
| 2026 | 30 | MLB RAW | Atlanta Braves | 31 | 29 | 152 | 642 | 115 | 62 | 22 | 94% | 4.9 | 17.9% | 9.7% | 8.3% | 3.4% | 3.44 | 4.70 | +1.2 |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 79 | 57 | 335 | 1416 | 308 | 128 | 45 | 72% | 4.2 | 21.8% | 9.0% | 12.7% | 3.2% | 3.65 | 4.15 | +4.9 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 31 | MLB | ATL | 16 | 16 | 102 | 431 | 92 | 42 | 14 | 100% | 6.4 | 21.3% | 9.8% | 11.6% | 3.3% | 4.46 | 4.72 | +0.8 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 32 | MLB MLE | ATL | 12 | 12 | 77 | 326 | 67 | 33 | 12 | 100% | 6.4 | 20.5% | 10.2% | 10.4% | 3.5% | 4.77 | 4.98 | +0.4 |
| 2029 | 33 | MLB MLE | ATL | 9 | 9 | 55 | 234 | 46 | 25 | 9 | 100% | 6.2 | 19.7% | 10.6% | 9.1% | 3.8% | 5.06 | 5.26 | +0.1 |
| 2028 | 32 | MLB CTX | ATL | 12 | 12 | 73 | 308 | 63 | 31 | 11 | 100% | 6.1 | 20.5% | 10.2% | 10.4% | 3.5% | 4.77 | 4.98 | +0.3 |
| 2029 | 33 | MLB CTX | ATL | 9 | 9 | 53 | 224 | 44 | 24 | 9 | 100% | 5.9 | 19.7% | 10.6% | 9.1% | 3.8% | 5.06 | 5.26 | +0.1 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 99 | 77 | 461 | 1948 | 415 | 183 | 64 | 78% | 4.7 | 21.3% | 9.4% | 11.9% | 3.3% | 3.99 | 4.31 | +5.9 | |
| / 200 IP | — | RAW | 43 | 34 | 200 | 845 | 180 | 79 | 28 | 78% | 4.6 | 21.3% | 9.4% | 11.9% | 3.3% | 3.99 | 4.31 | +2.6 | |
| Career | — | MLE | 318 | 161 | 1022 | 4437 | 879 | 443 | 133 | 51% | 3.2 | 19.8% | 10.0% | 9.8% | 3.0% | 4.24 | 4.34 | +5.4 | |
| / 200 IP | — | MLE | 62 | 32 | 200 | 868 | 172 | 87 | 26 | 51% | 3.2 | 19.8% | 10.0% | 9.8% | 3.0% | 4.24 | 4.34 | +2.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 AAAGwinnett Stripers · 41 IPFIP 2.82 → 3.26 (+0.44)K% 30.4% → 26.1%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 30.36% | — | ×0.860 | 26.11% |
| BB% (unintentional) /BF | 7.74% | — | ×0.900 | 6.96% |
| HR / BF /BF | 2.38% | ÷0.968 | ×1.100 | 2.71% |
Factors used: pitcher AAA level factors (Triple-A 2023+ robo-zone set: walks improve on promotion) — K ×0.86, BB ×0.90, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 94).
Result: FIP 2.82 → 3.26, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2023 AAAGwinnett Stripers · 61 IPFIP 3.02 → 3.35 (+0.34)K% 28.7% → 24.7%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 28.68% | — | ×0.860 | 24.67% |
| BB% (unintentional) /BF | 10.08% | — | ×0.900 | 9.07% |
| HR / BF /BF | 1.94% | ÷0.984 | ×1.100 | 2.17% |
Factors used: pitcher AAA level factors (Triple-A 2023+ robo-zone set: walks improve on promotion) — K ×0.86, BB ×0.90, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 97).
Result: FIP 3.02 → 3.35, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2022 AAALas Vegas Aviators · 37 IPFIP 5.88 → 6.15 (+0.26)K% 14.3% → 12.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 14.29% | — | ×0.880 | 12.57% |
| BB% (unintentional) /BF | 7.69% | — | ×1.050 | 8.08% |
| HR / BF /BF | 5.49% | ÷1.075 | ×1.100 | 5.62% |
Factors used: pitcher AAA level factors — K ×0.88, BB ×1.05, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 115).
Result: FIP 5.88 → 6.15, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2021 AAALas Vegas Aviators · 66 IPFIP 4.58 → 5.17 (+0.59)K% 21.1% → 18.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 21.13% | — | ×0.880 | 18.60% |
| BB% (unintentional) /BF | 11.61% | — | ×1.050 | 12.19% |
| HR / BF /BF | 3.27% | ÷0.941 | ×1.100 | 3.83% |
Factors used: pitcher AAA level factors — K ×0.88, BB ×1.05, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 88).
Result: FIP 4.58 → 5.17, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2019 AAMidland RockHounds · 82 IPFIP 3.67 → 4.51 (+0.84)K% 22.5% → 18.2%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 22.49% | — | ×0.810 | 18.21% |
| BB% (unintentional) /BF | 7.99% | — | ×1.100 | 8.79% |
| HR / BF /BF | 2.66% | ÷0.954 | ×1.200 | 3.35% |
Factors used: pitcher AA level factors — K ×0.81, BB ×1.10, HR ×1.20. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 91).
Result: FIP 3.67 → 4.51, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2018 A+Stockton Ports · 6 IPFIP 3.57 → 4.29 (+0.73)K% 29.6% → 22.8%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 29.63% | — | ×0.770 | 22.81% |
| BB% (unintentional) /BF | 7.41% | — | ×1.150 | 8.52% |
| HR / BF /BF | 3.70% | ÷1.244 | ×1.250 | 3.72% |
Factors used: pitcher A+ level factors — K ×0.77, BB ×1.15, HR ×1.25. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 149).
Result: FIP 3.57 → 4.29, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2017 AAMidland RockHounds · 148 IPFIP 3.57 → 4.56 (+0.99)K% 23.3% → 18.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 23.29% | — | ×0.810 | 18.87% |
| BB% (unintentional) /BF | 9.16% | — | ×1.100 | 10.08% |
| HR / BF /BF | 2.33% | ÷0.862 | ×1.200 | 3.24% |
Factors used: pitcher AA level factors — K ×0.81, BB ×1.10, HR ×1.20. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 72).
Result: FIP 3.57 → 4.56, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2016 A+Stockton Ports · 134 IPFIP 3.39 → 4.12 (+0.73)K% 20.8% → 16.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 20.84% | — | ×0.770 | 16.05% |
| BB% (unintentional) /BF | 8.91% | — | ×1.150 | 10.24% |
| HR / BF /BF | 1.68% | ÷1.066 | ×1.250 | 1.97% |
Factors used: pitcher A+ level factors — K ×0.77, BB ×1.15, HR ×1.25. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 113).
Result: FIP 3.39 → 4.12, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
Career Comps
Completed MLB careers (no pro action in 2+ yrs) whose totals — actual + projected — most resemble this player's. Pool: 2,161 pitcher careers (1,251 from 1990-2025 + 910 historical, 1901-2023), also matched on career-to-date at the same age. * Historical (Lahman) careers: rates era-adjusted to 2001-24 league levels; WAR is an OGILVIE proxy.
| Player | 162s | IP/yr | K% | BB% | HR/9 | ERA |
|---|---|---|---|---|---|---|
| OGILVIE CAREER PROJECTION | 2.8 | 95 | 21.3% | 9.6% | 1.28 | 4.09 |
| Vicente Romo ('68-'82, 5 WAR*) | 3.2 | 81 | 20.5%* | 9.7%* | 1.21* | 4.01* |
| Mel Queen ('66-'72, 4 WAR*) | 1.9 | 97 | 24.2%* | 9.0%* | 1.27* | 3.77* |
| Joey McLaughlin ('77-'84, 4 WAR*) | 2.2 | 75 | 21.7%* | 10.4%* | 1.24* | 3.85* |
| Brad Peacock ('21) | 2.8 | 93 | 24.7% | 10.1% | 1.27 | 4.11 |
| Junior Guerra ('21) | 2.5 | 85 | 21.2% | 10.9% | 1.17 | 4.06 |
| Randall Delgado ('18) | 2.7 | 78 | 20.1% | 8.8% | 1.11 | 4.10 |