Mithrandir Metrics
Player Tampa Bay Rays Refreshed Jun 12 06:00 AM ET
Player profile / Tampa Bay Rays

Ryan Vilade

RF · Bats/Throws R/R · 6' 1", 226 lb · Age 27

Cards
3
Modules
1
Live Δ
yes
Club Tampa Bay Rays Position RF Roster Active Status Healthy / active roster
Traditional line

Season by season

PARHHRSBAVGOBPSLGOPS
2024495810.178.208.244.452
2025151100.077.200.077.277
2026119103033.291.356.447.803
4 Seasons190163943.234.298.347.645
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-12
41
Offense
percentile
Offense9 metrics
53
Defense4 metrics
47
Speed1 metrics
85
Plate skills10 metrics
39
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-12
xwOBA preseason0.280
xwOBA current pace0.309
xwOBA rolling p500.291
Observed weight38%
xwOBA
0.252 0.271 0.291 0.312 0.330
wOBA
0.369 0.395 0.424 0.453 0.479
ISO
0.119 0.148 0.181 0.214 0.243
K%
15.3% 18.3% 21.6% 24.9% 27.9%
Live percentile strip

Current traits vs projection tick

100th = best in MLB.

2026-06-12
Hitting · percentile strip
Barrel%2.2%
16 -49 vs proj
Exit velocity88.6
52
Hard-hit%39.2%
47
xBA0.317
43
xSLG0.478
40
xwOBA0.309
49
BB%9.0%
53 +28 vs proj
Bat speed74.7
97
K%17.2%
78 +59 vs proj
Defense · percentile strip
Arm Runs0.7 · RF
77
Arm Strength91.3 · RF
36
Outs Above Avg0.0 · RF
44
Range Runs-1.7 · RF
29
Baserunning · percentile strip
Sprint Speed28.6 · RF
85
SB Success Rate100.0% · RF
Small sample
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-12
Avoids Bad ChasesST 67.0% · rebadged research
58
Avoids Bad TakesHPT 26.8% · rebadged research
34
Correct Decisions67.7% · rebadged research
64
Resists Breaking - horizontalwOBA 0.299 · borderline
23
Resists Breaking - verticalwOBA 0.303 · insufficient sample
7
Resists ChangeupwOBA 0.300 · validated thin sample
8
Resists Cutters + splitterswOBA 0.346 · insufficient sample
19
Resists FastballwOBA 0.339 · validated
50
Resists SinkerwOBA 0.348 · validated
78
SEAGER+ Plate Discipline100
49
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 Vilade, Ryan · Live snapshot series; true 50/100 PA windows require PA-level logs LG AVG 0.312 0.309 2026-06-01: 0.3042026-06-02: 0.3172026-06-03: 0.3172026-06-04: 0.3122026-06-05: 0.3122026-06-06: 0.3072026-06-07: 0.3072026-06-08: 0.3072026-06-09: 0.3072026-06-10: 0.3112026-06-11: 0.3162026-06-12: 0.309 2026-06-01 2026-06-12 xwOBA MITHRANDIR · CHARTS
Spray profile

Field-coordinate spray profile

80 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 Vilade, Ryan · Statcast batted-ball landing coordinates Left field third: 14% of plotted batted ballsPull 14%Center field third: 72% of plotted batted ballsCenter 72%Right field third: 14% of plotted batted ballsOppo 14% LF 318 CF 408 RF 314 2026-03-16 · field out · SL · line_drive · EV 94.9 / LA 19.02026-03-16 · field out · SL · line_drive · EV 108.0 / LA 8.02026-03-16 · field out · SL · ground_ball · EV 80.5 / LA -32.02026-03-19 · field out · SI · ground_ball · EV 101.9 / LA -16.02026-03-19 · home run · SI · fly_ball · EV 97.6 / LA 36.02026-03-21 · single · FF · ground_ball · EV 103.4 / LA 4.02026-03-21 · field out · FS · line_drive · EV 79.5 / LA 24.02026-03-21 · field out · KC · fly_ball · EV 100.3 / LA 46.02026-03-22 · field out · KC · ground_ball · EV 89.2 / LA -9.02026-03-22 · field out · SL · fly_ball · EV 93.9 / LA 30.02026-03-23 · single · FF · fly_ball · EV 62.1 / LA 33.02026-03-23 · field out · CH · popup · EV 91.8 / LA 75.02026-03-23 · force out · SI · ground_ball · EV 101.1 / LA -19.02026-03-26 · field out · CH · fly_ball · EV 92.6 / LA 28.02026-03-26 · field out · FF · fly_ball · EV 85.7 / LA 29.02026-03-26 · field out · FF · fly_ball · EV 74.5 / LA 33.02026-04-07 · field out · CH · line_drive · EV 83.4 / LA 22.02026-04-07 · single · CU · line_drive · EV 85.9 / LA 8.02026-04-11 · field out · FC · fly_ball · EV 103.1 / LA 48.02026-04-11 · single · CU · line_drive · EV 97.8 / LA 15.02026-04-11 · field out · CH · line_drive · EV 89.5 / LA 22.02026-04-11 · field out · FC · fly_ball · EV 93.5 / LA 36.02026-04-14 · double · FF · line_drive · EV 88.1 / LA 17.02026-04-14 · field out · SI · ground_ball · EV 90.0 / LA -17.02026-04-14 · single · CH · ground_ball · EV 108.4 / LA 3.02026-04-14 · single · CH · line_drive · EV 88.9 / LA 13.02026-04-15 · field out · EP · popup · EV 75.4 / LA 82.02026-04-16 · field out · FF · fly_ball · EV 89.2 / LA 52.02026-04-17 · field out · ST · popup · EV 67.7 / LA 64.02026-04-18 · field out · SI · ground_ball · EV 106.6 / LA -21.02026-04-21 · field out · CU · fly_ball · EV 96.8 / LA 27.02026-04-21 · field out · CU · fly_ball · EV 80.0 / LA 46.02026-04-21 · double · FF · line_drive · EV 105.1 / LA 16.02026-04-22 · single · FC · ground_ball · EV 96.7 / LA -7.02026-04-22 · single · CH · line_drive · EV 76.7 / LA 21.02026-04-27 · single · FF · ground_ball · EV 64.4 / LA 10.02026-04-27 · single · FC · ground_ball · EV 82.4 / LA 8.02026-04-27 · single · FF · ground_ball · EV 106.4 / LA 1.02026-05-01 · field out · KC · ground_ball · EV 80.3 / LA -36.02026-05-01 · field out · CH · ground_ball · EV 85.8 / LA -16.02026-05-01 · field out · CH · ground_ball · EV 81.8 / LA -10.02026-05-02 · field out · FF · fly_ball · EV 84.3 / LA 48.02026-05-02 · field out · SI · fly_ball · EV 94.8 / LA 52.02026-05-03 · fielders choice · SL · ground_ball · EV 100.7 / LA -2.02026-05-03 · sac bunt · SL · ground_ball · EV 35.1 / LA -23.02026-05-04 · home run · CU · fly_ball · EV 106.9 / LA 34.02026-05-04 · field out · FF · fly_ball · EV 97.5 / LA 27.02026-05-06 · field out · SI · line_drive · EV 90.9 / LA 19.02026-05-06 · field out · FC · ground_ball · EV 99.1 / LA -1.02026-05-07 · single · CH · ground_ball · EV 87.8 / LA 8.02026-05-07 · field out · FC · popup · EV 92.3 / LA 63.02026-05-07 · grounded into double play · SI · ground_ball · EV 96.8 / LA -10.02026-05-08 · field out · SI · fly_ball · EV 95.5 / LA 39.02026-05-08 · field out · FF · popup · EV 28.9 / LA 61.02026-05-08 · field out · SI · popup · EV 57.2 / LA 79.02026-05-10 · single · FF · fly_ball · EV 68.6 / LA 42.02026-05-12 · field out · SI · fly_ball · EV 99.3 / LA 44.02026-05-12 · home run · FF · fly_ball · EV 102.5 / LA 24.02026-05-12 · double · SI · fly_ball · EV 76.5 / LA 44.02026-05-18 · sac fly · FF · line_drive · EV 88.3 / LA 22.02026-05-18 · triple · CH · line_drive · EV 100.9 / LA 18.02026-05-18 · single · FC · line_drive · EV 100.6 / LA 14.02026-05-18 · single · CU · ground_ball · EV 102.0 / LA 4.02026-05-20 · field out · SI · ground_ball · EV 98.2 / LA -19.02026-05-20 · field out · FF · line_drive · EV 82.5 / LA 28.02026-05-22 · sac fly · SI · fly_ball · EV 89.1 / LA 44.02026-05-24 · field out · ST · ground_ball · EV 39.5 / LA -66.02026-05-24 · single · FS · ground_ball · EV 103.9 / LA 1.02026-05-26 · single · SI · line_drive · EV 84.3 / LA 22.02026-05-27 · field out · CU · line_drive · EV 74.6 / LA 13.02026-05-27 · force out · SI · ground_ball · EV 85.9 / LA -7.02026-05-27 · field out · SI · ground_ball · EV 83.3 / LA -18.02026-06-01 · field out · FF · fly_ball · EV 89.4 / LA 35.02026-06-01 · home run · SL · fly_ball · EV 110.1 / LA 29.02026-06-05 · single · SI · ground_ball · EV 109.3 / LA -12.02026-06-05 · field out · ST · fly_ball · EV 88.9 / LA 30.02026-06-05 · force out · SI · ground_ball · EV 102.0 / LA -6.02026-06-05 · single · FF · ground_ball · EV 93.4 / LA 1.02026-06-07 · single · SI · ground_ball · EV 106.5 / LA 0.02026-06-07 · field out · SI · ground_ball · EV 107.1 / LA -1.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 Vilade, Ryan · Aggregate zone metrics; not pitch-by-pitch locations Zone: 49%49%Chase: 28%28%Whiff: 16%16%Zone contact: 87%87%Contact: 84%84%Hard hit: 39%39% Dashed border = aggregate mixed-batter zone proxy MITHRANDIR · CHARTS
Reference layer

Current snapshot

Age27
Height6' 1"
Weight226 lb
Debut2021-09-18
Live layer

Delta / regression

xwOBA Δ+0.007
wOBA Δ+0.122

negative regression

Regression watch

Running hot. Expect some cooling.

-3.2σ gap
wOBA (actual)0.424
xwOBA (deserved)0.309

Vilade’s wOBA sits at 0.424, but the quality of contact underneath says it should be 0.309 — a gap of 0.115, -3.2 standard deviations from the MLB norm over 134 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
Hitting32026-05-18Disciplined swing decisions drove the score
Projection links / recent games

Available detail

Hitter Projections 20260.302 xwOBA | 7 HRProjection
2026-05-20 vs BAL0 HR | 0 RBI / 4 Ch | 0 E0-2 | 2 BB, R, SB
2026-04-17 @ PIT0 HR | 0 RBI / 1 Ch | 0 E0-1
2026-04-15 @ CWS0 HR | 0 RBI / 1 Ch | 0 E0-1
2026-04-14 @ CWS0 HR | 1 RBI / 5 Ch | 0 E3-5 | 2B, K, RBI
2026-04-11 vs NYY0 HR | 0 RBI / 5 Ch | 0 E1-4