Mithrandir Metrics
Hitter projection 2026 Refreshed Sep 1 06:00 AM ET
Hitter projection / COL · 2026

Castro, Willi

Everyday offensive profile with usable floor

Primary
0.329 xwOBA
Range
0.304 to 0.377
Live Δ
yes
Team COL Archetype Balanced regular Age 29 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-01
59
Offense
percentile
Offense9 metrics
56
Defense4 metrics
60
Speed4 metrics
49
Plate skills10 metrics
52
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-01
xwOBA preseason0.330
xwOBA current pace0.309
xwOBA rolling p500.316
Observed weight69%
xwOBA
0.294 0.304 0.316 0.327 0.337
wOBA
0.322 0.335 0.350 0.364 0.377
ISO
0.138 0.150 0.164 0.177 0.189
K%
24.1% 25.1% 26.3% 27.5% 28.5%
Current percentile strip

Actual percentile with projection tick

100th = best in MLB.

2026-09-01
Hitting · percentile strip
Barrel%5.2%
56
Exit velocity86.9
39
Hard-hit%40.6%
59 +15 vs proj
xBA0.339
73
xSLG0.561
70
xwOBA0.309
56 -20 vs proj
BB%8.4%
51
Bat speed70.9
70
K%26.9%
29 -17 vs proj
Defense · percentile strip
Arm Runs0.1 · 2B
58
Arm Strength92.9 · 2B
88
Outs Above Avg1.0 · 2B
72
Range Runs-3.3 · 2B
20
Baserunning · percentile strip
Base Running Runs0.5 · 2B
55
Bolts1.0 · 2B
12
SB Success Rate83.3% · 2B
59
Sprint Speed28.2 · 2B
72
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-01
Avoids Bad ChasesST 58.4% · rebadged research
18
Avoids Bad TakesHPT 22.0% · rebadged research
80
Correct Decisions63.7% · rebadged research
26
Resists FastballwOBA 0.348 · validated
31
SEAGER+ Plate Discipline97
32
Resists Breaking - horizontalwOBA 0.274 · borderline
81
Resists Breaking - verticalwOBA 0.269 · insufficient sample
75
Resists ChangeupwOBA 0.267 · validated thin sample
81
Resists Cutters + splitterswOBA 0.352 · insufficient sample
11
Resists SinkerwOBA 0.336 · validated
89
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 Castro, Willi · Live snapshot series; true 50/100 PA windows require PA-level logs LG AVG 0.303 0.309 2026-08-21: 0.3062026-08-22: 0.3062026-08-23: 0.3062026-08-24: 0.3062026-08-25: 0.3092026-08-26: 0.3092026-08-27: 0.3102026-08-28: 0.3112026-08-29: 0.3112026-08-30: 0.3122026-08-31: 0.3112026-09-01: 0.309 2026-08-21 2026-09-01 xwOBA MITHRANDIR · CHARTS
Hitter optimization

Swing path and decision map

Willi Castro's production (86) outpaces the tools grade (83) by 4 points. Primary finding: groundball-heavy approach with the raw power to drive the ball — leaving fly-ball damage on the table. Most actionable fix: elevate bat path to increase average launch angle toward 12-18° range.

See full optimization →

See the swing in 3D →

Launch Angle Too Low
+9.0° Current 7° → Target 16°

Elevate bat path to increase average launch angle toward 12-18° range

Solid = current angle. Dotted = recommended window.
Spray profile

Field-coordinate spray profile

188 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 Castro, Willi · Statcast batted-ball landing coordinates Left field third: 18% of plotted batted ballsPull 18%Center field third: 63% of plotted batted ballsCenter 63%Right field third: 19% of plotted batted ballsOppo 19% LF 347 CF 415 RF 350 2026-03-17 · field out · CH · fly_ball · EV 97.7 / LA 44.02026-03-17 · single · SL · fly_ball · EV 66.2 / LA 33.02026-03-19 · double · FC · line_drive · EV 113.9 / LA 17.02026-03-19 · home run · SI · fly_ball · EV 111.2 / LA 34.02026-03-21 · single · CU · line_drive · EV 93.8 / LA 10.02026-03-22 · single · SL · line_drive · EV 105.7 / LA 10.02026-03-22 · field out · SI · ground_ball · EV 24.0 / LA -59.02026-03-22 · field out · ST · popup · EV 68.6 / LA 58.02026-03-24 · single · FF · line_drive · EV 105.1 / LA 9.02026-03-27 · force out · CH · ground_ball · EV 71.6 / LA -11.02026-03-27 · field out · SI · ground_ball · EV 86.2 / LA 4.02026-03-28 · field out · CU · fly_ball · EV 90.1 / LA 40.02026-03-28 · single · FF · ground_ball · EV 101.7 / LA -1.02026-03-28 · field out · FC · line_drive · EV 97.6 / LA 22.02026-03-29 · field out · SI · fly_ball · EV 95.9 / LA 41.02026-03-29 · field out · CH · ground_ball · EV 100.2 / LA -4.02026-03-29 · double · FF · line_drive · EV 107.4 / LA 21.02026-03-30 · field out · CU · fly_ball · EV 78.6 / LA 45.02026-03-30 · field out · CU · ground_ball · EV 92.5 / LA -7.02026-03-30 · double · FC · fly_ball · EV 69.0 / LA 38.02026-03-31 · field out · FS · ground_ball · EV 74.2 / LA -32.02026-03-31 · field out · FF · ground_ball · EV 72.2 / LA 9.02026-03-31 · field out · SL · fly_ball · EV 74.7 / LA 57.02026-04-01 · field out · FS · ground_ball · EV 67.8 / LA 7.02026-04-03 · double · FF · line_drive · EV 104.2 / LA 5.02026-04-03 · field out · KC · ground_ball · EV 38.0 / LA -15.02026-04-03 · field out · SI · popup · EV 89.5 / LA 69.02026-04-04 · field out · FF · fly_ball · EV 75.8 / LA 59.02026-04-05 · single · FS · line_drive · EV 105.3 / LA 8.02026-04-06 · field out · SI · ground_ball · EV 79.9 / LA 0.02026-04-06 · single · FF · line_drive · EV 101.9 / LA 15.02026-04-06 · single · FC · ground_ball · EV 90.2 / LA 8.02026-04-07 · single · SI · line_drive · EV 94.6 / LA 14.02026-04-07 · home run · SL · fly_ball · EV 106.5 / LA 25.02026-04-07 · single · SL · ground_ball · EV 76.6 / LA -10.02026-04-10 · field out · FC · fly_ball · EV 75.3 / LA 36.02026-04-10 · single · KC · ground_ball · EV 94.8 / LA -8.02026-04-10 · force out · SI · ground_ball · EV 101.4 / LA -4.02026-04-14 · field out · CH · line_drive · EV 96.4 / LA 22.02026-04-14 · field out · FF · popup · EV 73.4 / LA 63.02026-04-15 · double · FC · fly_ball · EV 108.7 / LA 24.02026-04-19 · grounded into double play · FF · ground_ball · EV 100.3 / LA 2.02026-04-19 · field out · FF · fly_ball · EV 96.6 / LA 20.02026-04-19 · single · FF · line_drive · EV 85.1 / LA 15.02026-04-20 · single · FF · ground_ball · EV 81.4 / LA -1.02026-04-20 · field out · SL · ground_ball · EV 90.3 / LA -1.02026-04-20 · single · FF · fly_ball · EV 68.6 / LA 49.02026-04-21 · field out · FF · fly_ball · EV 80.3 / LA 66.02026-04-22 · field out · ST · line_drive · EV 95.5 / LA 21.02026-04-22 · single · SI · line_drive · EV 105.3 / LA 14.02026-04-22 · single · CH · line_drive · EV 98.9 / LA 5.02026-04-29 · double · CH · fly_ball · EV 99.2 / LA 26.02026-04-29 · single · FF · ground_ball · EV 103.8 / LA -1.02026-04-29 · field out · KN · fly_ball · EV 79.9 / LA 37.02026-04-30 · field out · CH · fly_ball · EV 96.0 / LA 26.02026-04-30 · field out · CH · ground_ball · EV 79.2 / LA -4.02026-04-30 · field out · FF · fly_ball · EV 95.8 / LA 60.02026-05-01 · field out · FC · fly_ball · EV 76.6 / LA 62.02026-05-01 · field out · FF · fly_ball · EV 78.2 / LA 66.02026-05-01 · field out · FF · ground_ball · EV 108.4 / LA -2.02026-05-01 · field out · FF · ground_ball · EV 88.1 / LA -21.02026-05-02 · field out · CH · ground_ball · EV 102.4 / LA -11.02026-05-02 · single · FF · line_drive · EV 104.4 / LA 1.02026-05-03 · field out · CU · fly_ball · EV 92.1 / LA 35.02026-05-03 · single · CU · ground_ball · EV 104.0 / LA 3.02026-05-03 · single · FF · line_drive · EV 72.4 / LA 23.02026-05-04 · field out · FF · ground_ball · EV 74.0 / LA 10.02026-05-04 · single · CU · line_drive · EV 95.1 / LA 13.02026-05-04 · field out · FF · fly_ball · EV 95.7 / LA 32.02026-05-07 · single · FC · line_drive · EV 96.8 / LA 17.02026-05-07 · field out · FF · ground_ball · EV 82.8 / LA -14.02026-05-08 · single · CH · ground_ball · EV 30.1 / LA -56.02026-05-08 · field out · SI · ground_ball · EV 68.9 / LA -13.02026-05-08 · single · FF · ground_ball · EV 84.9 / LA 10.02026-05-09 · home run · FF · fly_ball · EV 101.4 / LA 34.02026-05-09 · field out · SL · fly_ball · EV 100.2 / LA 38.02026-05-10 · field out · SL · ground_ball · EV 97.5 / LA -22.02026-05-10 · field out · FF · fly_ball · EV 89.8 / LA 36.02026-05-10 · field out · CH · popup · EV 69.0 / LA 65.02026-05-12 · field out · ST · fly_ball · EV 86.2 / LA 55.02026-05-12 · field out · FF · ground_ball · EV 39.4 / LA -36.02026-05-13 · force out · SI · ground_ball · EV 100.3 / LA -1.02026-05-13 · field out · CU · ground_ball · EV 68.3 / LA -13.02026-05-14 · grounded into double play · CU · ground_ball · EV 96.6 / LA -22.02026-05-15 · field out · FF · fly_ball · EV 77.4 / LA 48.02026-05-15 · field out · FF · line_drive · EV 107.1 / LA 16.02026-05-15 · field out · CH · ground_ball · EV 75.4 / LA -7.02026-05-16 · double play · CH · fly_ball · EV 71.7 / LA 34.02026-05-16 · single · CU · line_drive · EV 96.8 / LA 6.02026-05-16 · single · FF · line_drive · EV 96.4 / LA 15.02026-05-17 · sac fly · CH · line_drive · EV 84.2 / LA 25.02026-05-17 · double · FF · fly_ball · EV 99.3 / LA 34.02026-05-17 · field out · FF · line_drive · EV 104.6 / LA 17.02026-05-18 · double · ST · line_drive · EV 102.4 / LA 17.02026-05-18 · double · FF · fly_ball · EV 92.0 / LA 37.02026-05-18 · field out · SL · ground_ball · EV 100.9 / LA -1.02026-05-19 · field out · CH · ground_ball · EV 103.1 / LA -20.02026-05-19 · field out · SI · fly_ball · EV 90.0 / LA 48.02026-05-21 · field out · CH · ground_ball · EV 76.5 / LA -11.02026-05-21 · single · FF · line_drive · EV 84.2 / LA 12.02026-05-22 · field out · SL · line_drive · EV 95.3 / LA 18.02026-05-22 · single · SV · fly_ball · EV 69.9 / LA 34.02026-05-22 · single · FC · line_drive · EV 90.5 / LA 19.02026-05-22 · field out · SI · ground_ball · EV 104.7 / LA -19.02026-05-25 · single · SL · line_drive · EV 81.4 / LA 21.02026-05-25 · field out · FF · fly_ball · EV 107.3 / LA 67.02026-05-25 · single · CH · ground_ball · EV 91.8 / LA -9.02026-05-26 · field out · CU · fly_ball · EV 83.5 / LA 40.02026-05-26 · single · CH · ground_ball · EV 95.8 / LA -27.02026-05-26 · single · CH · line_drive · EV 111.4 / LA 14.02026-05-27 · field out · FF · ground_ball · EV 95.7 / LA -28.02026-05-27 · field out · FF · fly_ball · EV 89.3 / LA 38.02026-05-31 · single · CH · ground_ball · EV 104.7 / LA -11.02026-05-31 · field out · FF · popup · EV 58.5 / LA 67.02026-05-31 · field out · SL · fly_ball · EV 88.0 / LA 39.02026-05-31 · field error · SI · ground_ball · EV 34.4 / LA 9.02026-06-01 · force out · FS · ground_ball · EV 76.5 / LA -9.02026-06-05 · field out · CH · ground_ball · EV 77.7 / LA -11.02026-06-05 · double · FC · line_drive · EV 112.1 / LA 11.02026-06-05 · field out · CU · ground_ball · EV 95.2 / LA 7.02026-06-07 · single · FF · fly_ball · EV 66.5 / LA 27.02026-06-07 · field out · SL · ground_ball · EV 75.8 / LA 6.02026-06-07 · single · CU · popup · EV 68.4 / LA 67.02026-06-15 · single · FF · line_drive · EV 86.1 / LA 14.02026-06-15 · single · FF · line_drive · EV 90.9 / LA 11.02026-06-20 · field out · FS · line_drive · EV 81.9 / LA 27.02026-06-20 · field out · FF · fly_ball · EV 83.6 / LA 59.02026-06-22 · field out · FF · fly_ball · EV 84.1 / LA 46.02026-06-22 · single · SI · line_drive · EV 68.5 / LA 22.02026-06-24 · single · CU · line_drive · EV 64.1 / LA 25.02026-06-24 · force out · FC · ground_ball · EV 56.0 / LA 12.02026-06-24 · single · FF · line_drive · EV 96.8 / LA 7.02026-06-24 · single · CH · line_drive · EV 74.5 / LA 17.02026-06-26 · field out · SL · ground_ball · EV 75.5 / LA -9.02026-06-26 · single · FC · fly_ball · EV 70.2 / LA 25.02026-06-26 · field out · FF · ground_ball · EV 100.9 / LA -3.02026-07-01 · field out · SI · fly_ball · EV 91.3 / LA 46.02026-07-01 · field out · ST · line_drive · EV 110.5 / LA 17.02026-08-02 · field out · ST · fly_ball · EV 78.3 / LA 33.02026-08-02 · single · CH · line_drive · EV 76.3 / LA 26.02026-08-02 · field out · CU · ground_ball · EV 39.8 / LA -66.02026-08-04 · home run · FF · fly_ball · EV 107.1 / LA 24.02026-08-04 · field out · CH · ground_ball · EV 72.6 / LA -14.02026-08-04 · field out · SI · popup · EV 28.5 / LA 43.02026-08-04 · field out · FF · line_drive · EV 84.7 / LA 23.02026-08-07 · field out · CH · ground_ball · EV 72.5 / LA -4.02026-08-07 · double · FF · line_drive · EV 110.8 / LA 20.02026-08-07 · single · CH · ground_ball · EV 104.8 / LA 5.02026-08-07 · field out · FF · popup · EV 61.7 / LA 61.02026-08-08 · field out · SI · ground_ball · EV 76.1 / LA -26.02026-08-08 · force out · SL · ground_ball · EV 63.7 / LA -15.02026-08-08 · double play · FF · line_drive · EV 65.5 / LA 24.02026-08-11 · field out · CH · fly_ball · EV 87.3 / LA 33.02026-08-11 · field out · SV · fly_ball · EV 85.9 / LA 50.02026-08-14 · field out · CU · ground_ball · EV 75.2 / LA -23.02026-08-14 · sac fly · FS · fly_ball · EV 89.7 / LA 28.02026-08-14 · field out · CH · ground_ball · EV 104.2 / LA 5.02026-08-14 · field out · FC · fly_ball · EV 98.4 / LA 46.02026-08-15 · single · FC · ground_ball · EV 99.2 / LA -7.02026-08-15 · field out · FF · line_drive · EV 102.7 / LA 20.02026-08-15 · field out · FF · fly_ball · EV 98.6 / LA 55.02026-08-16 · single · SI · ground_ball · EV 100.0 / LA 5.02026-08-16 · field out · CH · popup · EV 61.7 / LA 58.02026-08-16 · field out · SL · ground_ball · EV 100.6 / LA 3.02026-08-17 · single · FF · ground_ball · EV 110.5 / LA -3.02026-08-17 · field out · CH · popup · EV 78.9 / LA 74.02026-08-17 · field out · FF · ground_ball · EV 89.3 / LA -10.02026-08-21 · field out · CU · ground_ball · EV 72.8 / LA 1.02026-08-21 · field out · FC · ground_ball · EV 100.8 / LA -12.02026-08-21 · single · FF · ground_ball · EV 103.4 / LA -10.02026-08-22 · field out · FF · line_drive · EV 89.2 / LA 11.02026-08-22 · single · CU · fly_ball · EV 67.2 / LA 26.02026-08-23 · double · FC · line_drive · EV 79.3 / LA 21.02026-08-23 · field out · CH · ground_ball · EV 71.2 / LA -14.02026-08-23 · force out · FF · ground_ball2026-08-24 · field out · KC · ground_ball · EV 104.2 / LA -1.02026-08-24 · home run · FF · fly_ball · EV 104.2 / LA 39.02026-08-24 · field out · FF · popup · EV 57.2 / LA 46.02026-08-26 · fielders choice out · CH · ground_ball · EV 59.3 / LA -35.02026-08-26 · field out · KN · fly_ball · EV 84.1 / LA 50.02026-08-27 · single · SL · line_drive · EV 76.5 / LA 18.02026-08-27 · field out · CH · ground_ball · EV 67.8 / LA -69.02026-08-27 · field out · FC · line_drive · EV 95.6 / LA 23.02026-08-29 · single · FC · line_drive · EV 88.0 / LA 14.02026-08-29 · grounded into double play · SI · ground_ball · EV 105.6 / LA -12.02026-08-30 · field out · FS · ground_ball · EV 88.0 / LA -3.02026-08-30 · field out · FF · line_drive · EV 105.9 / LA 16.02026-08-31 · single · FF · ground_ball · EV 88.6 / LA 8.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 Castro, Willi · aggregate bat speed marker 60 mph 85 mph Avg bat speed 71.0 mph Hard swing rate 15% Whiff / swing 36% 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 Castro, Willi · Aggregate zone metrics; not pitch-by-pitch locations Zone: 45%45%Chase: 38%38%Whiff: 28%28%Zone contact: 84%84%Contact: 72%72%Hard hit: 41%41% Dashed border = aggregate mixed-batter zone proxy MITHRANDIR · CHARTS
Model read

Projection notes

1
templated note
Home park adds a small power tailwind to the HR projection.
Live context

Current-season signal

xwOBA Δ-0.019
wOBA Δ+0.021
Sample498 PA

negative regression

Projection table

Point projection and range

MetricPointRangeHalf-width
Plate Appearances499----
Home Runs12----
Stolen Bases0----
xwOBA0.3290.304 to 0.377+/- 0.037
ISO0.1540.108 to 0.242+/- 0.067
Barrel%4.6%2.9% to 7.0%+/- 2.1%
Hard-Hit%37.1%31.7% to 43.6%+/- 6.0%
K%23.7%20.6% to 29.4%+/- 4.4%
BB%7.8%6.0% to 11.0%+/- 2.5%
BABIP0.3130.273 to 0.365+/- 0.046
Platoon / Shape
vs LHP

757 career PA

xwOBA0.260
K%19.4%
BB%6.0%
Barrel3.5%
vs RHP

1969 career PA

xwOBA0.267
K%21.2%
BB%7.5%
Barrel4.0%