Joel Kuhnel

P San Francisco Giants
Age 32 RHP 6'5" / 290 lbs MLB
Overview
MLBRP40-MAN
YearAgeLvl / TeamGGSIPERAFIPK%BB%WARMLE rates
202429MIX2 levels410523.292.8516.8%5.1%1.1K 15.2% · BB 5.7% · FIP 2.86
202530AAAScranton/Wilk…502643.532.8821.6%4.2%—K 18.6% · BB 3.8% · FIP 3.10
202631MIX2 levels580593.664.5116.4%8.2%0.0K 15.6% · BB 8.0% · FIP 4.66
2027PROJ32MLBSF660694.504.4417.0%6.1%0.1
2028PROJ95% MLB33MLBSF570604.634.7216.2%6.6%-0.1
2029PROJ90% MLB34MLBSF500524.865.0215.2%7.1%-0.3
Last 3 seasons WAR 1.1  ·  Next 3 projected WAR -0.3Projected rows: MLB playing time only, park and league context applied.
Contract
No contract data on file.
Skills · percentileStatcast 2026
FB Velo61
Whiff%32
K%10
xwOBA vs10
CompsJuan Sandoval (age 34) · Hector Navarro (age 35) · Angel Castro (age 32)
2027 FULL-SEASON PROJECTIONrates below = full-season projection
showingPROJ
wRC+ AGAINSTvL 125117vR 109
ERA4.50
FIP4.44
K%17.0%
BB%6.1%
K-BB%10.9%
Proj IP69
Value2027 · WAR
Runs saved vs league avg · 69 IP
K: -2.1 runs (Runs saved by strikeouts vs lg-avg K%)-2KBB: +1.5 runs (Runs saved by walk suppression vs lg-avg BB%)+1BBCONTACT: -1.4 runs (Runs saved on contact quality (HR suppression) vs lg)-1CONTACTSTAM: +4.3 runs (Replacement credit for innings volume)+4STAMTotal WAR: +0.24 (69 IP)+0.2WAR
0.1-0.1-0.3272829
Grades · Statcast · Arsenal · Contract
Scouting Grades
STUF4545
CTRL7070
CMD5555
K†4040
Statcast Percentiles
FB Velo
p6195.3
Whiff%
p3222.8%
K%
p1013.9%
xwOBA vs
p100.362
FB+1.4 (59%)
CT (26%)
CH (6%)
SI (52%)
SL (6%)
CU (4%)

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 industry-standard fWAR.

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)
201621ROK MLEBillings Mustangs180219214110%1.210.3%1.4%9.0%1.5%3.433.23—
201621ROK RAWBillings Mustangs180219214110%1.215.2%1.1%14.1%1.1%3.432.53—
201722A MLEDayton Dragons48064276541060%1.314.5%4.3%10.2%2.4%4.363.75—
201722A RAWDayton Dragons48064276541060%1.319.6%3.6%15.9%2.2%4.363.10—
201823A+ MLEDaytona Tortugas4405322556920%1.219.2%4.6%14.6%1.1%3.042.64—
201823A+ RAWDaytona Tortugas4405322556920%1.224.9%4.0%20.9%0.9%3.041.99—
201924MIX MLE3 levels52063257591870%1.219.5%6.5%13.0%3.4%2.564.13+0.3
201924MIX RAW3 levels52063257591870%1.223.0%7.0%16.0%2.7%2.563.53+0.8
202025MLB MLECincinnati Reds303133020%1.023.1%0.0%23.1%15.4%6.009.60-0.2
202025MLB RAWCincinnati Reds303133020%1.023.1%0.0%23.1%15.4%6.009.77-0.2
202126MIX MLE2 levels81831111112%1.035.5%3.2%32.3%3.2%1.122.28—
202126MIX RAW2 levels81831111112%1.035.5%3.2%32.3%3.2%1.122.35—
202227MIX MLE2 levels63068297631490%1.122.0%5.1%16.9%2.9%5.803.49+0.9
202227MIX RAW2 levels63068297631490%1.121.2%4.7%16.5%3.0%5.803.58+0.8
202328MIX MLE2 levels47057258342060%1.211.5%7.1%4.4%2.7%6.044.51+0.0
202328MIX RAW2 levels47057258342060%1.213.2%7.8%5.4%2.3%6.044.34+0.1
202429MIX MLE2 levels41052214361120%1.315.2%5.7%9.6%0.6%3.292.86+1.1
202429MIX MLE2 levels41052214361120%1.315.2%5.7%9.6%0.6%3.292.86+1.1
202429MIX RAW2 levels41052214361120%1.316.8%5.1%11.7%0.9%3.292.85+1.1
202530AAA MLEScranton/Wilkes-Barre RailRiders50264259561154%1.318.6%3.8%14.8%2.0%3.533.10—
202530AAA MLEScranton/Wilkes-Barre RailRiders50264259561154%1.318.6%3.8%14.8%2.0%3.533.10—
202530AAA RAWScranton/Wilkes-Barre RailRiders50264259561154%1.321.6%4.2%17.4%1.9%3.532.88—
202631MIX MLE2 levels58059256422180%1.015.6%8.0%7.6%3.4%3.664.66-0.1
202631MIX MLE2 levels58059256422180%1.015.6%8.0%7.6%3.4%3.664.66-0.1
202631MIX RAW2 levels58059256422180%1.016.4%8.2%8.2%3.1%3.664.51+0.0
▸ Career totals (raw MLB only — as recorded)
MLB Career—127013960910439210%1.117.1%6.4%10.7%3.4%5.394.41+0.2
▸ 2027 season — projected remainder (no 2027 stats recorded)
202732MLBSF66069291501890%1.017.0%6.1%10.9%2.9%4.504.44+0.1
▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%)
202833MLB MLESF60063267431890%1.116.2%6.6%9.6%3.2%4.634.72-0.1
202934MLB MLESF55058243371790%1.015.2%7.1%8.2%3.5%4.865.02-0.3
202833MLB CTXSF57060253411780%1.116.2%6.6%9.6%3.2%4.634.72-0.1
202934MLB CTXSF50052220331680%1.015.2%7.1%8.2%3.5%4.865.02-0.3
▸ Career totals — MLB only (actual + projected)
Career— RAW2340251108317971370%1.116.5%6.6%9.9%3.4%5.104.41+0.4
/ 200 IP— RAW186020086314357290%1.116.5%6.6%9.9%3.4%5.104.41+0.3
Career— MLE43235122178372117531%1.217.1%5.4%11.7%2.4%4.013.67-0.2
/ 200 IP— MLE169120085014546211%1.217.1%5.4%11.7%2.4%4.013.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.

Player162sIP/yrK%BB%HR/9ERA
OGILVIE CAREER PROJECTION1.66616.6%6.7%1.284.96
Jose Cabrera ('02)1.46816.2%7.9%1.394.95
Carlos Almánzar ('05)1.26016.3%7.9%1.324.82
Steve Kealey ('68-'73, -1 WAR*)1.15418.5%*7.2%*1.32*5.26*
Brandon Maurer ('18)1.96219.9%7.8%1.145.36
Chuck Hartenstein ('66-'77, -1 WAR*)1.55913.7%*7.2%*1.50*5.28*
Bobby Tiefenauer ('52-'68, 0 WAR*)1.66320.4%*6.7%*1.10*4.53*