Mithrandir Metrics
Player Colorado Rockies Refreshed Jun 14 06:00 AM ET
Player profile / Colorado Rockies

Willi Castro

2B · Bats/Throws S/R · 6' 0", 209 lb · Age 29

Cards
2
Modules
1
Live Δ
yes
Club Colorado Rockies Position 2B Roster Active Status Healthy / active roster
Traditional line

Season by season

PARHHRSBAVGOBPSLGOPS
2024635891381214.247.331.385.716
202545458911110.226.313.366.679
2026234315855.278.350.402.752
8 Seasons28243726266180.247.316.386.702
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-06-14
41
Offense
percentile
Offense9 metrics
43
Defense4 metrics
64
Speed4 metrics
57
Plate skills10 metrics
45
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-14
xwOBA preseason0.330
xwOBA current pace0.289
xwOBA rolling p500.309
Observed weight52%
xwOBA
0.282 0.295 0.309 0.322 0.335
wOBA
0.317 0.336 0.357 0.378 0.396
ISO
0.104 0.121 0.139 0.157 0.174
K%
22.5% 23.8% 25.3% 26.8% 28.1%
Live percentile strip

Current traits vs projection tick

100th = best in MLB.

2026-06-14
Hitting · percentile strip
Barrel%3.7%
29
Exit velocity87.4
39
Hard-hit%42.9%
65 +26 vs proj
xBA0.316
42
xSLG0.484
42
xwOBA0.289
30 -36 vs proj
BB%7.9%
39
Bat speed70.9
70
K%25.6%
31
Defense · percentile strip
Arm Runs0.3 · 2B
90
Arm Strength92.9 · 2B
89
Outs Above Avg0.0 · 2B
42
Range Runs-1.2 · 2B
34
Baserunning · percentile strip
Base Running Runs0.8 · 2B
70
Bolts1.0 · 2B
17
SB Success Rate83.3% · 2B
65
Sprint Speed28.2 · 2B
75
Mithrandir+

Plate skills: swing decisions and pitch-type resistance

Our research metrics for how this hitter controls the strike zone and handles each pitch family.

2026-06-14
Avoids Bad ChasesST 57.1% · rebadged research
14
Avoids Bad TakesHPT 21.8% · rebadged research
78
Correct Decisions62.9% · rebadged research
20
Resists Breaking - horizontalwOBA 0.282 · borderline
59
Resists Breaking - verticalwOBA 0.275 · insufficient sample
66
Resists ChangeupwOBA 0.275 · validated thin sample
57
Resists Cutters + splitterswOBA 0.357 · insufficient sample
10
Resists FastballwOBA 0.347 · validated
35
Resists SinkerwOBA 0.346 · validated
82
SEAGER+ Plate Discipline96
28
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.312 0.289 2026-06-03: 0.2792026-06-04: 0.2852026-06-05: 0.2842026-06-06: 0.2922026-06-07: 0.2922026-06-08: 0.2912026-06-09: 0.2912026-06-10: 0.2912026-06-11: 0.2932026-06-12: 0.2882026-06-13: 0.2892026-06-14: 0.289 2026-06-03 2026-06-14 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

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

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: 19% of plotted batted ballsPull 19%Center field third: 60% of plotted batted ballsCenter 60%Right field third: 21% of plotted batted ballsOppo 21% 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 · home run · SI · fly_ball · EV 111.2 / LA 34.02026-03-19 · double · FC · line_drive · EV 113.9 / LA 17.02026-03-21 · single · CU · line_drive · EV 93.8 / LA 10.02026-03-22 · field out · ST · popup · EV 68.6 / LA 58.02026-03-22 · field out · SI · ground_ball · EV 24.0 / LA -59.02026-03-22 · single · SL · line_drive · EV 105.7 / LA 10.02026-03-24 · single · FF · line_drive · EV 105.1 / LA 9.02026-03-27 · field out · SI · ground_ball · EV 86.2 / LA 4.02026-03-27 · force out · CH · ground_ball · EV 71.6 / LA -11.02026-03-28 · single · FF · ground_ball · EV 101.7 / LA -1.02026-03-28 · field out · CU · fly_ball · EV 90.1 / LA 40.02026-03-28 · field out · FC · line_drive · EV 97.6 / LA 22.02026-03-29 · double · FF · line_drive · EV 107.4 / LA 21.02026-03-29 · field out · CH · ground_ball · EV 100.2 / LA -4.02026-03-29 · field out · SI · fly_ball · EV 95.9 / LA 41.02026-03-30 · field out · CU · ground_ball · EV 92.5 / LA -7.02026-03-30 · field out · CU · fly_ball · EV 78.6 / LA 45.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 · single · FF · line_drive · EV 101.9 / LA 15.02026-04-06 · field out · SI · ground_ball · EV 79.9 / LA 0.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 · force out · SI · ground_ball · EV 101.4 / LA -4.02026-04-10 · single · KC · ground_ball · EV 94.8 / LA -8.02026-04-14 · field out · FF · popup · EV 73.4 / LA 63.02026-04-14 · field out · CH · line_drive · EV 96.4 / LA 22.02026-04-15 · double · FC · fly_ball · EV 108.7 / LA 24.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-19 · grounded into double play · FF · ground_ball · EV 100.3 / LA 2.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 · single · CH · line_drive · EV 98.9 / LA 5.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-29 · field out · KN · fly_ball · EV 79.9 / LA 37.02026-04-29 · single · FF · ground_ball · EV 103.8 / LA -1.02026-04-29 · double · CH · fly_ball · EV 99.2 / LA 26.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 · FF · ground_ball · EV 88.1 / LA -21.02026-05-01 · field out · FF · ground_ball · EV 108.4 / LA -2.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-02 · single · FF · line_drive · EV 104.4 / LA 1.02026-05-02 · field out · CH · ground_ball · EV 102.4 / LA -11.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-03 · field out · CU · fly_ball · EV 92.1 / LA 35.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 · field out · SI · ground_ball · EV 68.9 / LA -13.02026-05-08 · single · FF · ground_ball · EV 84.9 / LA 10.02026-05-08 · single · CH · ground_ball · EV 30.1 / LA -56.02026-05-09 · field out · SL · fly_ball · EV 100.2 / LA 38.02026-05-09 · home run · FF · fly_ball · EV 101.4 / LA 34.02026-05-10 · field out · CH · popup · EV 69.0 / LA 65.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-12 · field out · FF · ground_ball · EV 39.4 / LA -36.02026-05-12 · field out · ST · fly_ball · EV 86.2 / LA 55.02026-05-13 · field out · CU · ground_ball · EV 68.3 / LA -13.02026-05-13 · force out · SI · ground_ball · EV 100.3 / LA -1.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 · single · FF · line_drive · EV 96.4 / LA 15.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-17 · field out · FF · line_drive · EV 104.6 / LA 17.02026-05-17 · double · FF · fly_ball · EV 99.3 / LA 34.02026-05-17 · sac fly · CH · line_drive · EV 84.2 / LA 25.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-18 · double · ST · line_drive · EV 102.4 / LA 17.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 · FC · line_drive · EV 90.5 / LA 19.02026-05-22 · field out · SI · ground_ball · EV 104.7 / LA -19.02026-05-22 · single · SV · fly_ball · EV 69.9 / LA 34.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-25 · single · SL · line_drive · EV 81.4 / LA 21.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 · field out · SL · fly_ball · EV 88.0 / LA 39.02026-05-31 · field error · SI · ground_ball · EV 34.4 / LA 9.02026-05-31 · field out · FF · popup · EV 58.5 / LA 67.02026-05-31 · single · CH · ground_ball · EV 104.7 / LA -11.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.0 1B2B3BHROut Zone shading = batted-ball density by field third · hover dots for date, pitch, EV, and LA. 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: 27%27%Zone contact: 84%84%Contact: 73%73%Hard hit: 43%43% Dashed border = aggregate mixed-batter zone proxy 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
Reference layer

Current snapshot

Age29
Height6' 0"
Weight209 lb
Debut2019-08-24
Live layer

Delta / regression

xwOBA Δ-0.040
wOBA Δ+0.028

negative regression

Regression watch

Running hot. Expect some cooling.

-2.2σ gap
wOBA (actual)0.357
xwOBA (deserved)0.289

Castro’s wOBA sits at 0.357, but the quality of contact underneath says it should be 0.289 — a gap of 0.068, -2.2 standard deviations from the MLB norm over 242 PA. The results have outrun the underlying process; as the sample grows, expect the numbers to drift back toward the deserved level.

Mithrandir coverage

Module shelf

ModuleCardsLatestSignal
Hitting22026-04-07On-base pressure held the card together
Projection links / recent games

Available detail

Hitter Projections 20260.329 xwOBA | 12 HRProjection
2026-05-20 vs TEX0 HR | 0 RBI / 3 Ch | 0 E0-1 | K
2026-04-20 vs LAD0 HR | 0 RBI / 7 Ch | 0 E2-4 | K
2026-04-15 @ HOU0 HR | 1 RBI / 2 Ch | 0 E1-1 | 2B, HBP, RBI
2026-04-14 @ HOU0 HR | 0 RBI / 6 Ch | 2 E0-5 | 3 K
2026-04-11 @ SD0 HR | 0 RBI / 0 Ch | 0 E0-1 | K