Chris Heston
P Richmond Flying Squirrels| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2016 | 28 | MIX4 levels | 22 | 17 | 97 | 4.62 | 4.09 | 14.8% | 9.2% | 1.5 | K 13.2% · BB 9.2% · FIP 4.41 | |
| 2017 | 29 | MIX3 levels | 19 | 14 | 73 | 7.31 | 5.67 | 15.1% | 9.3% | -0.2 | K 13.6% · BB 10.0% · FIP 5.88 | |
| 2018 | 30 | MIX3 levels | 9 | 3 | 19 | 2.79 | 2.74 | 23.2% | 7.3% | — | K 23.2% · BB 7.3% · FIP 2.74 | |
| 2019 | 31 | No MLB games played | ||||||||||
| 2020 | 32 | No MLB games played | ||||||||||
| 2021 | 33 | No MLB games played | ||||||||||
| 2022 | 34 | No MLB games played | ||||||||||
| 2023 | 35 | No MLB games played | ||||||||||
| 2024 | 36 | No MLB games played | ||||||||||
| 2025 | 37 | No MLB games played | ||||||||||
| 2026 | 38 | No MLB games played | ||||||||||
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) | |||||||||||||||||||
| 2014 | 26 | MLB MLE | San Francisco Giants | 3 | 1 | 5 | 24 | 4 | 3 | 0 | 33% | 1.8 | 16.7% | 12.5% | 4.2% | 0.0% | 5.06 | 3.28 | +0.1 |
| 2014 | 26 | MLB RAW | San Francisco Giants | 3 | 1 | 5 | 24 | 4 | 3 | 0 | 33% | 1.8 | 16.7% | 12.5% | 4.2% | 0.0% | 5.06 | 3.29 | +0.1 |
| 2015 | 27 | MLB MLE | San Francisco Giants | 31 | 31 | 178 | 746 | 141 | 61 | 16 | 100% | 5.7 | 18.9% | 8.2% | 10.7% | 2.3% | 3.95 | 3.81 | +3.4 |
| 2015 | 27 | MLB RAW | San Francisco Giants | 31 | 31 | 178 | 746 | 141 | 61 | 16 | 100% | 5.7 | 18.9% | 8.2% | 10.7% | 2.1% | 3.95 | 3.71 | +3.6 |
| 2016 | 28 | MIX MLE | 4 levels | 22 | 17 | 97 | 433 | 64 | 40 | 8 | 77% | 4.4 | 13.2% | 9.2% | 4.0% | 2.3% | 4.62 | 4.41 | +1.1 |
| 2016 | 28 | MIX RAW | 4 levels | 22 | 17 | 97 | 433 | 64 | 40 | 8 | 77% | 4.4 | 14.8% | 9.2% | 5.5% | 1.8% | 4.62 | 4.09 | +1.5 |
| 2017 | 29 | MIX MLE | 3 levels | 19 | 14 | 73 | 344 | 52 | 32 | 15 | 74% | 3.8 | 13.6% | 10.0% | 3.7% | 4.9% | 7.31 | 5.88 | -0.4 |
| 2017 | 29 | MIX RAW | 3 levels | 19 | 14 | 73 | 344 | 52 | 32 | 15 | 74% | 3.8 | 15.1% | 9.3% | 5.8% | 4.4% | 7.31 | 5.67 | -0.2 |
| 2018 | 30 | MIX MLE | 3 levels | 9 | 3 | 19 | 82 | 19 | 6 | 1 | 33% | 2.1 | 23.2% | 7.3% | 15.9% | 1.2% | 2.79 | 2.74 | — |
| 2018 | 30 | MIX RAW | 3 levels | 9 | 3 | 19 | 82 | 19 | 6 | 1 | 33% | 2.1 | 23.2% | 7.3% | 15.9% | 1.2% | 2.79 | 2.74 | — |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 41 | 33 | 194 | 837 | 151 | 73 | 19 | 80% | 4.7 | 18.0% | 8.7% | 9.3% | 2.3% | 4.55 | 3.95 | +3.4 | ||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 41 | 33 | 194 | 837 | 151 | 73 | 19 | 80% | 4.7 | 18.0% | 8.7% | 9.3% | 2.3% | 4.55 | 3.93 | +3.4 | |
| / 200 IP | — | RAW | 42 | 34 | 200 | 863 | 156 | 75 | 20 | 80% | 4.7 | 18.0% | 8.7% | 9.3% | 2.3% | 4.55 | 3.93 | +3.5 | |
| Career | — | MLE | 84 | 66 | 372 | 1629 | 268 | 144 | 45 | 79% | 4.4 | 16.4% | 8.8% | 7.6% | 2.8% | 4.74 | 4.35 | +3.4 | |
| / 200 IP | — | MLE | 45 | 35 | 200 | 875 | 144 | 77 | 24 | 79% | 4.4 | 16.4% | 8.8% | 7.6% | 2.8% | 4.74 | 4.35 | +3.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.
2018 AARichmond Flying Squirrels · 9 IPFIP 3.97 → 4.89 (+0.92)K% 17.9% → 14.5%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 17.95% | — | ×0.810 | 14.54% |
| BB% (unintentional) /BF | 7.69% | — | ×1.100 | 8.46% |
| HR / BF /BF | 2.56% | ÷0.869 | ×1.200 | 3.54% |
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 74).
Result: FIP 3.97 → 4.89, 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 ROKAZL Giants Orange · 7 IPFIP 1.44 → 2.23 (+0.79)K% 25.0% → 17.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 25.00% | — | ×0.680 | 17.00% |
| BB% (unintentional) /BF | 3.57% | — | ×1.250 | 4.46% |
| HR / BF /BF | 0.00% | ÷1.000 | ×1.400 | 0.00% |
Factors used: pitcher ROK level factors — K ×0.68, BB ×1.25, HR ×1.40. 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 1.44 → 2.23, 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 AAARochester Red Wings · 62 IPFIP 5.32 → 5.88 (+0.57)K% 15.5% → 13.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 15.49% | — | ×0.880 | 13.63% |
| BB% (unintentional) /BF | 9.51% | — | ×1.050 | 9.98% |
| HR / BF /BF | 4.23% | ÷0.956 | ×1.100 | 4.86% |
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 91).
Result: FIP 5.32 → 5.88, 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 ROKGCL Twins · 5 IPFIP 1.18 → 1.79 (+0.61)K% 22.7% → 15.5%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 22.73% | — | ×0.680 | 15.45% |
| BB% (unintentional) /BF | 0.00% | — | ×1.250 | 0.00% |
| HR / BF /BF | 0.00% | ÷1.000 | ×1.400 | 0.00% |
Factors used: pitcher ROK level factors — K ×0.68, BB ×1.25, HR ×1.40. 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 1.18 → 1.79, 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 AAASacramento River Cats · 81 IPFIP 4.19 → 4.41 (+0.23)K% 15.0% → 13.2%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 14.97% | — | ×0.880 | 13.18% |
| BB% (unintentional) /BF | 8.76% | — | ×1.050 | 9.19% |
| HR / BF /BF | 2.26% | ÷1.082 | ×1.100 | 2.30% |
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 116).
Result: FIP 4.19 → 4.41, 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 ROKAZL Giants · 7 IPFIP 1.97 → 2.82 (+0.84)K% 23.3% → 15.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 23.33% | — | ×0.680 | 15.87% |
| BB% (unintentional) /BF | 6.67% | — | ×1.250 | 8.33% |
| HR / BF /BF | 0.00% | ÷1.000 | ×1.400 | 0.00% |
Factors used: pitcher ROK level factors — K ×0.68, BB ×1.25, HR ×1.40. 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 1.97 → 2.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).
2016 A+San Jose Giants · 4 IPFIP 4.58 → 4.96 (+0.38)K% 5.0% → 3.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 5.00% | — | ×0.770 | 3.85% |
| BB% (unintentional) /BF | 15.00% | — | ×1.150 | 17.25% |
| HR / BF /BF | 0.00% | ÷1.045 | ×1.250 | 0.00% |
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 109).
Result: FIP 4.58 → 4.96, 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).