Mithrandir Metrics
Player Chicago Cubs Refreshed Jul 16 06:00 AM ET
Player profile / Chicago Cubs

Ian Happ

LF · Bats/Throws S/R · 5' 10", 205 lb · Age 31

Cards
2
Modules
1
Live Δ
yes
Club Chicago Cubs Position LF Roster Active Status Healthy / active roster
Traditional line

Season by season

PARHHRSBAVGOBPSLGOPS
2024657891382513.243.341.441.782
202566387138236.243.342.420.762
20263975975174.220.327.431.758
10 Seasons4846626102519074.245.342.446.788
At a glance

Season percentile report

The headline weighs outcome stats (xwOBA, barrels); each bar averages its full strip group below. 100 = best in MLB.

2026-07-16
70
Offense
percentile
Offense9 metrics
65
Defense4 metrics
46
Speed2 metrics
43
Plate skills10 metrics
47
Rolling projection

Preseason / current pace / Bayesian update

Rolling bands shrink current-season signal toward the preseason prior until the sample earns more weight.

2026-07-16
xwOBA preseason0.335
xwOBA current pace0.319
xwOBA rolling p500.325
Observed weight65%
xwOBA
0.299 0.311 0.325 0.338 0.350
wOBA
0.333 0.348 0.364 0.380 0.394
ISO
0.173 0.186 0.201 0.216 0.230
K%
26.1% 27.3% 28.6% 30.0% 31.2%
Live percentile strip

Current traits vs projection tick

100th = best in MLB.

2026-07-16
Hitting · percentile strip
Barrel%7.0%
78
Exit velocity89.5
67
Hard-hit%43.4%
68
xBA0.324
53
xSLG0.653
88
xwOBA0.319
64 -17 vs proj
BB%13.2%
89
Bat speed70.7
67
K%30.8%
14 -25 vs proj
Defense · percentile strip
Arm Runs2.7 · LF
97
Arm Strength90.1 · LF
22
Outs Above Avg-1.0 · LF
22
Range Runs-0.5 · LF
41
Baserunning · percentile strip
Base Running Runs-0.6 · LF
24
Sprint Speed27.8 · LF
61
SB Success Rate66.7% · LF
Small sample
Mithrandir+

Plate skills: swing decisions and pitch-type resistance

Our research metrics for how this hitter controls the strike zone and handles each pitch family.

2026-07-16
Avoids Bad ChasesST 71.9% · rebadged research
83
Avoids Bad TakesHPT 25.5% · rebadged research
46
Correct Decisions68.8% · rebadged research
77
SEAGER+ Plate Discipline106
77
Resists Breaking - horizontalwOBA 0.326 · borderline
3
Resists Breaking - verticalwOBA 0.291 · insufficient sample
17
Resists ChangeupwOBA 0.273 · validated thin sample
73
Resists Cutters + splitterswOBA 0.370 · insufficient sample
5
Resists FastballwOBA 0.333 · validated
64
Resists SinkerwOBA 0.371 · validated
22
Rolling form chart

xwOBA snapshot line

Live snapshot series; true 50/100 PA windows require PA-level logs

12 snapshots
Mithrandir Metrics ROLLING XWOBA LINE Parameterized Mithrandir chart rendered as SVG for templates and exports. season=2026 Rolling xwOBA Happ, Ian · Live snapshot series; true 50/100 PA windows require PA-level logs LG AVG 0.308 0.319 2026-07-05: 0.3222026-07-06: 0.3222026-07-07: 0.3222026-07-08: 0.3222026-07-09: 0.3202026-07-10: 0.3182026-07-11: 0.3192026-07-12: 0.3202026-07-13: 0.3202026-07-14: 0.3192026-07-15: 0.3192026-07-16: 0.319 2026-07-05 2026-07-16 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

151 Statcast batted-ball coordinates from the pitch-event feed (2026). Direction profile remains as the v1 context layer when coordinate density is limited.

Mithrandir Metrics SPRAY CHART Parameterized Mithrandir chart rendered as SVG for templates and exports. season=2026 Spray Chart Happ, Ian · Statcast batted-ball landing coordinates Left field third: 12% of plotted batted ballsPull 12%Center field third: 63% of plotted batted ballsCenter 63%Right field third: 25% of plotted batted ballsOppo 25% LF 355 CF 400 RF 353 2026-03-15 · field out · CH · fly_ball · EV 98.7 / LA 47.02026-03-15 · double · FF · fly_ball · EV 93.7 / LA 28.02026-03-15 · field out · FF · fly_ball · EV 74.4 / LA 38.02026-03-17 · field out · CH · popup · EV 97.8 / LA 69.02026-03-20 · field out · CH · fly_ball · EV 101.6 / LA 34.02026-03-20 · field out · CU · fly_ball · EV 76.8 / LA 30.02026-03-20 · single · FC · fly_ball · EV 63.5 / LA 34.02026-03-22 · home run · FF · fly_ball · EV 105.7 / LA 30.02026-03-22 · field out · FF · fly_ball · EV 78.1 / LA 50.02026-03-26 · field out · FF · fly_ball · EV 108.5 / LA 32.02026-03-26 · single · FF · line_drive · EV 106.2 / LA 9.02026-03-28 · field out · CH · ground_ball · EV 54.0 / LA -49.02026-03-28 · field out · CH · fly_ball · EV 86.2 / LA 47.02026-03-28 · home run · FC · line_drive · EV 111.2 / LA 22.02026-03-28 · field out · CH · fly_ball · EV 84.4 / LA 40.02026-03-29 · home run · SI · fly_ball · EV 99.8 / LA 29.02026-03-30 · home run · FC · fly_ball · EV 101.6 / LA 42.02026-03-30 · field out · FS · ground_ball · EV 74.5 / LA 6.02026-03-30 · field out · FF · ground_ball · EV 103.2 / LA -22.02026-03-30 · grounded into double play · CH · ground_ball · EV 83.9 / LA 4.02026-03-31 · field out · FS · ground_ball · EV 78.9 / LA -2.02026-04-01 · field out · FF · fly_ball · EV 83.4 / LA 31.02026-04-01 · force out · FS · ground_ball · EV 102.7 / LA -21.02026-04-01 · double · FF · popup · EV 94.9 / LA 61.02026-04-03 · field out · CH · fly_ball · EV 80.0 / LA 51.02026-04-05 · field out · ST · fly_ball · EV 84.9 / LA 34.02026-04-05 · home run · FF · line_drive · EV 107.5 / LA 25.02026-04-05 · single · FS · fly_ball · EV 81.0 / LA 26.02026-04-06 · double · FF · line_drive · EV 103.5 / LA 3.02026-04-06 · field out · FF · ground_ball · EV 96.4 / LA -14.02026-04-06 · field out · SL · fly_ball · EV 98.5 / LA 28.02026-04-10 · single · FF · ground_ball · EV 96.7 / LA -5.02026-04-10 · single · FS · line_drive · EV 86.1 / LA 13.02026-04-10 · field out · SL · ground_ball · EV 54.8 / LA -53.02026-04-11 · field out · CU · ground_ball · EV 72.4 / LA 1.02026-04-11 · field out · FF · line_drive · EV 102.9 / LA 20.02026-04-11 · field out · CH · fly_ball · EV 100.5 / LA 24.02026-04-12 · field out · CH · line_drive · EV 101.9 / LA 17.02026-04-12 · field out · CH · ground_ball · EV 93.5 / LA 1.02026-04-12 · field out · SL · ground_ball · EV 91.1 / LA -22.02026-04-12 · force out · CH · ground_ball · EV 82.4 / LA 6.02026-04-13 · single · SI · line_drive · EV 75.8 / LA 28.02026-04-13 · grounded into double play · SI · ground_ball · EV 108.3 / LA -17.02026-04-13 · double · FF · fly_ball · EV 100.5 / LA 31.02026-04-14 · single · KC · ground_ball · EV 98.7 / LA 5.02026-04-14 · double · FF · line_drive · EV 103.2 / LA 20.02026-04-14 · force out · CH · ground_ball · EV 60.9 / LA -80.02026-04-15 · grounded into double play · CH · ground_ball · EV 91.5 / LA -15.02026-04-15 · field out · ST · ground_ball · EV 90.7 / LA -35.02026-04-17 · home run · ST · fly_ball · EV 106.4 / LA 33.02026-04-17 · field out · ST · fly_ball · EV 78.9 / LA 34.02026-04-17 · field error · CH · ground_ball · EV 94.8 / LA -11.02026-04-18 · home run · SL · fly_ball · EV 105.4 / LA 30.02026-04-18 · field out · CS · fly_ball · EV 95.0 / LA 58.02026-04-19 · force out · SL · ground_ball · EV 72.1 / LA -10.02026-04-19 · single · FS · fly_ball · EV 66.3 / LA 29.02026-04-19 · single · CH · ground_ball · EV 97.9 / LA 3.02026-04-20 · single · SI · line_drive · EV 111.5 / LA 12.02026-04-21 · field out · SL · fly_ball · EV 92.4 / LA 43.02026-04-21 · force out · ST · ground_ball · EV 66.3 / LA -63.02026-04-21 · single · SL · ground_ball · EV 102.8 / LA -12.02026-04-21 · field out · SI · fly_ball · EV 85.5 / LA 50.02026-04-22 · force out · SI · ground_ball · EV 86.1 / LA -1.02026-04-22 · single · SL · line_drive · EV 93.5 / LA 8.02026-04-22 · force out · FS · ground_ball · EV 66.0 / LA -24.02026-04-23 · field out · SI · fly_ball · EV 92.1 / LA 37.02026-04-23 · field out · ST · line_drive · EV 54.8 / LA 39.02026-04-23 · field out · CH · ground_ball · EV 79.7 / LA -41.02026-04-23 · home run · SL · fly_ball · EV 110.7 / LA 32.02026-04-23 · single · SI · ground_ball · EV 91.4 / LA -10.02026-04-24 · field out · SL · popup · EV 91.7 / LA 80.02026-04-24 · single · FF · ground_ball · EV 71.9 / LA 7.02026-04-26 · field out · FF · fly_ball · EV 93.9 / LA 59.02026-04-26 · field out · FF · popup · EV 74.4 / LA 75.02026-04-26 · field out · CH · ground_ball · EV 86.2 / LA -34.02026-04-27 · field out · FF · line_drive · EV 92.0 / LA 24.02026-04-27 · single · FF · ground_ball · EV 98.8 / LA -8.02026-04-27 · field out · FF · fly_ball · EV 100.8 / LA 57.02026-04-28 · field error · CH · ground_ball · EV 83.0 / LA 4.02026-04-28 · field out · CH · ground_ball · EV 46.3 / LA -46.02026-04-28 · field out · CH · ground_ball · EV 66.3 / LA -6.02026-04-29 · field out · ST · fly_ball · EV 72.6 / LA 34.02026-04-29 · double · FF · fly_ball · EV 77.9 / LA 45.02026-05-01 · field out · SI · fly_ball · EV 93.8 / LA 28.02026-05-02 · double · CU · fly_ball · EV 107.6 / LA 24.02026-05-02 · triple · CH · line_drive · EV 102.6 / LA 19.02026-05-02 · home run · FF · fly_ball · EV 110.6 / LA 26.02026-05-03 · field out · CH · line_drive · EV 100.0 / LA 20.02026-05-03 · single · CH · ground_ball · EV 85.9 / LA 10.02026-05-04 · field out · CH · ground_ball · EV 58.4 / LA -48.02026-05-05 · field out · FF · ground_ball · EV 91.8 / LA 7.02026-05-06 · field out · FC · fly_ball · EV 105.0 / LA 30.02026-05-06 · single · ST · ground_ball · EV 95.1 / LA 1.02026-05-06 · single · ST · line_drive · EV 88.7 / LA 20.02026-05-06 · home run · FC · fly_ball · EV 104.9 / LA 27.02026-05-07 · field out · SL · popup · EV 72.3 / LA 64.02026-05-08 · single · SL · ground_ball · EV 69.6 / LA 12.02026-05-08 · field out · FC · line_drive · EV 104.8 / LA 19.02026-05-08 · force out · FS · ground_ball · EV 109.5 / LA -22.02026-05-08 · field out · SL · line_drive · EV 107.0 / LA 21.02026-05-09 · field out · FC · popup · EV 77.6 / LA 71.02026-05-12 · field out · SL · line_drive · EV 105.7 / LA 20.02026-05-14 · single · CH · fly_ball · EV 70.3 / LA 34.02026-05-14 · home run · SL · fly_ball · EV 107.6 / LA 28.02026-05-14 · field out · FF · ground_ball · EV 100.8 / LA 1.02026-05-15 · single · FC · line_drive · EV 109.2 / LA 10.02026-05-15 · field out · FF · fly_ball · EV 95.1 / LA 49.02026-05-15 · single · SL · line_drive · EV 102.4 / LA 17.02026-05-16 · field out · FF · popup · EV 90.0 / LA 80.02026-05-17 · grounded into double play · SI · ground_ball · EV 92.7 / LA -18.02026-05-17 · field out · ST · fly_ball · EV 105.7 / LA 46.02026-05-17 · field out · CU · fly_ball · EV 99.0 / LA 35.02026-05-18 · field out · FF · popup · EV 91.0 / LA 76.02026-05-18 · field out · FF · fly_ball · EV 97.8 / LA 53.02026-05-19 · field out · FF · popup · EV 81.4 / LA 64.02026-05-22 · double · FF · fly_ball · EV 62.4 / LA 30.02026-05-22 · field out · SL · popup · EV 82.6 / LA 65.02026-05-22 · field out · FF · popup · EV 58.9 / LA 51.02026-05-25 · field out · FF · ground_ball · EV 69.9 / LA -6.02026-05-25 · field out · FF · popup · EV 93.5 / LA 83.02026-05-26 · grounded into double play · FF · ground_ball · EV 108.7 / LA -13.02026-05-26 · field error · FF · ground_ball · EV 60.3 / LA -73.02026-05-26 · double · FF · fly_ball · EV 105.8 / LA 23.02026-05-27 · single · CH · line_drive · EV 94.1 / LA 14.02026-05-27 · field out · SI · fly_ball · EV 99.4 / LA 33.02026-05-27 · field out · CH · fly_ball · EV 87.0 / LA 35.02026-05-27 · home run · ST · fly_ball · EV 95.4 / LA 38.02026-05-27 · field out · SI · fly_ball · EV 99.0 / LA 47.02026-05-27 · field out · FF · fly_ball · EV 88.6 / LA 38.02026-05-31 · field out · FS · ground_ball · EV 101.5 / LA -8.02026-05-31 · field out · SL · fly_ball · EV 96.1 / LA 58.02026-06-04 · double · SI · line_drive · EV 103.8 / LA 20.02026-06-04 · home run · ST · fly_ball · EV 108.1 / LA 37.02026-06-05 · field out · SL · popup · EV 67.4 / LA 72.02026-06-07 · triple · CH · line_drive · EV 98.6 / LA 14.02026-06-07 · field out · CH · fly_ball · EV 91.8 / LA 28.02026-06-15 · fielders choice · FF · ground_ball · EV 61.5 / LA -49.02026-06-15 · field out · CU · fly_ball · EV 101.2 / LA 55.02026-06-15 · field out · CH · fly_ball · EV 81.2 / LA 35.02026-06-15 · field out · FF · fly_ball · EV 100.0 / LA 42.02026-06-20 · field error · KC · line_drive · EV 86.5 / LA -10.02026-06-20 · field out · FF · fly_ball · EV 95.9 / LA 50.02026-06-20 · single · SI · ground_ball · EV 109.0 / LA -3.02026-06-24 · field out · SI · fly_ball · EV 96.9 / LA 46.02026-06-24 · double · CU · line_drive · EV 106.1 / LA 20.02026-06-26 · field out · SI · fly_ball · EV 75.9 / LA 40.02026-06-26 · field out · FC · ground_ball · EV 93.8 / LA -20.02026-06-30 · field out · FF · fly_ball · EV 82.3 / LA 59.02026-06-30 · field out · CH · fly_ball · EV 88.0 / LA 38.02026-06-30 · single · FF · line_drive · EV 72.1 / LA 20.02026-07-01 · double · FC · fly_ball · EV 93.5 / LA 31.0 1B2B3BHROut Zone shading = batted-ball density by field third · hover dots for date, pitch, EV, and LA. MITHRANDIR · CHARTS
Zone profile

Aggregate zone heatmap

Aggregate zone metrics from seasonal Statcast leaderboards.

Mithrandir Metrics ZONE HEATMAP Parameterized Mithrandir chart rendered as SVG for templates and exports. season=2026 Swing Zone Profile Happ, Ian · Aggregate zone metrics; not pitch-by-pitch locations Zone: 47%47%Chase: 24%24%Whiff: 29%29%Zone contact: 79%79%Contact: 71%71%Hard hit: 43%43% Dashed border = aggregate mixed-batter zone proxy MITHRANDIR · CHARTS
Bat tracking

Swing path, attack angle, bat speed

Aggregate Savant bat-tracking metrics; not per-swing motion capture. The full swing, with the recommended path overlaid, lives in the 3D Swing Simulator.

Watch the swing in 3D →

2026
Mithrandir Metrics BAT SPEED DISTRIBUTION Parameterized Mithrandir chart rendered as SVG for templates and exports. Bat Speed Happ, Ian · aggregate bat speed marker 60 mph 85 mph Avg bat speed 72.0 mph Hard swing rate 20% Whiff / swing 35% MITHRANDIR · CHARTS
Reference layer

Current snapshot

Age31
Height5' 10"
Weight205 lb
Debut2017-05-13
Live layer

Delta / regression

xwOBA Δ-0.024
wOBA Δ+0.021

negative regression

Regression watch

Running hot. Expect some cooling.

-1.6σ gap
wOBA (actual)0.364
xwOBA (deserved)0.319

Happ’s wOBA sits at 0.364, but the quality of contact underneath says it should be 0.319 — a gap of 0.045, -1.6 standard deviations from the MLB norm over 416 PA. The results have outrun the underlying process; as the sample grows, expect the numbers to drift back toward the deserved level.

Comp Engine · 2026 profile shape

Closest profiles

Full constellation →
PlayerSimilarityAgrees onOpen
Jensen, Carter KC · L 0.70 Hard-hit rateSprint speed Player · Projection
Rooker, Brent ATH · R 0.67 Hard-hit rateStrikeout rate Player · Projection
Neto, Zach LAA · R 0.66 Sprint speedIsolated power Player · Projection
Greene, Riley DET · L 0.65 Ground-ball rateChase rate Player · Projection

Profile-shape similarity, not results: six weighted feature groups standardized within this season's qualified hitters.

Mithrandir coverage

Module shelf

ModuleCardsLatestSignal
Hitting22026-05-02Impact contact was the main driver
Projection links / recent games

Available detail

Hitter Projections 20260.343 xwOBA | 21 HRProjection
2026-05-20 vs MIL0 HR | 0 RBI / 1 Ch | 0 E0-3 | 3 K
2026-04-20 vs PHI0 HR | 0 RBI / 2 Ch | 0 E1-3 | BB, 2 K, R
2026-04-17 vs NYM1 HR | 2 RBI / 2 Ch | 0 E1-4 | HR, BB, K
2026-04-15 @ PHI0 HR | 0 RBI / 0 Ch | 0 E0-4 | HBP, 2 K
2026-04-14 @ PHI0 HR | 1 RBI / 2 Ch | 0 E2-5 | 2B, 2 K, RBI