Mithrandir Metrics
Hitter projection 2026 Refreshed Sep 26 06:00 AM ET
Hitter projection / BOS · 2026

Contreras, Willson

Veteran bat leaning on contact and approach

Primary
0.359 xwOBA
Range
0.316 to 0.393
Live Δ
yes
Team BOS Archetype Balanced regular Age 34 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
87
Offense
percentile
Offense9 metrics
82
Defense2 metrics
67
Speed3 metrics
19
Plate skills10 metrics
38
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.356
xwOBA current pace0.377
xwOBA rolling p500.371
Observed weight71%
xwOBA
0.349 0.359 0.371 0.382 0.393
wOBA
0.387 0.400 0.414 0.428 0.441
ISO
0.195 0.207 0.220 0.233 0.245
K%
22.5% 23.5% 24.6% 25.7% 26.7%
Current percentile strip

Actual percentile with projection tick

100th = best in MLB.

2026-09-26
Hitting · percentile strip
Barrel%7.8%
86
Exit velocity89.5
71
Hard-hit%44.3%
78
xBA0.367
93
xSLG0.696
95
xwOBA0.377
97
BB%10.9%
79 +23 vs proj
Bat speed74.6
97
K%24.9%
38
Defense · percentile strip
Outs Above Avg1.0 · 1B
73
Range Runs0.6 · 1B
60
Baserunning · percentile strip
Base Running Runs-3.3 · 1B
5
SB Success Rate50.0% · 1B
4
Sprint Speed27.3 · 1B
47
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 63.8% · rebadged research
42
Avoids Bad TakesHPT 23.5% · rebadged research
68
Correct Decisions65.4% · rebadged research
43
Resists FastballwOBA 0.354 · validated
24
SEAGER+ Plate Discipline101
50
Resists Breaking - horizontalwOBA 0.304 · borderline
23
Resists Breaking - verticalwOBA 0.280 · insufficient sample
46
Resists ChangeupwOBA 0.326 · validated thin sample
2
Resists Cutters + splitterswOBA 0.313 · insufficient sample
80
Resists SinkerwOBA 0.413 · validated
1
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 Contreras, Willson · Live snapshot series; true 50/100 PA windows require PA-level logs LG AVG 0.302 0.377 2026-09-12: 0.3742026-09-13: 0.3742026-09-14: 0.3752026-09-18: 0.3772026-09-19: 0.3772026-09-20: 0.3772026-09-21: 0.3772026-09-22: 0.3772026-09-23: 0.3772026-09-24: 0.3772026-09-25: 0.3772026-09-26: 0.377 2026-09-12 2026-09-26 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

220 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 Contreras, Willson · Statcast batted-ball landing coordinates Left field third: 19% of plotted batted ballsPull 19%Center field third: 71% of plotted batted ballsCenter 71%Right field third: 10% of plotted batted ballsOppo 10% LF 310 CF 390 RF 302 2026-03-19 · double · SL · line_drive · EV 101.0 / LA 3.02026-03-19 · single · CH · ground_ball · EV 103.4 / LA -15.02026-03-20 · field out · SL · line_drive · EV 91.0 / LA 22.02026-03-20 · single · CH · ground_ball · EV 107.8 / LA 0.02026-03-20 · field out · CU · ground_ball · EV 67.2 / LA -17.02026-03-21 · field out · CH · ground_ball · EV 80.3 / LA 3.02026-03-23 · double play · SI · line_drive · EV 44.7 / LA 14.02026-03-23 · field out · FF · popup · EV 87.1 / LA 67.02026-03-23 · field out · FF · ground_ball · EV 107.1 / LA -17.02026-03-24 · field error · SL · ground_ball · EV 53.6 / LA -61.02026-03-24 · field out · FC · fly_ball · EV 99.6 / LA 28.02026-03-26 · field out · FF · ground_ball2026-03-26 · field out · FF · popup · EV 87.7 / LA 64.02026-03-26 · field out · FF · popup · EV 81.3 / LA 87.02026-03-29 · field out · FF · line_drive · EV 84.2 / LA 26.02026-03-29 · single · FF · ground_ball · EV 110.3 / LA 3.02026-03-29 · grounded into double play · FF · ground_ball2026-03-30 · force out · SI · ground_ball · EV 101.2 / LA 7.02026-03-30 · field out · ST · ground_ball · EV 63.0 / LA 16.02026-03-31 · field out · SI · ground_ball · EV 100.8 / LA -1.02026-03-31 · field out · SI · popup · EV 85.6 / LA 77.02026-03-31 · single · SI · ground_ball · EV 82.4 / LA -41.02026-03-31 · field out · SI · line_drive · EV 58.2 / LA 19.02026-04-01 · field out · SI · ground_ball · EV 103.6 / LA -15.02026-04-01 · single · SI · ground_ball · EV 91.0 / LA -10.02026-04-03 · home run · SI · fly_ball · EV 108.7 / LA 32.02026-04-03 · field out · CH · ground_ball · EV 92.4 / LA 0.02026-04-04 · single · SI · ground_ball · EV 85.2 / LA 8.02026-04-04 · grounded into double play · CU · ground_ball · EV 102.2 / LA 3.02026-04-04 · field out · FF · line_drive · EV 104.2 / LA 21.02026-04-05 · field out · ST · ground_ball · EV 77.9 / LA -36.02026-04-05 · force out · SI · ground_ball · EV 91.5 / LA -30.02026-04-06 · double · SI · fly_ball · EV 74.4 / LA 36.02026-04-06 · single · SI · line_drive · EV 93.4 / LA 16.02026-04-06 · home run · CH · fly_ball · EV 105.3 / LA 33.02026-04-07 · single · CU · line_drive · EV 94.4 / LA 11.02026-04-08 · field out · FC · fly_ball · EV 97.7 / LA 35.02026-04-08 · field out · SI · line_drive · EV 62.2 / LA 19.02026-04-08 · single · SI · line_drive · EV 108.6 / LA 11.02026-04-10 · field out · ST · fly_ball · EV 95.0 / LA 42.02026-04-10 · field out · ST · fly_ball · EV 106.9 / LA 41.02026-04-11 · double · SL · line_drive · EV 112.8 / LA 11.02026-04-11 · single · SI · ground_ball · EV 109.7 / LA 0.02026-04-12 · home run · SI · fly_ball · EV 106.2 / LA 28.02026-04-12 · single · SL · line_drive · EV 81.6 / LA 15.02026-04-12 · single · SI · line_drive · EV 83.9 / LA 13.02026-04-12 · single · CH · ground_ball · EV 55.4 / LA -67.02026-04-12 · field out · FC · fly_ball · EV 102.9 / LA 52.02026-04-13 · single · SL · ground_ball · EV 76.6 / LA -2.02026-04-17 · field out · FF · fly_ball · EV 99.4 / LA 42.02026-04-17 · field out · FF · fly_ball · EV 102.9 / LA 48.02026-04-18 · single · FC · line_drive · EV 100.8 / LA 11.02026-04-19 · field out · SI · ground_ball · EV 109.2 / LA -17.02026-04-19 · field out · CU · fly_ball · EV 84.3 / LA 30.02026-04-19 · home run · SI · fly_ball · EV 109.4 / LA 32.02026-04-20 · field out · FF · popup · EV 89.4 / LA 61.02026-04-20 · field out · FF · line_drive · EV 82.5 / LA 24.02026-04-20 · single · FF · ground_ball · EV 103.2 / LA -3.02026-04-20 · field out · SL · fly_ball · EV 108.9 / LA 23.02026-04-21 · single · FF · line_drive · EV 113.2 / LA 9.02026-04-21 · field out · CH · fly_ball · EV 89.3 / LA 40.02026-04-21 · field out · SL · popup · EV 85.8 / LA 74.02026-04-21 · field out · SI · ground_ball · EV 85.6 / LA -38.02026-04-22 · field out · ST · popup · EV 53.1 / LA 45.02026-04-22 · field out · FC · ground_ball · EV 71.5 / LA -21.02026-04-23 · field out · FF · fly_ball · EV 73.9 / LA 37.02026-04-23 · field out · FS · ground_ball · EV 100.2 / LA -8.02026-04-25 · field out · CH · ground_ball · EV 96.1 / LA -24.02026-04-25 · sac fly · FC · fly_ball · EV 106.4 / LA 43.02026-04-25 · single · CH · line_drive · EV 83.6 / LA 16.02026-04-25 · home run · EP · fly_ball · EV 104.2 / LA 29.02026-04-26 · field out · SI · ground_ball · EV 92.4 / LA -1.02026-04-26 · home run · SL · fly_ball · EV 108.6 / LA 31.02026-04-27 · field out · FF · ground_ball · EV 95.0 / LA 5.02026-04-27 · single · FF · line_drive · EV 90.3 / LA 9.02026-04-27 · field out · SI · popup · EV 96.8 / LA 66.02026-04-28 · double · FF · line_drive · EV 104.3 / LA 21.02026-04-28 · field out · FF · ground_ball · EV 90.4 / LA -5.02026-04-28 · field out · SI · ground_ball · EV 78.2 / LA -2.02026-04-29 · double play · SL · line_drive · EV 80.7 / LA 12.02026-04-29 · single · SI · line_drive · EV 107.8 / LA 11.02026-04-29 · home run · FF · fly_ball · EV 103.9 / LA 28.02026-04-29 · field out · CH · fly_ball · EV 108.0 / LA 44.02026-05-01 · single · SI · line_drive · EV 91.2 / LA 19.02026-05-02 · field out · SI · ground_ball · EV 66.6 / LA -2.02026-05-02 · grounded into double play · SI · ground_ball · EV 72.5 / LA 4.02026-05-02 · sac fly · SI · fly_ball · EV 102.5 / LA 25.02026-05-02 · single · CH · line_drive · EV 109.5 / LA 11.02026-05-02 · field out · FF · fly_ball · EV 85.8 / LA 46.02026-05-03 · double · SL · fly_ball · EV 110.5 / LA 24.02026-05-03 · single · SL · ground_ball · EV 65.8 / LA -16.02026-05-03 · single · SI · line_drive · EV 87.7 / LA 15.02026-05-04 · force out · FF · ground_ball · EV 79.4 / LA -29.02026-05-04 · field out · FF · popup · EV 58.0 / LA 66.02026-05-05 · field out · SI · ground_ball · EV 103.5 / LA -23.02026-05-05 · home run · SI · fly_ball · EV 111.9 / LA 32.02026-05-05 · field out · SI · ground_ball · EV 80.5 / LA -40.02026-05-06 · sac fly · FF · fly_ball · EV 76.2 / LA 30.02026-05-07 · single · SI · line_drive · EV 111.9 / LA 10.02026-05-07 · field out · SI · ground_ball · EV 103.3 / LA -14.02026-05-07 · field out · FC · ground_ball · EV 53.2 / LA 9.02026-05-08 · field out · SI · popup · EV 60.5 / LA 37.02026-05-13 · field out · SI · fly_ball · EV 82.5 / LA 34.02026-05-13 · grounded into double play · ST · ground_ball · EV 71.6 / LA -13.02026-05-13 · grounded into double play · SI · ground_ball · EV 105.0 / LA 1.02026-05-14 · field out · SI · popup · EV 82.5 / LA 80.02026-05-14 · field out · FF · fly_ball · EV 89.7 / LA 36.02026-05-14 · double · CH · fly_ball · EV 91.0 / LA 25.02026-05-14 · field out · CH · ground_ball · EV 97.9 / LA -8.02026-05-15 · field out · SL · ground_ball · EV 66.4 / LA -28.02026-05-15 · field out · SL · fly_ball · EV 82.1 / LA 45.02026-05-16 · home run · SL · fly_ball · EV 106.1 / LA 26.02026-05-16 · single · SI · ground_ball · EV 113.0 / LA 4.02026-05-16 · fielders choice · SL · ground_ball · EV 70.0 / LA -17.02026-05-17 · field out · SI · ground_ball · EV 81.5 / LA -29.02026-05-17 · field out · FF · line_drive · EV 95.4 / LA 23.02026-05-17 · double · SI · ground_ball · EV 101.0 / LA -5.02026-05-18 · field out · SI · popup · EV 85.5 / LA 70.02026-05-18 · field out · SI · ground_ball · EV 100.6 / LA -2.02026-05-18 · home run · SI · fly_ball · EV 110.0 / LA 32.02026-05-18 · field out · SI · ground_ball · EV 59.8 / LA 5.02026-05-19 · single · FF · line_drive · EV 84.0 / LA 20.02026-05-19 · field out · ST · ground_ball · EV 71.1 / LA 16.02026-05-19 · field out · FF · ground_ball · EV 92.8 / LA 3.02026-05-19 · single · SL · line_drive · EV 97.3 / LA 14.02026-05-20 · triple · FC · line_drive · EV 95.6 / LA 20.02026-05-20 · single · FF · ground_ball · EV 99.1 / LA 2.02026-05-20 · field out · CU · ground_ball · EV 85.5 / LA -7.02026-05-20 · single · CH · ground_ball · EV 81.2 / LA 5.02026-05-22 · field out · SI · ground_ball · EV 40.3 / LA -28.02026-05-22 · grounded into double play · CH · ground_ball · EV 89.7 / LA -17.02026-05-22 · triple · CH · fly_ball · EV 102.2 / LA 24.02026-05-23 · single · FC · ground_ball · EV 101.2 / LA -20.02026-05-23 · field out · FF · popup · EV 58.1 / LA 49.02026-05-23 · single · FF · line_drive · EV 72.5 / LA 22.02026-05-24 · field out · ST · fly_ball · EV 86.2 / LA 51.02026-05-24 · home run · SI · fly_ball · EV 105.6 / LA 31.02026-05-24 · single · CH · ground_ball · EV 84.4 / LA 7.02026-05-26 · field out · FF · popup · EV 82.0 / LA 75.02026-05-26 · single · FF · ground_ball · EV 107.6 / LA -2.02026-05-26 · single · FF · ground_ball · EV 81.6 / LA 6.02026-05-26 · field out · SI · popup · EV 63.5 / LA 36.02026-05-27 · field out · SI · ground_ball · EV 92.1 / LA -3.02026-05-27 · field out · SI · popup · EV 99.4 / LA 68.02026-05-27 · single · FF · line_drive · EV 103.7 / LA 8.02026-06-04 · home run · SI · fly_ball · EV 100.2 / LA 33.02026-06-04 · single · FF · ground_ball · EV 105.5 / LA 6.02026-06-04 · field out · FF · popup · EV 92.5 / LA 67.02026-06-05 · single · SL · ground_ball · EV 52.3 / LA -72.02026-06-05 · field out · CH · line_drive · EV 102.2 / LA 22.02026-06-07 · double · FC · line_drive · EV 110.0 / LA 19.02026-06-07 · field out · SI · fly_ball · EV 102.6 / LA 53.02026-06-07 · field out · FF · popup · EV 80.8 / LA 55.02026-06-18 · field out · CH · ground_ball · EV 77.7 / LA -29.02026-06-18 · field out · FF · ground_ball · EV 92.0 / LA -1.02026-06-18 · field out · FF · ground_ball · EV 77.4 / LA 5.02026-06-20 · field out · FF · fly_ball · EV 97.0 / LA 55.02026-06-22 · double play · FF · line_drive · EV 97.3 / LA 9.02026-06-22 · double · SI · line_drive · EV 98.3 / LA 15.02026-06-22 · field out · FF · fly_ball · EV 98.3 / LA 51.02026-06-22 · field out · ST · fly_ball · EV 76.4 / LA 51.02026-06-24 · field out · FF · line_drive · EV 90.1 / LA 25.02026-06-24 · field out · FC · ground_ball · EV 49.1 / LA 13.02026-06-24 · double · KC · fly_ball · EV 102.2 / LA 34.02026-06-26 · home run · ST · fly_ball · EV 111.9 / LA 36.02026-06-26 · single · SI · line_drive · EV 84.6 / LA 16.02026-06-30 · field error · FF · ground_ball · EV 96.0 / LA -10.02026-07-01 · field out · FF · ground_ball · EV 90.5 / LA -1.02026-07-01 · single · FF · ground_ball · EV 99.6 / LA 7.02026-07-01 · field out · FC · popup · EV 86.6 / LA 66.02026-07-01 · single · FF · line_drive · EV 113.4 / LA 13.02026-07-27 · field out · FF · fly_ball · EV 91.7 / LA 45.02026-08-02 · field out · ST · fly_ball · EV 92.9 / LA 49.02026-08-02 · field out · CU · fly_ball · EV 92.6 / LA 48.02026-08-02 · field out · SL · line_drive · EV 94.2 / LA 20.02026-08-04 · single · SI · line_drive · EV 114.9 / LA 15.02026-08-04 · double play · SI · fly_ball · EV 103.2 / LA 41.02026-08-04 · single · SL · fly_ball · EV 71.4 / LA 17.02026-08-05 · single · KC · line_drive · EV 86.2 / LA 21.02026-08-08 · single · FF · line_drive · EV 94.6 / LA 13.02026-08-08 · field out · SL · ground_ball · EV 100.0 / LA -25.02026-08-11 · field out · SL · fly_ball · EV 83.0 / LA 44.02026-08-11 · field out · ST · popup · EV 81.3 / LA 69.02026-08-11 · field out · FF · popup · EV 72.2 / LA 53.02026-08-13 · field out · SL · line_drive · EV 85.5 / LA 9.02026-08-13 · sac bunt · ST · ground_ball · EV 33.1 / LA 7.02026-08-13 · field out · SI · popup · EV 68.2 / LA 57.02026-08-13 · double · CH · line_drive · EV 96.0 / LA 25.02026-08-14 · single · FF · ground_ball · EV 31.1 / LA -30.02026-08-14 · field out · FF · ground_ball · EV 65.1 / LA 4.02026-08-15 · field out · SI · fly_ball · EV 90.8 / LA 26.02026-08-17 · double · CH · line_drive · EV 102.2 / LA 16.02026-08-17 · home run · ST · fly_ball · EV 89.9 / LA 37.02026-08-17 · field out · FS · fly_ball · EV 101.7 / LA 57.02026-08-17 · field out · SI · ground_ball · EV 83.6 / LA -42.02026-08-19 · field out · SI · ground_ball · EV 52.5 / LA -6.02026-08-19 · single · ST · fly_ball · EV 71.4 / LA 29.02026-08-19 · single · CH · ground_ball · EV 92.6 / LA -2.02026-08-21 · home run · CH · fly_ball · EV 116.0 / LA 30.02026-08-21 · field out · ST · line_drive · EV 99.5 / LA 15.02026-08-22 · field out · SI · line_drive · EV 69.8 / LA 15.02026-08-22 · single · FF · ground_ball · EV 87.9 / LA 1.02026-08-22 · field out · SI · ground_ball · EV 78.5 / LA -21.02026-08-23 · field out · FF · popup · EV 96.6 / LA 60.02026-08-23 · field out · FF · fly_ball · EV 95.1 / LA 42.02026-08-23 · field out · SI · ground_ball · EV 103.3 / LA -10.02026-08-24 · field out · CH · ground_ball · EV 94.6 / LA -11.02026-08-24 · field out · SL · ground_ball · EV 57.2 / LA -31.02026-08-24 · field out · ST · popup · EV 94.1 / LA 68.02026-08-24 · field out · FF · ground_ball · EV 98.1 / LA -6.02026-08-29 · field out · FC · ground_ball · EV 85.1 / LA 4.02026-08-29 · field out · CH · ground_ball · EV 90.7 / LA 9.02026-08-29 · triple · FF · line_drive · EV 92.1 / LA 22.02026-08-30 · grounded into double play · SI · ground_ball · EV 70.2 / LA -1.02026-08-30 · field out · ST · line_drive · EV 96.8 / LA 17.02026-09-13 · single · CU · line_drive · EV 103.1 / LA 14.02026-09-13 · single · FF · ground_ball · EV 99.4 / LA 5.02026-09-13 · field error · SL · ground_ball · EV 79.4 / LA -8.02026-09-17 · single · FF · line_drive · EV 85.1 / LA 13.02026-09-17 · field out · FC · popup · EV 87.4 / LA 65.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 Contreras, Willson · aggregate bat speed marker 60 mph 85 mph Avg bat speed 76.1 mph Hard swing rate 64% Whiff / swing 34% 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 Contreras, Willson · Aggregate zone metrics; not pitch-by-pitch locations Zone: 44%44%Chase: 33%33%Whiff: 29%29%Zone contact: 84%84%Contact: 71%71%Hard hit: 44%44% Dashed border = aggregate mixed-batter zone proxy MITHRANDIR · CHARTS
Model read

Projection notes

1
templated note
Age-34 season adds a little downside to the power band.
Live context

Current-season signal

xwOBA Δ+0.018
wOBA Δ+0.055
Sample550 PA

negative regression

Projection table

Point projection and range

MetricPointRangeHalf-width
Plate Appearances528----
Home Runs20----
Stolen Bases0----
xwOBA0.3590.316 to 0.393+/- 0.039
ISO0.1830.142 to 0.271+/- 0.065
Barrel%7.2%5.1% to 9.8%+/- 2.4%
Hard-Hit%46.6%42.2% to 53.1%+/- 5.4%
K%24.2%20.2% to 29.5%+/- 4.6%
BB%9.0%7.6% to 11.8%+/- 2.1%
BABIP0.3310.281 to 0.375+/- 0.047
Platoon / Shape
vs LHP

1168 career PA

xwOBA0.306
K%20.6%
BB%9.5%
Barrel6.1%
vs RHP

3337 career PA

xwOBA0.294
K%21.1%
BB%7.2%
Barrel6.4%