Cody Bradford

P Texas Rangers
Age 29 LHP 6'4" / 197 lbs MLB peak 0.2 · 2027
Overview
MLBSP40-MAN
YearAgeLvl / TeamGGSIPERAFIPK%BB%WARMLE rates
202325MIX2 levels34221304.353.6621.5%5.2%2.7K 19.8% · BB 4.9% · FIP 3.74
202426MIX3 levels1715823.293.3123.2%4.0%2.1K 22.7% · BB 4.2% · FIP 3.37
202628MIX3 levels1513563.864.2415.8%5.0%0.8K 11.4% · BB 5.2% · FIP 4.38
2027PROJ29MLBTEX55314.304.6712.9%4.3%0.3
2028PROJ95% MLB30MLBTEX55324.644.8712.2%4.6%0.2
2029PROJ95% MLB31MLBTEX44254.925.1111.4%5.0%0.1
Last 3 seasons WAR 5.6  ·  Next 3 projected WAR 0.5Projected rows: MLB playing time only, park and league context applied.
Contract
No contract data on file.
Skills · percentileStatcast 2026
xwOBA vs21
FB Velo10
K%10
Form5.60 ERA (proj 4.30) · K 11.4% (proj 12.9%) · BB 5.1% (proj 4.3%) · last 60d · 18 IP through Oct 27
CompsKwang Hyun Kim (age 32) · Roy Merritt (age 30) · Andrew Albers (age 29)
2027 FULL-SEASON PROJECTIONrates below = full-season projection
showingPROJ
wRC+ AGAINSTvL 108116vR 124
ERA4.30
FIP4.67
K%12.9%
BB%4.3%
K-BB%8.5%
Proj IP31
Value2027 · WAR
Runs saved vs league avg · 31 IP
K: -2.0 runs (Runs saved by strikeouts vs lg-avg K%)-2KBB: +1.4 runs (Runs saved by walk suppression vs lg-avg BB%)+1BBCONTACT: -1.1 runs (Runs saved on contact quality (HR suppression) vs lg)-1CONTACTSTAM: +1.3 runs (Replacement credit for innings volume)+1STAMTotal WAR: -0.04 (31 IP)-0.0WAR
0.30.20.1272829
Grades · Statcast · Contract
Scouting Grades
STUF4545
CTRL7070
CMD6060
K†3030
Statcast Percentiles
FB Velo
p1088.6
Whiff%
p1018.1%
K%
p1011.4%
xwOBA vs
p210.346

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)
▸ Model inputs — neutral MLE (past 3 seasons + 2027 so far)
202123MIX MLE2 levels2020964081282110100%4.824.6%5.9%18.7%3.4%4.113.63—
202123MIX RAW2 levels2020964081282110100%4.831.4%5.1%26.2%2.5%4.112.45—
202224AA MLEFrisco RoughRiders26261195031243318100%4.620.0%7.2%12.8%4.7%5.014.91—
202224AA RAWFrisco RoughRiders26261195031243318100%4.624.7%6.6%18.1%3.6%5.013.82—
202325MIX MLE2 levels3422130539116281765%3.819.8%4.9%14.9%3.1%4.353.74+2.6
202325MIX RAW2 levels3422130539116281765%3.821.5%5.2%16.3%3.2%4.353.66+2.7
202426MIX MLE3 levels17158232776131088%4.822.7%4.2%18.5%3.0%3.293.37+2.0
202426MIX MLE3 levels17158232776131088%4.822.7%4.2%18.5%3.0%3.293.37+2.0
202426MIX RAW3 levels17158232776131088%4.823.2%4.0%19.3%3.1%3.293.31+2.1
202628MIX MLE3 levels1513562413812887%3.711.4%5.2%6.2%2.9%3.864.38+0.7
202628MIX MLE3 levels1513562413812887%3.711.4%5.2%6.2%2.9%3.864.38+0.7
202628MIX RAW3 levels1513562413812887%3.715.8%5.0%10.8%3.3%3.864.24+0.8
▸ Career totals (raw MLB only — as recorded)
MLB Career—4429176735143352766%4.019.5%4.8%14.7%3.7%4.294.06+2.8
▸ 2027 season — projected remainder (no 2027 stats recorded)
202729MLBTEX55311311764100%6.212.9%4.3%8.5%3.1%4.304.67+0.3
▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%)
202830MLB MLETEX66331401765100%5.512.2%4.6%7.5%3.3%4.644.87+0.2
202931MLB MLETEX44261111364100%6.611.4%5.0%6.4%3.6%4.925.11+0.1
202830MLB CTXTEX55321351665100%6.412.2%4.6%7.5%3.3%4.644.87+0.2
202931MLB CTXTEX44251061254100%6.211.4%5.0%6.4%3.6%4.925.11+0.1
▸ Career totals — MLB only (actual + projected)
Career— RAW5338233974171463572%4.417.6%4.8%12.8%3.6%4.404.20+3.3
/ 200 IP— RAW4633200836147393072%4.417.6%4.8%12.8%3.6%4.404.20+2.8
Career— MLE1129648320184091137186%4.320.3%5.6%14.7%3.5%4.234.03+3.1
/ 200 IP— MLE4640200835169472986%4.320.3%5.6%14.7%3.5%4.234.03+2.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.

2026 AAARound Rock Express · 6 IPFIP 5.21 → 6.01 (+0.80)K% 29.2% → 25.1%
ComponentRawPark ÷Level factor ×= MLE
K% /BF29.17%—×0.86025.08%
BB% (unintentional) /BF0.00%—×0.9000.00%
HR / BF /BF8.33%÷1.000×1.1009.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 100).

Result: FIP 5.21 → 6.01, 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).

2026 AAFrisco RoughRiders · 6 IPFIP 0.99 → 1.70 (+0.71)K% 37.5% → 30.4%
ComponentRawPark ÷Level factor ×= MLE
K% /BF37.50%—×0.81030.38%
BB% (unintentional) /BF8.33%—×1.1009.17%
HR / BF /BF0.00%÷1.000×1.2000.00%

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 100).

Result: FIP 0.99 → 1.70, 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 AAARound Rock Express · 74 IPFIP 3.04 → 3.30 (+0.25)K% 21.3% → 18.3%
ComponentRawPark ÷Level factor ×= MLE
K% /BF21.31%—×0.86018.33%
BB% (unintentional) /BF5.25%—×0.9004.72%
HR / BF /BF1.97%÷1.035×1.1002.09%

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 3.04 → 3.30, 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 AAFrisco RoughRiders · 119 IPFIP 3.81 → 4.91 (+1.09)K% 24.7% → 20.0%
ComponentRawPark ÷Level factor ×= MLE
K% /BF24.65%—×0.81019.97%
BB% (unintentional) /BF6.56%—×1.1007.22%
HR / BF /BF3.58%÷0.915×1.2004.70%

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 83).

Result: FIP 3.81 → 4.91, 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 A+Hickory Crawdads · 62 IPFIP 3.00 → 4.56 (+1.56)K% 33.2% → 25.6%
ComponentRawPark ÷Level factor ×= MLE
K% /BF33.21%—×0.77025.57%
BB% (unintentional) /BF6.49%—×1.1507.46%
HR / BF /BF3.44%÷0.881×1.2504.87%

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 76).

Result: FIP 3.00 → 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).

2021 AAFrisco RoughRiders · 35 IPFIP 1.45 → 1.97 (+0.51)K% 28.1% → 22.7%
ComponentRawPark ÷Level factor ×= MLE
K% /BF28.08%—×0.81022.75%
BB% (unintentional) /BF2.74%—×1.1003.01%
HR / BF /BF0.68%÷1.114×1.2000.74%

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 123).

Result: FIP 1.45 → 1.97, 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.

Player162sIP/yrK%BB%HR/9ERA
OGILVIE CAREER PROJECTION1.34416.9%4.7%1.384.40
Austin Pruitt ('24)1.66316.6%5.6%1.314.54
Jim Willoughby ('71-'78, 4 WAR*)2.87916.0%*6.2%*1.42*4.13*
Edward Mujica ('17)2.86919.1%3.9%1.303.92
Casey Fien ('17)1.45821.0%5.1%1.464.42
Tom Hausman ('75-'82, 1 WAR*)2.27414.3%*6.5%*1.22*4.45*
Donn Pall ('88-'98, 3 WAR*)2.56317.1%*6.2%*1.20*3.86*