Cal Quantrill
P Texas Rangers| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 29 | MLBCOL | 29 | 29 | 148 | 4.98 | 5.03 | 16.8% | 10.5% | 0.6 | |
| 2025 | 30 | MIX2 levels | 28 | 28 | 129 | 5.67 | 4.72 | 17.8% | 6.5% | 1.0 | K 16.6% · BB 6.8% · FIP 4.92 |
| 2026 | 31 | MIX2 levels | 35 | 18 | 124 | 3.12 | 3.73 | 18.8% | 5.6% | 2.5 | K 18.5% · BB 5.5% · FIP 3.69 |
| 2027PROJ | 32 | MLBTEX | 8 | 8 | 48 | 4.66 | 4.57 | 17.7% | 6.6% | 0.5 | |
| 2028PROJ | 33 | MLBTEX | 10 | 10 | 62 | 4.77 | 4.85 | 16.9% | 7.1% | 0.4 | |
| 2029PROJ | 34 | MLBTEX | 7 | 7 | 43 | 5.00 | 5.15 | 16.0% | 7.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) | |||||||||||||||||||
| 2016 | 21 | MIX MLE | 2 levels | 7 | 7 | 18 | 84 | 18 | 6 | 1 | 100% | 2.6 | 19.4% | 4.5% | 15.0% | 0.0% | 8.35 | 2.02 | — |
| 2016 | 21 | MIX RAW | 2 levels | 7 | 7 | 18 | 84 | 18 | 6 | 1 | 100% | 2.6 | 21.4% | 7.1% | 14.3% | 1.2% | 8.35 | 2.83 | — |
| 2017 | 22 | MIX MLE | 2 levels | 22 | 22 | 116 | 509 | 110 | 40 | 10 | 100% | 5.3 | 16.9% | 8.9% | 8.0% | 2.6% | 3.80 | 4.22 | — |
| 2017 | 22 | MIX RAW | 2 levels | 22 | 22 | 116 | 509 | 110 | 40 | 10 | 100% | 5.3 | 21.6% | 7.9% | 13.8% | 2.0% | 3.80 | 3.36 | — |
| 2018 | 23 | MIX MLE | 2 levels | 28 | 28 | 148 | 659 | 123 | 42 | 16 | 100% | 5.3 | 15.4% | 7.0% | 8.4% | 3.3% | 4.80 | 4.49 | — |
| 2018 | 23 | MIX RAW | 2 levels | 28 | 28 | 148 | 659 | 123 | 42 | 16 | 100% | 5.3 | 18.7% | 6.4% | 12.3% | 2.4% | 4.80 | 3.69 | — |
| 2019 | 24 | MIX MLE | 2 levels | 30 | 25 | 139 | 601 | 122 | 37 | 18 | 83% | 4.6 | 19.6% | 6.2% | 13.4% | 3.0% | 5.00 | 3.89 | +2.5 |
| 2019 | 24 | MIX RAW | 2 levels | 30 | 25 | 139 | 601 | 122 | 37 | 18 | 83% | 4.6 | 20.3% | 6.2% | 14.1% | 3.0% | 5.00 | 3.83 | +2.6 |
| 2020 | 25 | MLB MLE | Cleveland Indians | 18 | 3 | 32 | 135 | 31 | 7 | 4 | 17% | 1.8 | 23.0% | 5.2% | 17.8% | 3.0% | 2.25 | 3.45 | +0.4 |
| 2020 | 25 | MLB RAW | Cleveland Indians | 18 | 3 | 32 | 135 | 31 | 7 | 4 | 17% | 1.8 | 23.0% | 5.2% | 17.8% | 3.0% | 2.25 | 3.44 | +0.4 |
| 2021 | 26 | MLB MLE | Cleveland Indians | 40 | 22 | 150 | 616 | 121 | 47 | 16 | 55% | 3.7 | 19.6% | 7.6% | 12.0% | 2.6% | 2.89 | 3.84 | +2.8 |
| 2021 | 26 | MLB RAW | Cleveland Indians | 40 | 22 | 150 | 616 | 121 | 47 | 16 | 55% | 3.7 | 19.6% | 7.6% | 12.0% | 2.6% | 2.89 | 3.81 | +2.8 |
| 2022 | 27 | MLB MLE | Cleveland Guardians | 32 | 32 | 186 | 770 | 128 | 47 | 21 | 100% | 5.8 | 16.6% | 6.1% | 10.5% | 2.7% | 3.38 | 3.97 | +3.2 |
| 2022 | 27 | MLB RAW | Cleveland Guardians | 32 | 32 | 186 | 770 | 128 | 47 | 21 | 100% | 5.8 | 16.6% | 6.1% | 10.5% | 2.7% | 3.38 | 3.95 | +3.2 |
| 2023 | 28 | MIX MLE | 3 levels | 24 | 24 | 122 | 544 | 75 | 44 | 15 | 100% | 5.1 | 13.1% | 8.1% | 5.0% | 2.8% | 5.37 | 4.55 | +1.2 |
| 2023 | 28 | MIX RAW | 3 levels | 24 | 24 | 122 | 544 | 75 | 44 | 15 | 100% | 5.1 | 13.8% | 8.1% | 5.7% | 2.8% | 5.37 | 4.55 | +1.2 |
| 2024 | 29 | MLB MLE | Colorado Rockies | 29 | 29 | 148 | 656 | 110 | 69 | 23 | 100% | 5.1 | 16.8% | 10.5% | 6.3% | 3.1% | 4.98 | 4.72 | +1.2 |
| 2024 | 29 | MLB MLE | Colorado Rockies | 29 | 29 | 148 | 656 | 110 | 69 | 23 | 100% | 5.1 | 16.8% | 10.5% | 6.3% | 3.1% | 4.98 | 4.72 | +1.2 |
| 2024 | 29 | MLB RAW | Colorado Rockies | 29 | 29 | 148 | 656 | 110 | 69 | 23 | 100% | 5.1 | 16.8% | 10.5% | 6.3% | 3.5% | 4.98 | 5.03 | +0.6 |
| 2025 | 30 | MIX MLE | 2 levels | 28 | 28 | 129 | 555 | 99 | 36 | 23 | 100% | 4.6 | 16.6% | 6.8% | 9.7% | 4.3% | 5.67 | 4.92 | +0.7 |
| 2025 | 30 | MIX MLE | 2 levels | 28 | 28 | 129 | 555 | 99 | 36 | 23 | 100% | 4.6 | 16.6% | 6.8% | 9.7% | 4.3% | 5.67 | 4.92 | +0.7 |
| 2025 | 30 | MIX RAW | 2 levels | 28 | 28 | 129 | 555 | 99 | 36 | 23 | 100% | 4.6 | 17.8% | 6.5% | 11.4% | 4.1% | 5.67 | 4.72 | +1.0 |
| 2026 | 31 | MIX MLE | 2 levels | 35 | 18 | 124 | 499 | 94 | 28 | 14 | 51% | 3.5 | 18.5% | 5.5% | 12.9% | 2.6% | 3.12 | 3.69 | +2.5 |
| 2026 | 31 | MIX MLE | 2 levels | 35 | 18 | 124 | 499 | 94 | 28 | 14 | 51% | 3.5 | 18.5% | 5.5% | 12.9% | 2.6% | 3.12 | 3.69 | +2.5 |
| 2026 | 31 | MIX RAW | 2 levels | 35 | 18 | 124 | 499 | 94 | 28 | 14 | 51% | 3.5 | 18.8% | 5.6% | 13.2% | 2.8% | 3.12 | 3.73 | +2.5 |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 219 | 164 | 947 | 4020 | 703 | 290 | 125 | 75% | 4.3 | 17.5% | 7.2% | 10.3% | 3.1% | 4.17 | 4.25 | +12.8 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 32 | MLB | TEX | 8 | 8 | 48 | 203 | 36 | 13 | 6 | 100% | 6.0 | 17.7% | 6.6% | 11.1% | 3.2% | 4.66 | 4.57 | +0.5 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 33 | MLB MLE | TEX | 10 | 10 | 62 | 261 | 44 | 18 | 9 | 100% | 6.2 | 16.9% | 7.1% | 9.8% | 3.5% | 4.77 | 4.85 | +0.4 |
| 2029 | 34 | MLB MLE | TEX | 7 | 7 | 43 | 180 | 29 | 14 | 7 | 100% | 6.1 | 16.0% | 7.6% | 8.4% | 3.8% | 5.00 | 5.15 | +0.1 |
| 2028 | 33 | MLB CTX | TEX | 10 | 10 | 62 | 262 | 44 | 19 | 9 | 100% | 6.2 | 16.9% | 7.1% | 9.8% | 3.5% | 4.77 | 4.85 | +0.4 |
| 2029 | 34 | MLB CTX | TEX | 7 | 7 | 43 | 182 | 29 | 14 | 7 | 100% | 6.1 | 16.0% | 7.6% | 8.4% | 3.8% | 5.00 | 5.15 | +0.1 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 236 | 181 | 1051 | 4460 | 776 | 322 | 141 | 77% | 4.5 | 17.4% | 7.2% | 10.2% | 3.2% | 4.24 | 4.28 | +13.9 | |
| / 200 IP | — | RAW | 45 | 35 | 200 | 849 | 148 | 61 | 27 | 77% | 4.4 | 17.4% | 7.2% | 10.2% | 3.2% | 4.24 | 4.28 | +2.6 | |
| Career | — | MLE | 293 | 238 | 1312 | 5628 | 967 | 412 | 167 | 81% | 4.5 | 17.2% | 7.3% | 9.9% | 3.0% | 4.30 | 4.20 | +13.3 | |
| / 200 IP | — | MLE | 45 | 36 | 200 | 858 | 147 | 63 | 25 | 81% | 4.5 | 17.2% | 7.3% | 9.9% | 3.0% | 4.30 | 4.20 | +2.5 | |
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 AAARound Rock Express · 14 IPFIP 3.02 → 3.31 (+0.28)K% 23.2% → 20.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 23.21% | — | ×0.860 | 19.96% |
| BB% (unintentional) /BF | 7.14% | — | ×0.900 | 6.43% |
| HR / BF /BF | 1.79% | ÷1.000 | ×1.100 | 1.96% |
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 100).
Result: FIP 3.02 → 3.31, 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).
2025 AAARound Rock Express · 11 IPFIP 1.89 → 2.52 (+0.63)K% 33.3% → 28.7%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 33.33% | — | ×0.860 | 28.67% |
| BB% (unintentional) /BF | 2.38% | — | ×0.900 | 2.14% |
| HR / BF /BF | 2.38% | ÷0.913 | ×1.100 | 2.87% |
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 83).
Result: FIP 1.89 → 2.52, 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 AAAColumbus Clippers · 14 IPFIP 5.66 → 5.85 (+0.20)K% 15.2% → 13.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 15.15% | — | ×0.860 | 13.03% |
| BB% (unintentional) /BF | 10.61% | — | ×0.900 | 9.55% |
| HR / BF /BF | 4.55% | ÷1.037 | ×1.100 | 4.82% |
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 107).
Result: FIP 5.66 → 5.85, 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 AAAkron RubberDucks · 9 IPFIP 3.72 → 4.64 (+0.92)K% 20.6% → 16.7%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 20.59% | — | ×0.810 | 16.68% |
| BB% (unintentional) /BF | 5.88% | — | ×1.100 | 6.47% |
| HR / BF /BF | 2.94% | ÷0.909 | ×1.200 | 3.88% |
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 82).
Result: FIP 3.72 → 4.64, 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 AAAEl Paso Chihuahuas · 36 IPFIP 3.26 → 3.68 (+0.42)K% 20.9% → 18.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 20.89% | — | ×0.880 | 18.38% |
| BB% (unintentional) /BF | 6.96% | — | ×1.050 | 7.31% |
| HR / BF /BF | 1.90% | ÷0.950 | ×1.100 | 2.20% |
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 90).
Result: FIP 3.26 → 3.68, 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 AASan Antonio Missions · 117 IPFIP 3.63 → 4.60 (+0.98)K% 19.3% → 15.7%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 19.35% | — | ×0.810 | 15.67% |
| BB% (unintentional) /BF | 7.09% | — | ×1.100 | 7.80% |
| HR / BF /BF | 2.30% | ÷0.824 | ×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 65).
Result: FIP 3.63 → 4.60, 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 AAAEl Paso Chihuahuas · 31 IPFIP 3.81 → 4.08 (+0.27)K% 16.1% → 14.1%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 16.06% | — | ×0.880 | 14.13% |
| BB% (unintentional) /BF | 3.65% | — | ×1.050 | 3.83% |
| HR / BF /BF | 2.92% | ÷1.045 | ×1.100 | 3.07% |
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 109).
Result: FIP 3.81 → 4.08, 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 A+Lake Elsinore Storm · 74 IPFIP 2.90 → 3.82 (+0.92)K% 24.1% → 18.5%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 24.05% | — | ×0.770 | 18.52% |
| BB% (unintentional) /BF | 7.59% | — | ×1.150 | 8.73% |
| HR / BF /BF | 1.58% | ÷0.921 | ×1.250 | 2.15% |
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 84).
Result: FIP 2.90 → 3.82, 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 | 5.5 | 100 | 17.4% | 7.3% | 1.22 | 4.26 |
| Willie Blair ('90-'01, 1 WAR*) | 6.4 | 106 | 16.4%* | 7.2%* | 1.32* | 4.86* |
| Dan Schatzeder ('77-'91, 8 WAR*) | 6.6 | 94 | 18.8%* | 8.5%* | 1.28* | 4.25* |
| Carlos Villanueva ('16) | 5.0 | 91 | 20.4% | 7.6% | 1.25 | 4.31 |
| Lee Stange ('61-'70, 9 WAR*) | 6.1 | 135 | 17.8%* | 6.6%* | 1.36* | 4.14* |
| Dustin Hermanson ('06) | 6.4 | 128 | 15.9% | 8.4% | 1.12 | 4.21 |
| Omar Daal ('03) | 6.0 | 120 | 15.6% | 8.5% | 1.05 | 4.55 |