Mithrandir Metrics
Hitter projection 2026 Refreshed Jun 1 06:00 AM ET
Hitter projection / CHC · 2026

Happ, Ian

Middle-order power profile with real damage

Primary
0.343 xwOBA
Range
0.294 to 0.390
Live Δ
yes
Team CHC Archetype Impact slugger Age 32 Status Healthy / active roster
Rolling projection

Preseason / current pace / Bayesian update

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

2026-06-01
xwOBA preseason0.335
xwOBA current pace0.343
xwOBA rolling p500.340
Observed weight55%
xwOBA
0.310 0.324 0.340 0.355 0.369
wOBA
0.361 0.379 0.399 0.419 0.437
ISO
0.178 0.194 0.213 0.231 0.248
K%
25.0% 26.4% 28.0% 29.6% 31.0%
Current percentile strip

Actual percentile with projection tick

100th = best in MLB.

2026-06-01
Hitting · percentile strip
BB%15.6%
95 +16 vs proj
Barrel%8.5%
86 +20 vs proj
Bat speed70.3
61
Exit velocity90.1
71
Hard-hit%45.1%
71
K%30.7%
11 -24 vs proj
xBA0.337
63
xSLG0.740
94
xwOBA0.343
77
Defense · percentile strip
Arm Runs2.3 · LF
97
Arm Strength89.8 · LF
24
Outs Above Avg-1.0 · LF
20
Range Runs-0.7 · LF
41
Baserunning · percentile strip
Base Running Runs-0.7 · LF
22
Sprint Speed27.6 · LF
58
SB Success Rate100.0% · LF
Limited
Mithrandir+

SEAGER+ and decision components

SEAGER+ is the promoted plate-discipline index; component rows marked rebadged research are visible diagnostic context, not standalone promoted metrics.

2026-06-01
Avoids Bad ChasesST 70.9% · rebadged research
77
Avoids Bad TakesHPT 26.8% · rebadged research
33
Correct Decisions67.6% · rebadged research
65
SEAGER+ Plate Discipline104
67
Resists Breaking - horizontalwOBA 0.314 · borderline
10
Resists Breaking - verticalwOBA 0.279 · insufficient sample
40
Resists ChangeupwOBA 0.272 · validated thin sample
62
Resists Cutters + splitterswOBA 0.363 · insufficient sample
6
Resists FastballwOBA 0.338 · validated
55
Resists SinkerwOBA 0.369 · 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.313 2026-05-17: 0.3682026-05-19: 0.3632026-05-21: 0.3522026-05-23: 0.3422026-05-24: 0.3422026-05-25: 0.3422026-05-26: 0.3392026-05-28: 0.3412026-05-29: 0.3402026-05-30: 0.3432026-05-31: 0.3472026-06-01: 0.343 2026-05-17 2026-06-01 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

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

All BIP Singles Doubles Triples HR vs LHP vs RHP Home / Away
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: 13% of plotted batted ballsPull 13%Center field third: 64% of plotted batted ballsCenter 64%Right field third: 23% of plotted batted ballsOppo 23% LF 355 CF 400 RF 353 2026-03-15 · field out · CH · fly_ball · EV 98.7 / LA 47.02026-03-15 · field out · FF · fly_ball · EV 74.4 / LA 38.02026-03-15 · double · FF · fly_ball · EV 93.7 / LA 28.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 · field out · FF · fly_ball · EV 78.1 / LA 50.02026-03-22 · home run · FF · fly_ball · EV 105.7 / LA 30.02026-03-26 · single · FF · line_drive · EV 106.2 / LA 9.02026-03-26 · field out · FF · fly_ball · EV 108.5 / LA 32.02026-03-28 · field out · CH · fly_ball · EV 84.4 / LA 40.02026-03-28 · field out · CH · fly_ball · EV 86.2 / LA 47.02026-03-28 · field out · CH · ground_ball · EV 54.0 / LA -49.02026-03-28 · home run · FC · line_drive · EV 111.2 / LA 22.02026-03-29 · home run · SI · fly_ball · EV 99.8 / LA 29.02026-03-30 · grounded into double play · CH · ground_ball · EV 83.9 / LA 4.02026-03-30 · home run · FC · fly_ball · EV 101.6 / LA 42.02026-03-30 · field out · FF · ground_ball · EV 103.2 / LA -22.02026-03-30 · field out · FS · ground_ball · EV 74.5 / LA 6.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 · SL · ground_ball · EV 91.1 / LA -22.02026-04-12 · field out · CH · line_drive · EV 101.9 / LA 17.02026-04-12 · force out · CH · ground_ball · EV 82.4 / LA 6.02026-04-12 · field out · CH · ground_ball · EV 93.5 / LA 1.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-13 · single · SI · line_drive · EV 75.8 / LA 28.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 · field out · ST · ground_ball · EV 90.7 / LA -35.02026-04-15 · grounded into double play · CH · ground_ball · EV 91.5 / LA -15.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-17 · home run · ST · fly_ball · EV 106.4 / LA 33.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 · single · FS · fly_ball · EV 66.3 / LA 29.02026-04-19 · force out · SL · ground_ball · EV 72.1 / LA -10.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 · SI · fly_ball · EV 85.5 / LA 50.02026-04-21 · force out · ST · ground_ball · EV 66.3 / LA -63.02026-04-21 · field out · SL · fly_ball · EV 92.4 / LA 43.02026-04-21 · single · SL · ground_ball · EV 102.8 / LA -12.02026-04-22 · single · SL · line_drive · EV 93.5 / LA 8.02026-04-22 · force out · SI · ground_ball · EV 86.1 / LA -1.02026-04-22 · force out · FS · ground_ball · EV 66.0 / LA -24.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-23 · field out · ST · line_drive · EV 54.8 / LA 39.02026-04-23 · field out · SI · fly_ball · EV 92.1 / LA 37.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 · CH · ground_ball · EV 86.2 / LA -34.02026-04-26 · field out · FF · popup · EV 74.4 / LA 75.02026-04-26 · field out · FF · fly_ball · EV 93.9 / LA 59.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 out · CH · ground_ball · EV 66.3 / LA -6.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-29 · double · FF · fly_ball · EV 77.9 / LA 45.02026-04-29 · field out · ST · fly_ball · EV 72.6 / LA 34.02026-05-01 · field out · SI · fly_ball · EV 93.8 / LA 28.02026-05-02 · home run · FF · fly_ball · EV 110.6 / LA 26.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-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 · home run · FC · fly_ball · EV 104.9 / LA 27.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 · field out · FC · fly_ball · EV 105.0 / LA 30.02026-05-07 · field out · SL · popup · EV 72.3 / LA 64.02026-05-08 · field out · SL · line_drive · EV 107.0 / LA 21.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-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 · field out · FF · ground_ball · EV 100.8 / LA 1.02026-05-14 · home run · SL · fly_ball · EV 107.6 / LA 28.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-15 · single · FC · line_drive · EV 109.2 / LA 10.02026-05-16 · field out · FF · popup · EV 90.0 / LA 80.02026-05-17 · field out · ST · fly_ball · EV 105.7 / LA 46.02026-05-17 · grounded into double play · SI · ground_ball · EV 92.7 / LA -18.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 · popup · EV 93.5 / LA 83.02026-05-25 · field out · FF · ground_ball · EV 69.9 / LA -6.02026-05-26 · double · FF · fly_ball · EV 105.8 / LA 23.02026-05-26 · field error · FF · ground_ball · EV 60.3 / LA -73.02026-05-26 · grounded into double play · FF · ground_ball · EV 108.7 / LA -13.02026-05-27 · home run · ST · fly_ball · EV 95.4 / LA 38.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 · 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-27 · single · CH · line_drive · EV 94.1 / LA 14.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.0 1B2B3BHROut Zone shading = batted-ball density by field third · hover dots for date, pitch, EV, and LA. MITHRANDIR · CHARTS
Bat tracking

Swing path, attack angle, bat speed

Aggregate Savant bat-tracking metrics; not per-swing motion capture.

2026
Mithrandir Metrics SWING PATH Parameterized Mithrandir chart rendered as SVG for templates and exports. Swing Path Happ, Ian · aggregate bat-tracking arc Swing tilt 32.1° Length 7.0 ft Ideal path 49% MITHRANDIR · CHARTS
Mithrandir Metrics ATTACK ANGLE Parameterized Mithrandir chart rendered as SVG for templates and exports. Attack Angle Happ, Ian · aggregate attack vector Attack angle 12.1° Direction -7.8° MITHRANDIR · CHARTS
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
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: 31%31%Zone contact: 79%79%Contact: 69%69%Hard hit: 45%45% Dashed border = aggregate mixed-batter zone proxy MITHRANDIR · CHARTS
Model read

Projection notes

1
templated note
Walk rate keeps the offensive floor healthy even if the batted-ball results wobble.
2
templated note
Age-32 season adds a little downside to the power band.
Live context

Current-season signal

xwOBA Δ+0.000
wOBA Δ+0.056
Sample270 PA

negative regression

Projection table

Point projection and range

MetricPointRangeHalf-width
Plate Appearances620----
Home Runs21----
Stolen Bases0----
xwOBA0.3430.294 to 0.390+/- 0.048
ISO0.1770.126 to 0.259+/- 0.066
Barrel%6.3%4.4% to 8.6%+/- 2.1%
Hard-Hit%43.9%38.5% to 51.6%+/- 6.6%
K%24.6%19.1% to 29.1%+/- 5.0%
BB%11.8%9.8% to 15.2%+/- 2.7%
BABIP0.2880.245 to 0.339+/- 0.047
Platoon / Shape
vs LHP

1177 career PA

xwOBA0.286
K%20.6%
BB%9.0%
Barrel4.7%
vs RHP

3449 career PA

xwOBA0.303
K%20.8%
BB%11.9%
Barrel5.7%