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

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

No batted balls with a location in this window.

Pitch locations · 247 pitches
Called strike (58) Swinging strike (20) In play (39) Foul (42) Ball (88)

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

Pitch mix
PitchNShareMPHRPMStrike%
Four-Seam Fastball12952.2%87.91,97351.2%
Sweeper10944.1%77.71,83148.6%
Changeup52.0%79.21,7540.0%
Sinker41.6%87.51,96125.0%

05/Game log

2020
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
JUL 24@ L 371111000
JUL 24@ L 3711114000.01100
JUL 29vs SEAL 71010000000.10000
JUL 29vs SEAL 7101000000
JUL 30vs SEAL 582000001
JUL 30vs SEAL 5820000010.20001
JUL 31vs HOUL 6920102110.11011
JUL 31vs HOUL 692010011
AUG 2vs HOUL 562000000
AUG 2vs HOUL 5620000001.00000
AUG 4@ SEAW 5320000020.20002
AUG 4@ SEAW 532000002
AUG 5@ SEAL 671000000
AUG 5@ SEAL 6710000000.10000
AUG 7@ TEXL 3430000001.00000
AUG 7@ TEXL 343000000
AUG 16vs LADL 383000002
AUG 16vs LADL 3830000021.00002
AUG 17vs SFW 7632100100.21210
AUG 17vs SFW 763210010
AUG 20@ SFL 51030000001.00000
AUG 20@ SFL 5103000000
SEP 9@ TEXL 3711103200.01120
SEP 9@ TEXL 371110020
SEP 12@ COLW 524000002
SEP 12@ COLW 5240000021.10002
SEP 15vs AZL 8963313121.03312
SEP 15vs AZL 896331012
SEP 16vs AZL 692010010
SEP 16vs AZL 6920101100.11010
SEP 18vs TEXW 623000001
SEP 18vs TEXW 6230000011.00001
SEP 21vs TEXW 854221000
SEP 21vs TEXW 8542212000.22200
SEP 26@ LADL 6741111021.01102
SEP 26@ LADL 674111002
SEP 27@ LADL 055221000
SEP 27@ LADL 0552212001.02200

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.