MLB/Players/Justin Hagenman
Justin Hagenman

JUSTIN HAGENMAN

P · 20252026 · 10 games
10
CAREER GAMES · REGULAR SEASON
2 seasons
4.39
CAREER ERA
26.2 innings · 25 strikeouts
0-1
CAREER RECORD
WHIP 1.09

01/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026NYM1003.0211203.001.00
2025NYM90123.2241222344.561.10
Career100126.2261332544.391.09

04/Every pitch

2025 Regular season
Play log from 2015
Pitch locations · 383 pitches
Called strike (55) Swinging strike (50) In play (73) Foul (69) Ball (136)

Catcher’s view · the zone drawn is the average of the 383 batter zones recorded here, 1.63 to 3.47 feet

Pitch mix
PitchNShareMPHRPMStrike%
Cutter12532.6%86.72,37660.0%
Sinker9625.1%93.02,22843.8%
Changeup8823.0%86.81,76927.3%
Slider7419.3%84.42,51544.6%

05/Game log

2025
Regular season
DateOppResultIPHERBBSO
APR 16@ MINL 343.13104
JUN 19@ ATLL 172.22001
JUL 4vs NYYW 654.15405
JUL 10@ BALL 372.04213
AUG 6vs CLEL 142.02001
AUG 9@ MILL 471.00001
AUG 12vs ATLW 1354.00015
SEP 3@ DETL 261.10000
SEP 9@ PHIL 393.08503

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.