Mithrandir Metrics
Player Colorado Rockies Refreshed Jul 17 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
2026324417786.264.333.390.723
8 Seasons29143826456481.246.315.385.700
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-07-17
49
Offense
percentile
Offense9 metrics
48
Defense4 metrics
63
Speed4 metrics
49
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-07-17
xwOBA preseason0.330
xwOBA current pace0.294
xwOBA rolling p500.308
Observed weight61%
xwOBA
0.284 0.295 0.308 0.321 0.332
wOBA
0.314 0.329 0.347 0.364 0.380
ISO
0.113 0.127 0.143 0.159 0.173
K%
24.0% 25.2% 26.5% 27.9% 29.1%
Live percentile strip

Current traits vs projection tick

100th = best in MLB.

2026-07-17
Hitting · percentile strip
Barrel%4.1%
35
Exit velocity87.6
45
Hard-hit%41.3%
61 +19 vs proj
xBA0.333
63
xSLG0.513
52
xwOBA0.294
36 -35 vs proj
BB%8.2%
45
Bat speed71.2
73
K%27.6%
24 -18 vs proj
Defense · percentile strip
Arm Runs0.4 · 2B
91
Arm Strength92.9 · 2B
89
Outs Above Avg0.0 · 2B
43
Range Runs-2.1 · 2B
27
Baserunning · percentile strip
Base Running Runs-0.1 · 2B
39
Bolts1.0 · 2B
15
SB Success Rate85.7% · 2B
67
Sprint Speed28.3 · 2B
77
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-07-17
Avoids Bad ChasesST 56.8% · rebadged research
15
Avoids Bad TakesHPT 22.0% · rebadged research
78
Correct Decisions62.9% · rebadged research
21
SEAGER+ Plate Discipline96
25
Resists Breaking - horizontalwOBA 0.275 · borderline
78
Resists Breaking - verticalwOBA 0.283 · insufficient sample
36
Resists ChangeupwOBA 0.278 · validated thin sample
58
Resists Cutters + splitterswOBA 0.353 · insufficient sample
13
Resists FastballwOBA 0.340 · validated
45
Resists SinkerwOBA 0.345 · validated
84
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.308 0.294 2026-07-06: 0.3022026-07-07: 0.3032026-07-08: 0.3002026-07-09: 0.3002026-07-10: 0.2982026-07-11: 0.2972026-07-12: 0.2942026-07-13: 0.2942026-07-14: 0.2942026-07-15: 0.2942026-07-16: 0.2942026-07-17: 0.294 2026-07-06 2026-07-17 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

138 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: 20% of plotted batted ballsPull 20%Center field third: 59% of plotted batted ballsCenter 59%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 · 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 · double · FF · line_drive · EV 107.4 / LA 21.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-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 · FC · ground_ball · EV 90.2 / 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-07 · single · SI · line_drive · EV 94.6 / LA 14.02026-04-07 · single · SL · ground_ball · EV 76.6 / LA -10.02026-04-07 · home run · SL · fly_ball · EV 106.5 / LA 25.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-10 · field out · FC · fly_ball · EV 75.3 / LA 36.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 · 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-19 · field out · FF · fly_ball · EV 96.6 / LA 20.02026-04-20 · single · FF · fly_ball · EV 68.6 / LA 49.02026-04-20 · field out · SL · ground_ball · EV 90.3 / LA -1.02026-04-20 · single · FF · ground_ball · EV 81.4 / LA -1.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 · CH · line_drive · EV 98.9 / LA 5.02026-04-22 · single · SI · line_drive · EV 105.3 / LA 14.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 · 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 · 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 · 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 · single · FF · ground_ball · EV 84.9 / LA 10.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-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 · 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 · line_drive · EV 107.1 / LA 16.02026-05-15 · field out · CH · ground_ball · EV 75.4 / LA -7.02026-05-15 · field out · FF · fly_ball · EV 77.4 / LA 48.02026-05-16 · single · FF · line_drive · EV 96.4 / LA 15.02026-05-16 · single · CU · line_drive · EV 96.8 / LA 6.02026-05-16 · double play · CH · fly_ball · EV 71.7 / LA 34.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 · 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 · SL · line_drive · EV 95.3 / LA 18.02026-05-22 · field out · SI · ground_ball · EV 104.7 / LA -19.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 · single · CH · ground_ball · EV 95.8 / LA -27.02026-05-26 · single · CH · line_drive · EV 111.4 / LA 14.02026-05-26 · field out · CU · fly_ball · EV 83.5 / LA 40.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 · double · FC · line_drive · EV 112.1 / LA 11.02026-06-05 · field out · CU · ground_ball · EV 95.2 / LA 7.02026-06-05 · field out · CH · ground_ball · EV 77.7 / LA -11.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 · FF · line_drive · EV 96.8 / LA 7.02026-06-24 · single · CH · line_drive · EV 74.5 / LA 17.02026-06-24 · force out · FC · ground_ball · EV 56.0 / LA 12.02026-06-24 · single · CU · line_drive · EV 64.1 / LA 25.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.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: 37%37%Whiff: 27%27%Zone contact: 83%83%Contact: 73%73%Hard hit: 41%41% 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.035
wOBA Δ+0.018

negative regression

Regression watch

Running hot. Expect some cooling.

-1.9σ gap
wOBA (actual)0.347
xwOBA (deserved)0.294

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

Comp Engine · 2026 profile shape

Closest profiles

Full constellation →
PlayerSimilarityAgrees onOpen
Riley, Austin ATL · R 0.72 Walk rateIn-zone contact Player · Projection
O'Hoppe, Logan LAA · R 0.70 Whiff rateMax exit velocity Player · Projection
Merrill, Jackson SD · L 0.68 Isolated powerBat speed Player · Projection
Lewis, Royce MIN · R 0.66 In-zone contactPull rate Player · Projection

Profile-shape similarity, not results: six weighted feature groups standardized within this season's qualified hitters.

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