STATS
MLB/Players/Hoby Milner
Hoby Milner

HOBY MILNER

P · Chicago Cubs · 20172026 · 701 games
701
CAREER GAMES · REGULAR SEASON
8 seasons · postseason below
.251
CAREER BATTING AVERAGE
518 hits in 2,062 at-bats
68
CAREER HOME RUNS
153 RBI · 8 stolen bases
3.85
CAREER ERA
378.1 innings · 340 strikeouts
14-9
CAREER RECORD
WHIP 1.24

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024MIL122488761262241243281286.258.298.393.692
2023MIL14647032981821026261180.209.250.319.569
2022MIL134488581223201026301282.250.293.377.670
2021MIL3818630606016176600.323.344.613.957
2020LAA38104242620101812260.250.328.558.885
2019TB830686002260.267.313.467.779
2018TB286416182061010160.281.378.594.972
2017PHI74232146014041132440.259.348.371.719
Career5882,0622565181026681531465268.251.301.405.706

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026SEA401037.0381791954.141.27
2025TEX733470.16830215853.841.27
2024MIL615164.26334146464.731.19
2023MIL732164.14913135951.820.96
2022MIL673364.26127156453.761.18
2021MIL190021.2301333085.401.52
2020LAA190013.1131261358.101.43
2019TB4003.2431307.361.36
2018TB14007.1965837.361.91
2017PHI370031.1307162222.011.47
Career407149378.1365162103340443.851.24

03/Postseason

Kept apart
Never folded in
SeasonClubGABHHRRBIAVGIPSOERA
2023MIL48200.2502.120.00

04/Every pitch

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

No batted balls with a location in this window.

Pitch locations · 393 pitches
Called strike (83) Swinging strike (44) In play (64) Foul (76) Ball (126)

Catcher’s view · the zone drawn is the average of the 393 batter zones recorded here, 1.58 to 3.38 feet

Pitch mix
PitchNShareMPHRPMStrike%
Four-Seam Fastball20852.9%89.11,97151.4%
Sweeper14135.9%79.41,86555.3%
Changeup317.9%81.61,72935.5%
Sinker133.3%89.01,93353.8%

05/Game log

2021
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
MAY 15vs ATLL 1581311032.03103
MAY 15vs ATLL 158131003
JUN 5vs AZW 754010001
JUN 5vs AZW 7540100011.01001
JUN 8@ CINW 5140100021.01002
JUN 8@ CINW 514010002
JUN 10@ CINW 724010000
JUN 10@ CINW 7240100001.01000
JUN 11vs PITW 7452112011.01001
JUN 11vs PITW 745211001
JUN 14vs CINL 2107441003
JUN 14vs CINL 21074414031.04403
JUN 17@ COLL 3730000011.00001
JUN 17@ COLL 373000001
JUN 20@ COLW 7640200010.22001
JUN 20@ COLW 764020001
JUN 21@ AZL 1572302122.03212
JUN 21@ AZL 157230012
JUL 3@ PITW 11250200021.02002
JUL 3@ PITW 1125020002
JUL 5@ NYML 242020010
JUL 5@ NYML 2420200100.02010
AUG 11@ CHCW 1003000001
AUG 11@ CHCW 10030000011.00001
AUG 19@ STLL 485000002
AUG 19@ STLL 4850000021.20002
AUG 22vs WSHW 739241012
AUG 22vs WSHW 7392411121.24212
AUG 26vs CINL 157010004
AUG 26vs CINL 1570100042.01004
AUG 28@ MINL 4630000011.00001
AUG 28@ MINL 463000001
SEP 2@ SFL 151000000
SEP 2@ SFL 1510000000.10000
SEP 3vs STLL 41542325000.13200
SEP 3vs STLL 4154232000
SEP 28@ STLL 268222004
SEP 28@ STLL 2682222042.02204

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.