Joel Kuhnel
P San Francisco Giants| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 29 | MIX2 levels | 41 | 0 | 52 | 3.29 | 2.85 | 16.8% | 5.1% | 1.1 | K 15.2% · BB 5.7% · FIP 2.86 |
| 2025 | 30 | AAAScranton/Wilk… | 50 | 2 | 64 | 3.53 | 2.88 | 21.6% | 4.2% | — | K 18.6% · BB 3.8% · FIP 3.10 |
| 2026 | 31 | MIX2 levels | 58 | 0 | 59 | 3.66 | 4.51 | 16.4% | 8.2% | 0.0 | K 15.6% · BB 8.0% · FIP 4.66 |
| 2027PROJ | 32 | MLBSF | 66 | 0 | 69 | 4.50 | 4.44 | 17.0% | 6.1% | 0.1 | |
| 2028PROJ95% MLB | 33 | MLBSF | 57 | 0 | 60 | 4.63 | 4.72 | 16.2% | 6.6% | -0.1 | |
| 2029PROJ90% MLB | 34 | MLBSF | 50 | 0 | 52 | 4.86 | 5.02 | 15.2% | 7.1% | -0.3 |
Grades · Statcast · Arsenal · 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 industry-standard fWAR.
| 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 | ROK MLE | Billings Mustangs | 18 | 0 | 21 | 92 | 14 | 1 | 1 | 0% | 1.2 | 10.3% | 1.4% | 9.0% | 1.5% | 3.43 | 3.23 | — |
| 2016 | 21 | ROK RAW | Billings Mustangs | 18 | 0 | 21 | 92 | 14 | 1 | 1 | 0% | 1.2 | 15.2% | 1.1% | 14.1% | 1.1% | 3.43 | 2.53 | — |
| 2017 | 22 | A MLE | Dayton Dragons | 48 | 0 | 64 | 276 | 54 | 10 | 6 | 0% | 1.3 | 14.5% | 4.3% | 10.2% | 2.4% | 4.36 | 3.75 | — |
| 2017 | 22 | A RAW | Dayton Dragons | 48 | 0 | 64 | 276 | 54 | 10 | 6 | 0% | 1.3 | 19.6% | 3.6% | 15.9% | 2.2% | 4.36 | 3.10 | — |
| 2018 | 23 | A+ MLE | Daytona Tortugas | 44 | 0 | 53 | 225 | 56 | 9 | 2 | 0% | 1.2 | 19.2% | 4.6% | 14.6% | 1.1% | 3.04 | 2.64 | — |
| 2018 | 23 | A+ RAW | Daytona Tortugas | 44 | 0 | 53 | 225 | 56 | 9 | 2 | 0% | 1.2 | 24.9% | 4.0% | 20.9% | 0.9% | 3.04 | 1.99 | — |
| 2019 | 24 | MIX MLE | 3 levels | 52 | 0 | 63 | 257 | 59 | 18 | 7 | 0% | 1.2 | 19.5% | 6.5% | 13.0% | 3.4% | 2.56 | 4.13 | +0.3 |
| 2019 | 24 | MIX RAW | 3 levels | 52 | 0 | 63 | 257 | 59 | 18 | 7 | 0% | 1.2 | 23.0% | 7.0% | 16.0% | 2.7% | 2.56 | 3.53 | +0.8 |
| 2020 | 25 | MLB MLE | Cincinnati Reds | 3 | 0 | 3 | 13 | 3 | 0 | 2 | 0% | 1.0 | 23.1% | 0.0% | 23.1% | 15.4% | 6.00 | 9.60 | -0.2 |
| 2020 | 25 | MLB RAW | Cincinnati Reds | 3 | 0 | 3 | 13 | 3 | 0 | 2 | 0% | 1.0 | 23.1% | 0.0% | 23.1% | 15.4% | 6.00 | 9.77 | -0.2 |
| 2021 | 26 | MIX MLE | 2 levels | 8 | 1 | 8 | 31 | 11 | 1 | 1 | 12% | 1.0 | 35.5% | 3.2% | 32.3% | 3.2% | 1.12 | 2.28 | — |
| 2021 | 26 | MIX RAW | 2 levels | 8 | 1 | 8 | 31 | 11 | 1 | 1 | 12% | 1.0 | 35.5% | 3.2% | 32.3% | 3.2% | 1.12 | 2.35 | — |
| 2022 | 27 | MIX MLE | 2 levels | 63 | 0 | 68 | 297 | 63 | 14 | 9 | 0% | 1.1 | 22.0% | 5.1% | 16.9% | 2.9% | 5.80 | 3.49 | +0.9 |
| 2022 | 27 | MIX RAW | 2 levels | 63 | 0 | 68 | 297 | 63 | 14 | 9 | 0% | 1.1 | 21.2% | 4.7% | 16.5% | 3.0% | 5.80 | 3.58 | +0.8 |
| 2023 | 28 | MIX MLE | 2 levels | 47 | 0 | 57 | 258 | 34 | 20 | 6 | 0% | 1.2 | 11.5% | 7.1% | 4.4% | 2.7% | 6.04 | 4.51 | +0.0 |
| 2023 | 28 | MIX RAW | 2 levels | 47 | 0 | 57 | 258 | 34 | 20 | 6 | 0% | 1.2 | 13.2% | 7.8% | 5.4% | 2.3% | 6.04 | 4.34 | +0.1 |
| 2024 | 29 | MIX MLE | 2 levels | 41 | 0 | 52 | 214 | 36 | 11 | 2 | 0% | 1.3 | 15.2% | 5.7% | 9.6% | 0.6% | 3.29 | 2.86 | +1.1 |
| 2024 | 29 | MIX MLE | 2 levels | 41 | 0 | 52 | 214 | 36 | 11 | 2 | 0% | 1.3 | 15.2% | 5.7% | 9.6% | 0.6% | 3.29 | 2.86 | +1.1 |
| 2024 | 29 | MIX RAW | 2 levels | 41 | 0 | 52 | 214 | 36 | 11 | 2 | 0% | 1.3 | 16.8% | 5.1% | 11.7% | 0.9% | 3.29 | 2.85 | +1.1 |
| 2025 | 30 | AAA MLE | Scranton/Wilkes-Barre RailRiders | 50 | 2 | 64 | 259 | 56 | 11 | 5 | 4% | 1.3 | 18.6% | 3.8% | 14.8% | 2.0% | 3.53 | 3.10 | — |
| 2025 | 30 | AAA MLE | Scranton/Wilkes-Barre RailRiders | 50 | 2 | 64 | 259 | 56 | 11 | 5 | 4% | 1.3 | 18.6% | 3.8% | 14.8% | 2.0% | 3.53 | 3.10 | — |
| 2025 | 30 | AAA RAW | Scranton/Wilkes-Barre RailRiders | 50 | 2 | 64 | 259 | 56 | 11 | 5 | 4% | 1.3 | 21.6% | 4.2% | 17.4% | 1.9% | 3.53 | 2.88 | — |
| 2026 | 31 | MIX MLE | 2 levels | 58 | 0 | 59 | 256 | 42 | 21 | 8 | 0% | 1.0 | 15.6% | 8.0% | 7.6% | 3.4% | 3.66 | 4.66 | -0.1 |
| 2026 | 31 | MIX MLE | 2 levels | 58 | 0 | 59 | 256 | 42 | 21 | 8 | 0% | 1.0 | 15.6% | 8.0% | 7.6% | 3.4% | 3.66 | 4.66 | -0.1 |
| 2026 | 31 | MIX RAW | 2 levels | 58 | 0 | 59 | 256 | 42 | 21 | 8 | 0% | 1.0 | 16.4% | 8.2% | 8.2% | 3.1% | 3.66 | 4.51 | +0.0 |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 127 | 0 | 139 | 609 | 104 | 39 | 21 | 0% | 1.1 | 17.1% | 6.4% | 10.7% | 3.4% | 5.39 | 4.41 | +0.2 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 32 | MLB | SF | 66 | 0 | 69 | 291 | 50 | 18 | 9 | 0% | 1.0 | 17.0% | 6.1% | 10.9% | 2.9% | 4.50 | 4.44 | +0.1 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 33 | MLB MLE | SF | 60 | 0 | 63 | 267 | 43 | 18 | 9 | 0% | 1.1 | 16.2% | 6.6% | 9.6% | 3.2% | 4.63 | 4.72 | -0.1 |
| 2029 | 34 | MLB MLE | SF | 55 | 0 | 58 | 243 | 37 | 17 | 9 | 0% | 1.0 | 15.2% | 7.1% | 8.2% | 3.5% | 4.86 | 5.02 | -0.3 |
| 2028 | 33 | MLB CTX | SF | 57 | 0 | 60 | 253 | 41 | 17 | 8 | 0% | 1.1 | 16.2% | 6.6% | 9.6% | 3.2% | 4.63 | 4.72 | -0.1 |
| 2029 | 34 | MLB CTX | SF | 50 | 0 | 52 | 220 | 33 | 16 | 8 | 0% | 1.0 | 15.2% | 7.1% | 8.2% | 3.5% | 4.86 | 5.02 | -0.3 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 234 | 0 | 251 | 1083 | 179 | 71 | 37 | 0% | 1.1 | 16.5% | 6.6% | 9.9% | 3.4% | 5.10 | 4.41 | +0.4 | |
| / 200 IP | — | RAW | 186 | 0 | 200 | 863 | 143 | 57 | 29 | 0% | 1.1 | 16.5% | 6.6% | 9.9% | 3.4% | 5.10 | 4.41 | +0.3 | |
| Career | — | MLE | 432 | 3 | 512 | 2178 | 372 | 117 | 53 | 1% | 1.2 | 17.1% | 5.4% | 11.7% | 2.4% | 4.01 | 3.67 | -0.2 | |
| / 200 IP | — | MLE | 169 | 1 | 200 | 850 | 145 | 46 | 21 | 1% | 1.2 | 17.1% | 5.4% | 11.7% | 2.4% | 4.01 | 3.67 | -0.2 | |
Career Comps
Completed MLB careers (no pro action in 2+ yrs) whose totals — actual + projected — most resemble this player's. Pool: 1,474 reliever careers (754 from 1990-2025 + 720 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 | 1.6 | 66 | 16.6% | 6.7% | 1.28 | 4.96 |
| Jose Cabrera ('02) | 1.4 | 68 | 16.2% | 7.9% | 1.39 | 4.95 |
| Carlos Almánzar ('05) | 1.2 | 60 | 16.3% | 7.9% | 1.32 | 4.82 |
| Steve Kealey ('68-'73, -1 WAR*) | 1.1 | 54 | 18.5%* | 7.2%* | 1.32* | 5.26* |
| Brandon Maurer ('18) | 1.9 | 62 | 19.9% | 7.8% | 1.14 | 5.36 |
| Chuck Hartenstein ('66-'77, -1 WAR*) | 1.5 | 59 | 13.7%* | 7.2%* | 1.50* | 5.28* |
| Bobby Tiefenauer ('52-'68, 0 WAR*) | 1.6 | 63 | 20.4%* | 6.7%* | 1.10* | 4.53* |