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

2026 Regular season
Play log from 2015
Spray chart · 0 batted balls

No batted balls with a location in this window.

Pitch locations · 533 pitches
Called strike (89) Swinging strike (54) In play (88) Foul (98) Ball (204)

Catcher’s view · the zone drawn is the average of the 533 batter zones recorded here, 1.62 to 3.21 feet

Pitch mix
PitchNShareMPHRPMStrike%
Four-Seam Fastball17031.9%97.02,40145.3%
Slider12022.5%87.12,69549.2%
Sinker10619.9%96.72,27150.9%
Changeup7113.3%92.81,74131.0%
Sweeper6612.4%85.72,74243.9%

05/Game log

2026
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
MAR 29vs TEXL 3800011.00001
MAR 31vs WSHW 3200101.00010
APR 1vs WSHW 6531011.03301
APR 4@ COLW 2110001.01000
APR 6@ SFW 6410021.01002
APR 10vs AZL 4500001.00000
APR 11vs AZW 4320121.02112
APR 14vs CHCL 41010020.21002
APR 18vs ATLL 1300111.00011
APR 21@ CHCL 4700000.20000
APR 23@ CHCL 7811001.01100
APR 25@ ATLW 8500011.10001
APR 30vs SFW 6500031.00103
MAY 1@ MIAW 6510121.01112
MAY 4@ MIAW 1020001.02000
MAY 6vs ATHW 6310211.01021
MAY 8vs COLL 7930021.03102
MAY 13@ BOSL 1300031.00003
MAY 14@ BOSW 3110021.01002
MAY 18vs CINW 5411011.01101
MAY 20vs CINL 4900001.00000
MAY 23vs CLEW 3000011.00001
MAY 25@ SDW 3000111.00011
MAY 26@ SDW 4321111.02111
MAY 30@ LADW 4300011.00001
JUN 2vs SDW 3220001.02000
JUN 3vs SDW 3220111.02111
JUN 5vs CWSW 8610001.01000
JUN 8@ TORW 5210111.01011
JUN 10@ TORW 7400000.20000
JUN 13@ MILW 9830211.03321
JUL 8@ CINL 51100111.00011

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.