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

O'Hearn, Ryan

Veteran bat leaning on contact and approach

Primary
0.341 xwOBA
Range
0.311 to 0.381
Live Δ
yes
Team PIT Archetype Balanced regular Age 33 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.345
xwOBA current pace0.359
xwOBA rolling p500.352
Observed weight48%
xwOBA
0.324 0.337 0.352 0.366 0.379
wOBA
0.349 0.369 0.392 0.415 0.436
ISO
0.137 0.154 0.172 0.191 0.208
K%
17.2% 18.5% 20.0% 21.4% 22.7%
Current percentile strip

Actual percentile with projection tick

100th = best in MLB.

2026-06-01
Hitting · percentile strip
BB%10.2%
68 +22 vs proj
Barrel%6.3%
67 +19 vs proj
Bat speed69.0
41
Exit velocity90.5
78
Hard-hit%44.8%
70
K%19.0%
68
xBA0.357
80
xSLG0.583
70
xwOBA0.359
83
Defense · percentile strip
Arm Runs-1.5 · RF
11
Arm Strength84.8 · RF
4
Outs Above Avg1.0 · RF
80
Range Runs-0.8 · RF
40
Baserunning · percentile strip
Base Running Runs-2.1 · RF
1
Sprint Speed26.9 · RF
39
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 67.2% · rebadged research
58
Avoids Bad TakesHPT 29.5% · rebadged research
14
Correct Decisions64.2% · rebadged research
32
Resists Breaking - horizontalwOBA 0.294 · borderline
28
Resists Breaking - verticalwOBA 0.256 · insufficient sample
95
Resists ChangeupwOBA 0.282 · validated thin sample
34
Resists Cutters + splitterswOBA 0.336 · insufficient sample
35
Resists FastballwOBA 0.380 · validated
5
Resists SinkerwOBA 0.393 · validated
5
SEAGER+ Plate Discipline98
38
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 O'Hearn, Ryan · Live snapshot series; true 50/100 PA windows require PA-level logs LG AVG 0.313 2026-05-17: 0.3572026-05-19: 0.3572026-05-21: 0.3572026-05-23: 0.3572026-05-24: 0.3562026-05-25: 0.3562026-05-26: 0.3562026-05-28: 0.3562026-05-29: 0.3562026-05-30: 0.3562026-05-31: 0.3562026-06-01: 0.359 2026-05-17 2026-06-01 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

143 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 O'Hearn, Ryan · Statcast batted-ball landing coordinates Left field third: 17% of plotted batted ballsPull 17%Center field third: 66% of plotted batted ballsCenter 66%Right field third: 17% of plotted batted ballsOppo 17% LF 325 CF 399 RF 320 2026-03-15 · field out · FF · ground_ball · EV 90.2 / LA 8.02026-03-17 · single · FF · line_drive · EV 104.3 / LA 9.02026-03-17 · field out · SL · line_drive · EV 88.4 / LA 25.02026-03-19 · field out · SI · ground_ball · EV 85.7 / LA -51.02026-03-19 · field out · SI · fly_ball · EV 105.9 / LA 25.02026-03-20 · field out · SI · ground_ball · EV 88.1 / LA -29.02026-03-20 · field out · SI · ground_ball · EV 101.4 / LA -12.02026-03-20 · field out · FF · fly_ball · EV 103.8 / LA 23.02026-03-22 · field out · FF · popup · EV 84.3 / LA 55.02026-03-22 · field out · FF · fly_ball · EV 87.5 / LA 56.02026-03-22 · field out · FF · fly_ball · EV 97.7 / LA 20.02026-03-23 · grounded into double play · FS · ground_ball · EV 68.2 / LA -6.02026-03-23 · field out · FF · line_drive · EV 102.7 / LA 21.02026-03-26 · field out · FF · ground_ball · EV 93.4 / LA -14.02026-03-26 · single · SI · ground_ball · EV 104.2 / LA 8.02026-03-26 · home run · FF · fly_ball · EV 97.3 / LA 36.02026-03-28 · field out · SL · ground_ball · EV 65.1 / LA -11.02026-03-28 · field out · CU · fly_ball · EV 95.6 / LA 35.02026-03-28 · single · SI · ground_ball · EV 95.7 / LA 5.02026-03-28 · field out · CH · ground_ball · EV 75.7 / LA -40.02026-03-28 · field out · ST · ground_ball · EV 90.8 / LA 0.02026-03-29 · single · ST · fly_ball · EV 74.4 / LA 31.02026-03-29 · single · SI · line_drive · EV 105.9 / LA 9.02026-03-29 · single · ST · ground_ball · EV 91.6 / LA 8.02026-03-30 · single · CH · line_drive · EV 71.1 / LA 22.02026-03-30 · field out · CH · ground_ball · EV 63.3 / LA -10.02026-03-31 · grounded into double play · SI · ground_ball · EV 78.0 / LA -2.02026-03-31 · field out · ST · line_drive · EV 66.2 / LA 24.02026-03-31 · home run · FF · fly_ball · EV 103.5 / LA 28.02026-04-03 · sac fly · ST · line_drive · EV 93.9 / LA 22.02026-04-03 · field out · FF · ground_ball · EV 82.8 / LA 5.02026-04-04 · single · FF · line_drive · EV 94.7 / LA 14.02026-04-04 · field out · KC · fly_ball · EV 97.5 / LA 47.02026-04-04 · field out · ST · ground_ball · EV 61.7 / LA -14.02026-04-05 · home run · FF · fly_ball · EV 103.8 / LA 32.02026-04-05 · double · SI · line_drive · EV 100.6 / LA 20.02026-04-05 · field out · FF · ground_ball · EV 81.9 / LA -5.02026-04-05 · field out · SL · ground_ball · EV 70.7 / LA -8.02026-04-06 · double · FF · fly_ball · EV 97.0 / LA 24.02026-04-06 · grounded into double play · SI · ground_ball · EV 93.6 / LA -24.02026-04-07 · single · SI · line_drive · EV 96.2 / LA 12.02026-04-07 · single · FF · ground_ball · EV 82.2 / LA 1.02026-04-07 · field out · FF · fly_ball · EV 97.4 / LA 35.02026-04-08 · field out · SI · ground_ball · EV 92.3 / LA 1.02026-04-08 · grounded into double play · SL · ground_ball · EV 94.6 / LA -4.02026-04-08 · field out · SI · fly_ball · EV 97.0 / LA 39.02026-04-08 · field out · FF · line_drive · EV 95.5 / LA 18.02026-04-10 · field out · FF · ground_ball · EV 95.8 / LA 6.02026-04-10 · field out · FF · fly_ball · EV 106.7 / LA 22.02026-04-10 · single · SL · line_drive · EV 101.9 / LA 11.02026-04-10 · field out · FF · fly_ball · EV 79.4 / LA 44.02026-04-11 · field out · FF · fly_ball · EV 88.8 / LA 30.02026-04-11 · sac fly · CU · line_drive · EV 101.2 / LA 22.02026-04-11 · field out · CH · line_drive · EV 105.9 / LA 18.02026-04-11 · field out · FF · fly_ball · EV 92.2 / LA 55.02026-04-12 · single · CH · fly_ball · EV 67.7 / LA 46.02026-04-12 · field out · CU · ground_ball · EV 63.0 / LA -31.02026-04-12 · single · FF · ground_ball · EV 108.1 / LA 3.02026-04-13 · field out · CH · ground_ball · EV 92.8 / LA -1.02026-04-13 · double · SI · fly_ball · EV 101.7 / LA 28.02026-04-14 · field out · FF · line_drive · EV 99.7 / LA 20.02026-04-14 · field out · SL · ground_ball · EV 67.7 / LA 1.02026-04-14 · grounded into double play · SI · ground_ball · EV 92.3 / LA -13.02026-04-15 · single · FF · ground_ball · EV 104.3 / LA 6.02026-04-15 · single · FC · line_drive · EV 97.5 / LA 11.02026-04-15 · single · FF · line_drive · EV 67.6 / LA 24.02026-04-17 · field out · CH · ground_ball · EV 103.3 / LA -21.02026-04-17 · field out · FC · fly_ball · EV 94.9 / LA 39.02026-04-17 · field out · SI · ground_ball · EV 87.0 / LA -24.02026-04-18 · single · FF · ground_ball · EV 80.7 / LA -27.02026-04-18 · home run · FC · fly_ball · EV 106.5 / LA 37.02026-04-21 · single · SI · ground_ball · EV 104.9 / LA 1.02026-04-21 · field out · SI · fly_ball · EV 98.7 / LA 40.02026-04-21 · field out · FF · line_drive · EV 105.5 / LA 16.02026-04-22 · field out · FF · ground_ball · EV 64.6 / LA -2.02026-04-22 · single · FF · line_drive · EV 96.8 / LA 7.02026-04-22 · grounded into double play · FC · ground_ball · EV 82.0 / LA -12.02026-04-23 · field out · CH · ground_ball · EV 92.3 / LA 2.02026-04-23 · single · SL · line_drive · EV 103.7 / LA 13.02026-04-24 · field out · FF · fly_ball · EV 90.2 / LA 34.02026-04-24 · field out · FF · popup · EV 82.3 / LA 86.02026-04-24 · double · SI · line_drive · EV 107.0 / LA 14.02026-04-24 · single · FF · ground_ball · EV 99.3 / LA -4.02026-04-25 · single · FF · line_drive · EV 100.3 / LA 13.02026-04-25 · field out · SI · ground_ball · EV 65.9 / LA -66.02026-04-26 · grounded into double play · FF · ground_ball · EV 86.3 / LA -23.02026-04-26 · field out · KC · fly_ball · EV 98.4 / LA 55.02026-04-26 · field out · SL · line_drive · EV 98.0 / LA 12.02026-04-27 · field out · FF · ground_ball · EV 100.6 / LA -12.02026-04-27 · single · FF · line_drive · EV 102.6 / LA 16.02026-04-28 · grounded into double play · FF · ground_ball · EV 102.6 / LA -22.02026-04-28 · home run · SI · fly_ball · EV 104.6 / LA 26.02026-04-28 · single · ST · line_drive · EV 102.5 / LA 13.02026-04-29 · field out · SL · ground_ball · EV 91.7 / LA -8.02026-04-29 · field error · SI · ground_ball · EV 93.2 / LA -1.02026-04-29 · field out · FF · fly_ball · EV 83.7 / LA 30.02026-04-29 · single · SI · line_drive · EV 66.1 / LA 20.02026-04-30 · field out · SI · line_drive · EV 92.3 / LA 24.02026-04-30 · field out · ST · ground_ball · EV 60.2 / LA -16.02026-04-30 · field out · FF · popup · EV 70.3 / LA 56.02026-05-01 · single · CU · line_drive · EV 97.1 / LA 17.02026-05-01 · field out · SI · ground_ball · EV 96.6 / LA -11.02026-05-01 · field out · SL · line_drive · EV 92.2 / LA 8.02026-05-01 · single · SI · line_drive · EV 105.2 / LA 13.02026-05-01 · field out · SL · ground_ball · EV 96.2 / LA -17.02026-05-02 · double · SL · ground_ball · EV 100.5 / LA 6.02026-05-02 · single · SI · fly_ball · EV 94.5 / LA 28.02026-05-03 · grounded into double play · CH · ground_ball · EV 68.2 / LA -22.02026-05-05 · field out · SI · ground_ball · EV 93.4 / LA 1.02026-05-05 · field out · CU · fly_ball · EV 83.2 / LA 57.02026-05-06 · field out · FF · ground_ball · EV 90.1 / LA -7.02026-05-06 · field out · FF · fly_ball · EV 77.3 / LA 35.02026-05-06 · field out · FF · fly_ball · EV 95.0 / LA 54.02026-05-07 · field out · FF · fly_ball · EV 76.1 / LA 36.02026-05-07 · single · SL · ground_ball · EV 90.9 / LA 5.02026-05-08 · field out · FF · ground_ball · EV 91.9 / LA 0.02026-05-09 · field out · ST · fly_ball · EV 86.9 / LA 46.02026-05-09 · single · SI · line_drive · EV 104.6 / LA 12.02026-05-09 · grounded into double play · EP · ground_ball · EV 87.3 / LA -4.02026-05-09 · field out · FC · fly_ball · EV 91.6 / LA 37.02026-05-09 · single · CH · ground_ball · EV 87.0 / LA -25.02026-05-10 · field out · FS · fly_ball · EV 81.9 / LA 37.02026-05-10 · single · FF · ground_ball · EV 94.7 / LA 1.02026-05-10 · field error · FF · ground_ball · EV 95.9 / LA 3.02026-05-10 · field out · SI · ground_ball · EV 74.6 / LA -15.02026-05-10 · field out · SI · ground_ball · EV 101.6 / LA -2.02026-05-12 · force out · CU · ground_ball · EV 83.0 / LA -27.02026-05-12 · field out · FF · popup · EV 71.0 / LA 63.02026-05-13 · grounded into double play · SI · ground_ball · EV 102.6 / LA 5.02026-05-13 · double · SV · line_drive · EV 95.6 / LA 11.02026-05-13 · home run · FF · fly_ball · EV 100.4 / LA 28.02026-05-13 · field out · FF · fly_ball · EV 88.9 / LA 56.02026-05-14 · field out · SL · fly_ball · EV 97.5 / LA 33.02026-05-14 · single · SI · line_drive · EV 94.9 / LA 9.02026-05-14 · single · SL · ground_ball · EV 97.4 / LA -3.02026-05-14 · home run · FF · fly_ball · EV 104.1 / LA 29.02026-05-15 · field out · FC · ground_ball · EV 56.3 / LA 4.02026-05-15 · field out · FF · fly_ball · EV 98.3 / LA 52.02026-05-15 · field out · SI · ground_ball · EV 80.6 / LA -17.02026-05-16 · field out · SI · fly_ball · EV 86.3 / LA 36.02026-05-31 · single · FF · line_drive · EV 91.8 / LA 15.02026-05-31 · field out · FF · ground_ball · EV 72.4 / LA -56.02026-05-31 · home run · SL · fly_ball · EV 98.6 / LA 26.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 O'Hearn, Ryan · aggregate bat-tracking arc Swing tilt 31.3° Length 7.1 ft Ideal path 48% MITHRANDIR · CHARTS
Mithrandir Metrics ATTACK ANGLE Parameterized Mithrandir chart rendered as SVG for templates and exports. Attack Angle O'Hearn, Ryan · aggregate attack vector Attack angle 10.0° Direction +2.8° MITHRANDIR · CHARTS
Mithrandir Metrics BAT SPEED DISTRIBUTION Parameterized Mithrandir chart rendered as SVG for templates and exports. Bat Speed O'Hearn, Ryan · aggregate bat speed marker 60 mph 85 mph Avg bat speed 70.7 mph Hard swing rate 9% Whiff / swing 14% 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 O'Hearn, Ryan · Aggregate zone metrics; not pitch-by-pitch locations Zone: 47%47%Chase: 29%29%Whiff: 20%20%Zone contact: 89%89%Contact: 80%80%Hard hit: 45%45% Dashed border = aggregate mixed-batter zone proxy MITHRANDIR · CHARTS
Model read

Projection notes

1
templated note
Profile still plays best against righties (0.290 vs 0.248 xwOBA split).
2
templated note
Home park trims some of the raw HR output despite the underlying power.
3
templated note
Age-33 season adds a little downside to the power band.
Live context

Current-season signal

xwOBA Δ+0.018
wOBA Δ+0.052
Sample205 PA

negative regression

Projection table

Point projection and range

MetricPointRangeHalf-width
Plate Appearances539----
Home Runs17----
Stolen Bases0----
xwOBA0.3410.311 to 0.381+/- 0.035
ISO0.1640.123 to 0.245+/- 0.061
Barrel%5.0%3.3% to 6.8%+/- 1.8%
Hard-Hit%42.4%38.2% to 49.3%+/- 5.5%
K%20.2%16.0% to 24.2%+/- 4.1%
BB%8.8%7.4% to 11.6%+/- 2.1%
BABIP0.3070.275 to 0.354+/- 0.039
Platoon / Shape
vs LHP

377 career PA

xwOBA0.248
K%18.9%
BB%6.4%
Barrel3.5%
vs RHP

2252 career PA

xwOBA0.290
K%15.4%
BB%7.7%
Barrel4.7%