STATS
MLB/Players/Brad Keller
Brad Keller

BRAD KELLER

P · Philadelphia Phillies · 20182026 · 432 games
432
CAREER GAMES · REGULAR SEASON
7 seasons
.263
CAREER BATTING AVERAGE
1,454 hits in 5,534 at-bats
142
CAREER HOME RUNS
340 RBI · 42 stolen bases
4.13
CAREER ERA
821.1 innings · 645 strikeouts
44-60
CAREER RECORD
WHIP 1.41

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024BOS323505696220182830642.274.332.491.823
2023KC22324528416062290624.259.420.364.784
2022KC701,106172306488347811420410.277.344.427.771
2021KC521,064178316544368012824010.297.372.457.829
2020KC1838632784041334700.202.267.244.510
2019KC561,248160308382030681402442.247.323.381.704
2018KC821,056100266384145110019214.252.317.335.652
Career3325,5347501,454220361423406361,07642.263.339.392.731

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026PHI322131.12914133244.021.34
2025CHC684269.24516227542.070.96
2024BOS160441.14825153295.441.52
2023KC113445.14223453134.571.92
2022KC35614139.21537957102175.091.50
2021KC26812133.21588064120185.391.66
2020KC95354.23915173522.471.02
2019KC28714165.11547770122154.191.35
2018KC4196140.113348509673.081.30
Career2664460821.1801377353645794.131.41

04/Every pitch

2021 Regular season
Play log from 2015
Spray chart · 4 batted balls
Flyout · 71.5 mph · 219 ftSacrifice bunt · 35.4 mph · 5 ftSacrifice bunt · 21.1 mph · 13 ftGroundout · 84.2 mph · 29 ft
Hit (0) Out (4) Home run (0)
Average exit velocity 53.0 mph · longest 219 ft
Pitch locations · 2348 pitches
Called strike (383) Swinging strike (234) In play (422) Foul (394) Ball (915)

Catcher’s view · the zone drawn is the average of the 2,348 batter zones recorded here, 1.59 to 3.41 feet

Pitch mix
PitchNShareMPHRPMStrike%
Slider81834.8%86.12,58243.8%
Four-Seam Fastball69529.6%94.22,32243.3%
Sinker68229.0%93.72,18143.7%
Changeup1536.5%90.22,00736.6%

05/Game log

2021
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
APR 1vs TEXW 141012690020
APR 1vs TEXW 1410126906201.19620
APR 8@ CWSL 06144624333.16433
APR 8@ CWSL 0614462033
APR 14vs LAAW 61221401155.24115
APR 14vs LAAW 6122140015
APR 20vs TBL 7149530031
APR 20vs TBL 71495303311.23531
APR 26@ DETW 3225280024
APR 26@ DETW 32252802246.08224
MAY 2@ MINL 413187626134.16213
MAY 2@ MINL 41318762013
MAY 7vs CWSL 0322351016
MAY 7vs CWSL 03223513166.05316
MAY 14@ CWSW 6217250037
MAY 14@ CWSW 62172502375.05237
MAY 19vs MILW 64243812145.18314
MAY 19vs MILW 6424381014
MAY 25@ TBW 2124140047
MAY 25@ TBW 21241401477.04147
MAY 30@ MINW 6320351046
MAY 30@ MINW 63203512465.05346
JUN 4vs MINW 14522271005
JUN 4vs MINW 145222712055.07205
JUN 9@ LAAL 16225805445.18544
JUN 9@ LAAL 1622580044
JUN 14vs DETL 310227817155.08615
JUN 14vs DETL 31022781015
JUN 19vs BOSL 1720551034
JUN 19vs BOSL 17205515345.05534
JUN 24@ NYYL 18234924435.09443
JUN 24@ NYYL 1823492043
JUN 29@ BOSL 671961005505.010650
JUN 29@ BOSL 67196100050
JUL 4vs MINL 26242512276.15227
JUL 4vs MINL 2624251027
JUL 9@ CLEL 12261401497.24149
JUL 9@ CLEL 1226140049
JUL 21@ MILW 63253603266.26326
JUL 21@ MILW 6325360026
JUL 27vs CWSL 3523141024
JUL 27vs CWSL 35231411247.04124
AUG 1@ TORL 1515371003
AUG 1@ TORL 15153713033.07303
AUG 7@ STLL 2521571055
AUG 7@ STLL 25215714555.07555
AUG 14vs STLL 49264602286.26228
AUG 14vs STLL 4926460028
AUG 20@ CHCW 6220241018
AUG 20@ CHCW 62202412186.04118
AUG 26@ SEAW 64172512434.15243
AUG 26@ SEAW 6417251043

Regular season and postseason are separate tables and are never summed into one career line; spring training is excluded entirely. Hitting and pitching come from different source rows, so a two-way player has both tables and neither borrows from the other. Innings pitched is summed as outs and converted once: the stored value counts thirds, so “6.1” means six innings and one out, and adding those as decimals understates a career. ERA and WHIP are computed from those totals rather than averaged across seasons. On-base percentage is (H + BB) over (AB + BB), which runs slightly under the official figure because the source rows carry no hit-by-pitch or sacrifice fly. The charts cover 2015 onward only, and the spray chart plots batted balls with a recorded landing spot: a strikeout or a walk has no location and is not a missing dot. Its field is a representative park, not the one the ball was hit in, because a spray chart pooled across a season is hit in thirty different outfields.