Mithrandir Metrics
Hitter projection 2026 Refreshed Sep 26 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
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-09-26
64
Offense
percentile
Offense9 metrics
58
Defense4 metrics
33
Speed1 metrics
33
Plate skills10 metrics
41
Rolling projection

Preseason / current pace / Bayesian update

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

2026-09-26
xwOBA preseason0.345
xwOBA current pace0.317
xwOBA rolling p500.326
Observed weight68%
xwOBA
0.304 0.315 0.326 0.338 0.348
wOBA
0.323 0.336 0.351 0.366 0.379
ISO
0.148 0.160 0.173 0.186 0.197
K%
19.2% 20.2% 21.3% 22.4% 23.4%
Current percentile strip

Actual percentile with projection tick

100th = best in MLB.

2026-09-26
Hitting · percentile strip
Barrel%5.2%
55
Exit velocity89.4
70
Hard-hit%42.8%
71
xBA0.328
62
xSLG0.527
58
xwOBA0.317
66 -19 vs proj
BB%8.0%
43
Bat speed68.9
40
K%21.5%
58
Defense · percentile strip
Arm Runs-1.2 · 1B
4
Arm Strength84.8 · 1B
28
Outs Above Avg1.0 · 1B
73
Range Runs-2.9 · 1B
25
Baserunning · percentile strip
Sprint Speed26.8 · RF
33
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-09-26
Avoids Bad ChasesST 65.9% · rebadged research
52
Avoids Bad TakesHPT 28.8% · rebadged research
19
Correct Decisions63.8% · rebadged research
26
SEAGER+ Plate Discipline98
34
Resists Breaking - horizontalwOBA 0.294 · borderline
37
Resists Breaking - verticalwOBA 0.251 · insufficient sample
98
Resists ChangeupwOBA 0.272 · validated thin sample
73
Resists Cutters + splitterswOBA 0.320 · insufficient sample
61
Resists FastballwOBA 0.408 · validated
1
Resists SinkerwOBA 0.384 · validated
8
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.302 0.317 2026-09-12: 0.3212026-09-13: 0.3192026-09-14: 0.3182026-09-18: 0.3182026-09-19: 0.3182026-09-20: 0.3182026-09-21: 0.3162026-09-22: 0.3162026-09-23: 0.3162026-09-24: 0.3152026-09-25: 0.3152026-09-26: 0.317 2026-09-12 2026-09-26 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

193 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: 14% of plotted batted ballsPull 14%Center field third: 70% of plotted batted ballsCenter 70%Right field third: 16% of plotted batted ballsOppo 16% 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 · fly_ball · EV 105.9 / LA 25.02026-03-19 · field out · SI · ground_ball · EV 85.7 / LA -51.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 · single · SI · ground_ball · EV 104.2 / LA 8.02026-03-26 · home run · FF · fly_ball · EV 97.3 / LA 36.02026-03-26 · field out · FF · ground_ball · EV 93.4 / LA -14.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-28 · field out · CU · fly_ball · EV 95.6 / LA 35.02026-03-28 · field out · SL · ground_ball · EV 65.1 / LA -11.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 · field out · CH · ground_ball · EV 63.3 / LA -10.02026-03-30 · single · CH · line_drive · EV 71.1 / LA 22.02026-03-31 · grounded into double play · SI · ground_ball · EV 78.0 / LA -2.02026-03-31 · home run · FF · fly_ball · EV 103.5 / LA 28.02026-03-31 · field out · ST · line_drive · EV 66.2 / LA 24.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 · ST · ground_ball · EV 61.7 / LA -14.02026-04-04 · field out · KC · fly_ball · EV 97.5 / LA 47.02026-04-05 · home run · FF · fly_ball · EV 103.8 / LA 32.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-05 · double · SI · line_drive · EV 100.6 / LA 20.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 · field out · FF · fly_ball · EV 97.4 / LA 35.02026-04-07 · single · FF · ground_ball · EV 82.2 / LA 1.02026-04-07 · single · SI · line_drive · EV 96.2 / LA 12.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 · field out · FF · fly_ball · EV 79.4 / LA 44.02026-04-10 · single · SL · line_drive · EV 101.9 / LA 11.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 · field out · CU · ground_ball · EV 63.0 / LA -31.02026-04-12 · single · CH · fly_ball · EV 67.7 / LA 46.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 · grounded into double play · SI · ground_ball · EV 92.3 / LA -13.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-15 · single · FF · line_drive · EV 67.6 / LA 24.02026-04-15 · single · FC · line_drive · EV 97.5 / LA 11.02026-04-15 · single · FF · ground_ball · EV 104.3 / LA 6.02026-04-17 · field out · SI · ground_ball · EV 87.0 / LA -24.02026-04-17 · field out · FC · fly_ball · EV 94.9 / LA 39.02026-04-17 · field out · CH · ground_ball · EV 103.3 / LA -21.02026-04-18 · home run · FC · fly_ball · EV 106.5 / LA 37.02026-04-18 · single · FF · ground_ball · EV 80.7 / LA -27.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 · grounded into double play · FC · ground_ball · EV 82.0 / LA -12.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-23 · single · SL · line_drive · EV 103.7 / LA 13.02026-04-23 · field out · CH · ground_ball · EV 92.3 / LA 2.02026-04-24 · field out · FF · popup · EV 82.3 / LA 86.02026-04-24 · field out · FF · fly_ball · EV 90.2 / LA 34.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 · field out · SL · line_drive · EV 98.0 / LA 12.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-27 · single · FF · line_drive · EV 102.6 / LA 16.02026-04-27 · field out · FF · ground_ball · EV 100.6 / LA -12.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 · FF · fly_ball · EV 83.7 / LA 30.02026-04-29 · single · SI · line_drive · EV 66.1 / LA 20.02026-04-29 · field error · SI · ground_ball · EV 93.2 / LA -1.02026-04-29 · field out · SL · ground_ball · EV 91.7 / LA -8.02026-04-30 · field out · FF · popup · EV 70.3 / LA 56.02026-04-30 · field out · ST · ground_ball · EV 60.2 / LA -16.02026-04-30 · field out · SI · line_drive · EV 92.3 / LA 24.02026-05-01 · field out · SL · ground_ball · EV 96.2 / LA -17.02026-05-01 · single · SI · line_drive · EV 105.2 / LA 13.02026-05-01 · field out · SL · line_drive · EV 92.2 / LA 8.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-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 · fly_ball · EV 95.0 / LA 54.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-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 · grounded into double play · EP · ground_ball · EV 87.3 / LA -4.02026-05-09 · single · CH · ground_ball · EV 87.0 / LA -25.02026-05-09 · single · SI · line_drive · EV 104.6 / LA 12.02026-05-09 · field out · ST · fly_ball · EV 86.9 / LA 46.02026-05-09 · field out · FC · fly_ball · EV 91.6 / LA 37.02026-05-10 · field out · SI · ground_ball · EV 101.6 / LA -2.02026-05-10 · field out · SI · ground_ball · EV 74.6 / LA -15.02026-05-10 · field error · FF · ground_ball · EV 95.9 / LA 3.02026-05-10 · single · FF · ground_ball · EV 94.7 / LA 1.02026-05-10 · field out · FS · fly_ball · EV 81.9 / LA 37.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 · double · SV · line_drive · EV 95.6 / LA 11.02026-05-13 · grounded into double play · SI · ground_ball · EV 102.6 / LA 5.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 · home run · FF · fly_ball · EV 104.1 / LA 29.02026-05-14 · single · SI · line_drive · EV 94.9 / LA 9.02026-05-14 · field out · SL · fly_ball · EV 97.5 / LA 33.02026-05-14 · single · SL · ground_ball · EV 97.4 / LA -3.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-15 · field out · FC · ground_ball · EV 56.3 / LA 4.02026-05-16 · field out · SI · fly_ball · EV 86.3 / LA 36.02026-05-31 · home run · SL · fly_ball · EV 98.6 / LA 26.02026-05-31 · field out · FF · ground_ball · EV 72.4 / LA -56.02026-05-31 · single · FF · line_drive · EV 91.8 / LA 15.02026-06-04 · home run · FF · fly_ball · EV 94.0 / LA 31.02026-06-04 · field out · FF · line_drive · EV 88.8 / LA 26.02026-06-04 · single · FF · ground_ball · EV 97.3 / LA 3.02026-06-05 · grounded into double play · CH · ground_ball · EV 81.9 / LA -2.02026-06-07 · field out · SL · ground_ball · EV 82.6 / LA -39.02026-06-07 · field out · FC · popup · EV 63.6 / LA 64.02026-06-07 · field out · SI · ground_ball · EV 96.6 / LA 2.02026-06-15 · field out · CU · fly_ball · EV 100.8 / LA 38.02026-06-15 · single · SI · line_drive · EV 101.8 / LA 12.02026-06-15 · field out · CH · ground_ball · EV 97.2 / LA -24.02026-06-20 · field out · CU · ground_ball · EV 34.7 / LA -55.02026-06-20 · field out · CU · ground_ball · EV 83.7 / LA -13.02026-06-24 · double · FF · fly_ball · EV 78.3 / LA 48.02026-06-24 · single · FF · line_drive · EV 71.8 / LA 22.02026-06-24 · field out · SL · popup · EV 85.7 / LA 73.02026-06-24 · double · SL · line_drive · EV 101.8 / LA 18.02026-06-24 · double · FF · line_drive · EV 83.0 / LA 16.02026-06-26 · field out · FF · ground_ball · EV 98.2 / LA -16.02026-07-01 · field out · FS · ground_ball · EV 99.9 / LA 7.02026-07-01 · field out · FF · popup · EV 90.4 / LA 68.02026-07-01 · single · FF · ground_ball · EV 103.8 / LA 2.02026-07-27 · field out · CH · ground_ball · EV 62.5 / LA -39.02026-07-27 · field out · CH · fly_ball · EV 93.8 / LA 43.02026-07-27 · field out · CH · line_drive · EV 99.9 / LA 18.02026-07-27 · field out · FC · popup · EV 77.0 / LA 66.02026-07-31 · field out · FF · ground_ball · EV 92.2 / LA -24.02026-07-31 · field out · FF · ground_ball · EV 78.7 / LA -5.02026-07-31 · field out · FS · popup · EV 69.2 / LA 62.02026-07-31 · single · FF · ground_ball · EV 86.8 / LA -10.02026-09-11 · field out · FC · fly_ball · EV 100.4 / LA 37.02026-09-11 · field out · FC · fly_ball · EV 97.8 / LA 51.02026-09-12 · field out · SI · ground_ball · EV 80.7 / LA -18.02026-09-12 · home run · FC · fly_ball · EV 99.8 / LA 37.02026-09-12 · field out · CH · ground_ball · EV 65.9 / LA -16.02026-09-13 · field out · SL · ground_ball · EV 89.6 / LA 10.02026-09-13 · field out · SI · ground_ball · EV 79.0 / LA -31.02026-09-13 · field out · FF · ground_ball · EV 93.8 / LA 5.02026-09-18 · grounded into double play · FC · ground_ball · EV 69.5 / LA 2.02026-09-18 · force out · SI · ground_ball · EV 92.8 / LA -11.02026-09-20 · single · FF · ground_ball · EV 103.6 / LA 2.02026-09-20 · field out · FC · popup · EV 61.8 / LA 64.02026-09-22 · single · FF · ground_ball · EV 88.9 / LA 6.02026-09-22 · fielders choice · FF · ground_ball · EV 101.9 / LA 4.02026-09-22 · field out · SL · ground_ball · EV 91.1 / LA -8.02026-09-23 · field out · ST · ground_ball · EV 69.8 / LA 12.02026-09-23 · double · FF · fly_ball · EV 99.3 / LA 45.02026-09-23 · double · FF · line_drive · EV 96.8 / LA 22.02026-09-25 · field out · SL · ground_ball · EV 89.0 / LA -12.02026-09-25 · single · SI · line_drive · EV 100.6 / LA 18.02026-09-25 · single · CU · line_drive · EV 89.8 / LA 11.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. 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 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: 48%48%Chase: 31%31%Whiff: 20%20%Zone contact: 88%88%Contact: 80%80%Hard hit: 43%43% 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.024
wOBA Δ+0.010
Sample465 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%