Every player
New here?

How to read this page

▶

A player page shows one box score, because a hitter and a pitcher share almost no column — which half you get follows the one he appears in. Every rate is built from summed counts, so a batting average is hits over at bats across whatever window you picked rather than an average of nightly averages. Pitchers rank against starters or relievers, which is the split the sport itself draws. A dash means no number for that cell, or a zero in a roster column that counts.

SF

Joel Kuhnel

Joel Kuhnel ranks 200th of 224 relief pitchers in strike rate, at 60.8%.

94th beats 94% of the Relief Pitchers; 1 is the best of however many the row says. Higher is always better, whichever way the stat runs. Red to green by where the placing sits. A stat with no better end is left unpainted.

all 4 shown▶
Playing TimeDefensevs Relief Pitchers▶
Games Pitched45
Games Started0
Innings Pitched42.241st169/287
Batters Faced20244th161/287
Pitches Thrown74840th172/287
ResultsDefensevs Relief Pitchers▶
Wins117th216/287
Losses343rd139/287
Earned Runs2248th144/287
Earned Run Average4.6432nd169/248
Runs Allowed2739th170/287
Hits Allowed4841st168/287
Hits per 910.120th199/248
Walks and Hits per Inning1.5524th189/248
Home Runs Allowed732nd179/287
Home Runs per 91.522nd193/248
Strikeouts2814th246/287
Strikeout Rate13.9%1st225/228
Strikeouts per 95.92nd242/248
CommandDefensevs Relief Pitchers▶
Walks Allowed1860th110/287
Walk Rate8.9%55th103/228
Strikeout to Walk Ratio1.566th215/228
Walks per 93.851st121/248
Intentional Walks143rd123/287
Hit Batters426th195/287
Wild Pitches164th65/287
Balks057th1/287
Strike Rate60.8%11th200/224
ReliefDefensevs Relief Pitchers▶
Saves888th34/287
Save Opportunities9
Blown Saves170th54/287
Holds643rd158/287
Games Finished18
Inherited Runners19
Inherited Runners Scored2
Inherited Runners Scored Rate10.5%96th11/237
45 games
DateOppIPWLSVHHRKBBERAWHIP
SFSep 27, 2026LADLAD100000110.001.00
SFSep 25, 2026LADLAD100000100.000.00
SFSep 23, 2026MINMIN00000011——
SFSep 19, 2026@LADLAD0.2000401013.506.00
SFSep 16, 2026@STLSTL100100020.002.00
SFSep 14, 2026@STLSTL1.200000100.000.00
SFSep 12, 2026SDSD100011019.002.00
SFSep 8, 2026STLSTL1.100120006.751.50
SFSep 6, 2026@NYMNYM100010000.001.00
SFSep 5, 2026@NYMNYM0.100010110.006.00
MILJuly 2, 2026CINCIN100030009.003.00
MILJune 28, 2026CHCCHC1010101218.003.00
MILJune 27, 2026CHCCHC100011109.001.00
MILJune 24, 2026@CINCIN1.100110020.002.25
MILJune 22, 2026@CINCIN100110000.001.00
MILJune 18, 2026CLECLE100011019.002.00
MILJune 16, 2026CLECLE0.100010000.003.00
MILJune 13, 2026PHIPHI0.100020100.006.00
MILJune 9, 2026@ATHATH100011119.002.00
MILJune 8, 2026@ATHATH1.200011405.400.60
ATHJune 4, 2026@CHCCHC0.2010500054.007.50
ATHJune 3, 2026@CHCCHC1.100000100.000.00
ATHMay 29, 2026NYYNYY1.2000310010.801.80
ATHMay 27, 2026SEASEA100020019.003.00
ATHMay 25, 2026SEASEA0.100000100.000.00
ATHMay 23, 2026@SDSD200010200.000.50
ATHMay 21, 2026@LAALAA110010010.002.00
ATHMay 19, 2026@LAALAA100000200.000.00
ATHMay 15, 2026SFSF0.100010200.003.00
ATHMay 14, 2026STLSTL0.100000000.000.00
ATHMay 12, 2026STLSTL0.2000311027.004.50
ATHMay 9, 2026@BALBAL100000000.000.00
ATHMay 8, 2026@BALBAL00000000——
ATHMay 3, 2026CLECLE100000010.001.00
ATHMay 1, 2026CLECLE1.200000110.000.60
ATHApril 29, 2026KCKC1.200020015.401.80
ATHApril 26, 2026@TEXTEX0.200000110.001.50
ATHApril 22, 2026@SEASEA0.2010400013.506.00
ATHApril 20, 2026@SEASEA100120009.002.00
ATHApril 18, 2026CWSCWS1.100010000.000.75
ATHApril 15, 2026TEXTEX1.100100200.000.00
ATHApril 12, 2026@NYMNYM100100000.000.00
ATHApril 11, 2026@NYMNYM100010000.001.00
ATHApril 8, 2026@NYYNYY100100100.000.00
ATHApril 7, 2026@NYYNYY0.100000000.000.00
By season3 seasons
SeasonGGSIPWLSVERAWHIPHHRKBB
2026ATHMILSF45042.21384.641.554872818
2025PHI————————————
2024HOUTB60100004.500.808150

About MLB Research

▶

Every number the site holds for a Major League team and the players who played for it, in one place. Pick a club, a season and a set of games, and read it. Nothing here needs an account.

Where the numbers come from

The same tables the boards read, resolved through one shared definition per stat. A rate is computed over the whole window rather than averaged across games, so a season figure is not the mean of the nightly ones.