Chris Heston

P Richmond Flying Squirrels
Age 39 RHP 6'3" / 195 lbs AA
Overview
AARPLAST SEASON 2018
YearAgeLvl / TeamGGSIPERAFIPK%BB%WARMLE rates
201628MIX4 levels2217974.624.0914.8%9.2%1.5K 13.2% · BB 9.2% · FIP 4.41
201729MIX3 levels1914737.315.6715.1%9.3%-0.2K 13.6% · BB 10.0% · FIP 5.88
201830MIX3 levels93192.792.7423.2%7.3%—K 23.2% · BB 7.3% · FIP 2.74
201931No MLB games played
202032No MLB games played
202133No MLB games played
202234No MLB games played
202335No MLB games played
202436No MLB games played
202537No MLB games played
202638No MLB games played
Last 3 seasons WAR 1.3
Contract
No contract data on file.
Skills · percentileStatcast 2015
xwOBA vs42
K%27
FB Velo10
ERA—
FIP—
K%—
BB%—
K-BB%—
Proj IP—
Statcast · Contract
Statcast Percentiles
FB Velo
p1090.2
Whiff%
p3122.6%
K%
p2718.9%
xwOBA vs
p420.321

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

Real MLB stats plus park-adjusted projections — this season (so far / rest / full), then future seasons and career totals.
basis chips: RAW = as recorded · CTX = with park/league context · A+C = actual + context combined · MLE = level/park-neutral
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.

YearAge LvlTeam GGSIPBF KBBHR GS%IP/G K%BB%K-BB%HR% ERAFIP 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)
201426MLB MLESan Francisco Giants3152443033%1.816.7%12.5%4.2%0.0%5.063.28+0.1
201426MLB RAWSan Francisco Giants3152443033%1.816.7%12.5%4.2%0.0%5.063.29+0.1
201527MLB MLESan Francisco Giants31311787461416116100%5.718.9%8.2%10.7%2.3%3.953.81+3.4
201527MLB RAWSan Francisco Giants31311787461416116100%5.718.9%8.2%10.7%2.1%3.953.71+3.6
201628MIX MLE4 levels2217974336440877%4.413.2%9.2%4.0%2.3%4.624.41+1.1
201628MIX RAW4 levels2217974336440877%4.414.8%9.2%5.5%1.8%4.624.09+1.5
201729MIX MLE3 levels19147334452321574%3.813.6%10.0%3.7%4.9%7.315.88-0.4
201729MIX RAW3 levels19147334452321574%3.815.1%9.3%5.8%4.4%7.315.67-0.2
201830MIX MLE3 levels931982196133%2.123.2%7.3%15.9%1.2%2.792.74—
201830MIX RAW3 levels931982196133%2.123.2%7.3%15.9%1.2%2.792.74—
▸ Career totals (raw MLB only — as recorded)
MLB Career—4133194837151731980%4.718.0%8.7%9.3%2.3%4.553.95+3.4
▸ Career totals — MLB only (actual + projected)
Career— RAW4133194837151731980%4.718.0%8.7%9.3%2.3%4.553.93+3.4
/ 200 IP— RAW4234200863156752080%4.718.0%8.7%9.3%2.3%4.553.93+3.5
Career— MLE846637216292681444579%4.416.4%8.8%7.6%2.8%4.744.35+3.4
/ 200 IP— MLE4535200875144772479%4.416.4%8.8%7.6%2.8%4.744.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF17.95%—×0.81014.54%
BB% (unintentional) /BF7.69%—×1.1008.46%
HR / BF /BF2.56%÷0.869×1.2003.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF25.00%—×0.68017.00%
BB% (unintentional) /BF3.57%—×1.2504.46%
HR / BF /BF0.00%÷1.000×1.4000.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF15.49%—×0.88013.63%
BB% (unintentional) /BF9.51%—×1.0509.98%
HR / BF /BF4.23%÷0.956×1.1004.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF22.73%—×0.68015.45%
BB% (unintentional) /BF0.00%—×1.2500.00%
HR / BF /BF0.00%÷1.000×1.4000.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF14.97%—×0.88013.18%
BB% (unintentional) /BF8.76%—×1.0509.19%
HR / BF /BF2.26%÷1.082×1.1002.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF23.33%—×0.68015.87%
BB% (unintentional) /BF6.67%—×1.2508.33%
HR / BF /BF0.00%÷1.000×1.4000.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF5.00%—×0.7703.85%
BB% (unintentional) /BF15.00%—×1.15017.25%
HR / BF /BF0.00%÷1.045×1.2500.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).