Mithrandir Metrics
Player St. Louis Cardinals Refreshed Sep 26 06:00 AM ET
Player profile / St. Louis Cardinals

Thomas Saggese

SS · Bats/Throws R/R · 5' 10", 185 lb · Age 24

Cards
13
Modules
2
Live Δ
yes
Club St. Louis Cardinals Position SS Roster Current MLB team Status Healthy / active roster
Traditional line

Season by season

PARHHRSBAVGOBPSLGOPS
20245251010.204.250.306.556
2025295257123.258.299.342.641
2026173253644.232.295.355.650
3 Seasons5205511777.244.293.342.635
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
77
Offense
percentile
Offense9 metrics
65
Defense4 metrics
66
Speed2 metrics
59
Plate skills10 metrics
61
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.284
xwOBA current pace0.313
xwOBA rolling p500.297
Observed weight46%
xwOBA
0.269 0.282 0.297 0.312 0.325
wOBA
0.271 0.292 0.315 0.338 0.359
ISO
0.106 0.122 0.139 0.156 0.171
K%
23.1% 24.8% 26.6% 28.4% 30.0%
Live percentile strip

Current traits vs projection tick

100th = best in MLB.

2026-09-26
Hitting · percentile strip
Barrel%6.5%
76 +19 vs proj
Exit velocity91.2
89
Hard-hit%45.8%
83 +25 vs proj
xBA0.344
78
xSLG0.582
76
xwOBA0.313
61
BB%7.1%
33
Bat speed70.6
65
K%27.2%
27 -16 vs proj
Defense · percentile strip
Arm Runs0.4 · SS
86
Arm Strength87.1 · SS
49
Outs Above Avg1.0 · SS
73
Range Runs0.3 · SS
58
Baserunning · percentile strip
SB Success Rate80.0% · SS
48
Sprint Speed28.2 · SS
71
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-09-26
Avoids Bad ChasesST 62.7% · rebadged research
35
Avoids Bad TakesHPT 21.3% · rebadged research
85
Correct Decisions66.3% · rebadged research
51
Resists Breaking - horizontalwOBA 0.276 · borderline
77
Resists Breaking - verticalwOBA 0.269 · insufficient sample
79
Resists ChangeupwOBA 0.276 · validated thin sample
60
Resists Cutters + splitterswOBA 0.326 · insufficient sample
45
Resists FastballwOBA 0.332 · validated
62
Resists SinkerwOBA 0.353 · validated
62
SEAGER+ Plate Discipline102
56
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 Saggese, Thomas · Live snapshot series; true 50/100 PA windows require PA-level logs LG AVG 0.302 0.313 2026-09-12: 0.3122026-09-13: 0.3172026-09-14: 0.3142026-09-18: 0.3192026-09-19: 0.3172026-09-20: 0.3172026-09-21: 0.3142026-09-22: 0.3142026-09-23: 0.3182026-09-24: 0.3182026-09-25: 0.3182026-09-26: 0.313 2026-09-12 2026-09-26 xwOBA MITHRANDIR · CHARTS
Hitter optimization

Swing path and decision map

Thomas Saggese's tools (82) outpace production (63) by 19 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

99 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 Saggese, Thomas · Statcast batted-ball landing coordinates Left field third: 12% of plotted batted ballsPull 12%Center field third: 66% of plotted batted ballsCenter 66%Right field third: 22% of plotted batted ballsOppo 22% LF 336 CF 400 RF 335 2026-03-18 · field out · CH · ground_ball · EV 96.6 / LA -3.02026-03-18 · single · SI · line_drive · EV 101.7 / LA 6.02026-03-20 · field out · FF · ground_ball · EV 104.7 / LA 0.02026-03-20 · field out · FF · line_drive · EV 100.5 / LA 20.02026-03-21 · home run · CU · line_drive · EV 104.5 / LA 22.02026-03-21 · force out · CH · ground_ball · EV 100.3 / LA 0.02026-03-21 · single · CH · ground_ball · EV 89.1 / LA 2.02026-03-29 · field out · SI · popup · EV 95.9 / LA 71.02026-03-29 · field out · SI · line_drive · EV 104.9 / LA 21.02026-04-01 · single · FF · ground_ball · EV 84.0 / LA -5.02026-04-01 · field out · CH · fly_ball · EV 84.5 / LA 37.02026-04-03 · single · SI · fly_ball · EV 67.2 / LA 35.02026-04-03 · field out · FC · fly_ball · EV 89.8 / LA 38.02026-04-04 · field out · SI · ground_ball · EV 56.7 / LA 5.02026-04-04 · field out · SL · ground_ball · EV 72.0 / LA -16.02026-04-04 · field out · CU · popup · EV 83.2 / LA 71.02026-04-05 · field out · SL · fly_ball · EV 85.6 / LA 39.02026-04-05 · field out · FF · fly_ball · EV 95.1 / LA 34.02026-04-06 · field out · FF · fly_ball · EV 94.7 / LA 57.02026-04-06 · double · FF · line_drive · EV 105.0 / LA 17.02026-04-06 · single · SL · ground_ball · EV 82.5 / LA 7.02026-04-07 · single · SI · ground_ball · EV 98.9 / LA -11.02026-04-07 · grounded into double play · ST · ground_ball · EV 72.4 / LA -6.02026-04-07 · double · ST · line_drive · EV 101.6 / LA 17.02026-04-08 · single · CU · ground_ball · EV 107.3 / LA 6.02026-04-08 · field out · SI · ground_ball · EV 92.0 / LA -9.02026-04-08 · field out · SI · line_drive · EV 85.4 / LA 24.02026-04-10 · field out · ST · line_drive · EV 92.4 / LA 18.02026-04-10 · single · SI · ground_ball · EV 92.5 / LA 6.02026-04-11 · single · CU · line_drive · EV 103.1 / LA 16.02026-04-11 · field out · SI · line_drive · EV 106.6 / LA 15.02026-04-12 · field out · ST · ground_ball · EV 60.5 / LA -1.02026-04-12 · grounded into double play · SI · ground_ball · EV 69.7 / LA 2.02026-04-12 · field out · SI · ground_ball · EV 91.9 / LA -25.02026-04-13 · field out · CU · fly_ball · EV 90.9 / LA 31.02026-04-14 · field out · CH · ground_ball · EV 84.9 / LA -9.02026-04-20 · field out · SL · fly_ball · EV 99.8 / LA 23.02026-04-20 · field out · FC · ground_ball · EV 109.7 / LA -10.02026-04-22 · field out · CH · ground_ball · EV 85.7 / LA -38.02026-04-22 · force out · SI · ground_ball · EV 101.8 / LA -9.02026-04-27 · field out · SI · ground_ball · EV 94.5 / LA -30.02026-05-09 · field out · FF · line_drive · EV 103.3 / LA 23.02026-05-09 · field out · SL · line_drive · EV 99.5 / LA 23.02026-05-09 · field out · FF · ground_ball · EV 91.5 / LA -10.02026-05-10 · field out · KC · fly_ball · EV 104.5 / LA 33.02026-05-10 · field out · KC · ground_ball · EV 48.4 / LA -55.02026-05-16 · field out · FF · line_drive · EV 55.7 / LA 28.02026-05-16 · single · CH · line_drive · EV 84.8 / LA 21.02026-05-16 · field out · SL · line_drive · EV 97.8 / LA 18.02026-05-17 · force out · CH · ground_ball · EV 102.7 / LA -5.02026-05-17 · force out · ST · ground_ball · EV 75.4 / LA 0.02026-05-17 · single · ST · line_drive · EV 84.2 / LA 15.02026-05-31 · field out · FF · popup · EV 74.7 / LA 58.02026-08-30 · field out · FC · ground_ball · EV 73.4 / LA -11.02026-08-30 · single · SL · line_drive · EV 79.0 / LA 18.02026-08-30 · single · FF · line_drive · EV 103.2 / LA 12.02026-08-30 · single · SL · line_drive · EV 71.2 / LA 17.02026-09-01 · field out · EP · fly_ball · EV 94.6 / LA 38.02026-09-01 · home run · FF · fly_ball · EV 102.3 / LA 35.02026-09-01 · sac fly · CU · fly_ball · EV 87.4 / LA 41.02026-09-01 · home run · FC · fly_ball · EV 104.8 / LA 30.02026-09-02 · home run · SI · fly_ball · EV 104.7 / LA 24.02026-09-02 · single · ST · ground_ball · EV 67.7 / LA -22.02026-09-02 · field out · FF · fly_ball · EV 94.9 / LA 57.02026-09-03 · field out · CH · ground_ball · EV 59.3 / LA -29.02026-09-03 · single · FF · ground_ball · EV 98.1 / LA 2.02026-09-04 · field out · SI · fly_ball · EV 82.1 / LA 59.02026-09-04 · double · SL · ground_ball · EV 92.5 / LA -6.02026-09-05 · single · FF · ground_ball · EV 95.8 / LA -5.02026-09-05 · sac fly · SI · line_drive · EV 93.3 / LA 23.02026-09-05 · double · SI · ground_ball · EV 103.6 / LA -8.02026-09-06 · double · FF · line_drive · EV 102.3 / LA 20.02026-09-06 · single · FC · line_drive · EV 87.0 / LA 12.02026-09-06 · field out · SL · ground_ball · EV 80.5 / LA 0.02026-09-07 · field out · SL · fly_ball · EV 91.5 / LA 35.02026-09-07 · single · FF · ground_ball · EV 101.0 / LA -4.02026-09-07 · single · FF · line_drive · EV 95.5 / LA 10.02026-09-07 · field out · ST · fly_ball · EV 90.0 / LA 29.02026-09-08 · field out · SI · ground_ball · EV 105.9 / LA 4.02026-09-08 · single · CH · ground_ball · EV 109.4 / LA 5.02026-09-08 · grounded into double play · SI · ground_ball · EV 92.2 / LA -24.02026-09-09 · field out · ST · ground_ball · EV 92.4 / LA 4.02026-09-09 · field out · SI · ground_ball · EV 103.1 / LA 4.02026-09-11 · field out · FC · line_drive · EV 90.4 / LA 26.02026-09-11 · single · FF · line_drive · EV 92.7 / LA 16.02026-09-11 · field out · FF · fly_ball · EV 90.6 / LA 40.02026-09-11 · grounded into double play · SL · ground_ball · EV 79.4 / LA 3.02026-09-12 · field out · SL · fly_ball · EV 94.9 / LA 27.02026-09-12 · field out · SL · line_drive · EV 100.6 / LA 10.02026-09-12 · single · SI · fly_ball · EV 73.2 / LA 26.02026-09-13 · field out · SI · ground_ball · EV 107.1 / LA -25.02026-09-13 · field out · ST · fly_ball · EV 96.2 / LA 28.02026-09-18 · field out · SL · fly_ball · EV 92.4 / LA 43.02026-09-18 · field out · FF · fly_ball · EV 92.7 / LA 33.02026-09-20 · field out · SI · ground_ball · EV 103.8 / LA -11.02026-09-20 · field out · CH · line_drive · EV 101.9 / LA 25.02026-09-22 · field out · FF · line_drive · EV 85.1 / LA 19.02026-09-25 · field out · FF · line_drive · EV 100.8 / LA 22.02026-09-25 · field out · SI · ground_ball · EV 96.1 / LA -9.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 Saggese, Thomas · Aggregate zone metrics; not pitch-by-pitch locations Zone: 48%48%Chase: 35%35%Whiff: 24%24%Zone contact: 84%84%Contact: 76%76%Hard hit: 46%46% 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 Saggese, Thomas · aggregate bat speed marker 60 mph 85 mph Avg bat speed 71.8 mph Hard swing rate 21% Whiff / swing 32% MITHRANDIR · CHARTS
Reference layer

Current snapshot

Age24
Height5' 10"
Weight185 lb
Debut2024-09-10
Live layer

Delta / regression

xwOBA Δ+0.012
wOBA Δ+0.014

negative regression

Regression watch

Running hot. Expect some cooling.

-0.1σ gap
wOBA (actual)0.315
xwOBA (deserved)0.313

Saggese’s wOBA sits at 0.315, but the quality of contact underneath says it should be 0.313 — a gap of 0.002, -0.1 standard deviations from the MLB norm over 184 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
Hitting12026-09-20Disciplined swing decisions drove the score
Fielding122026-09-251 chances | 0 difficult plays | Run Exp +0.458
Projection links / recent games

Available detail

Hitter Projections 20260.301 xwOBA | 6 HRProjection
2026-05-20 vs PIT0 HR | 0 RBI / 0 Ch | 0 E0-1 | K
2026-04-20 @ MIA0 HR | 0 RBI / 2 Ch | 0 E0-4 | 2 K
2026-04-14 vs CLE0 HR | 0 RBI / 2 Ch | 0 E0-4 | 3 K, R
2026-04-13 vs CLE0 HR | 0 RBI / 0 Ch | 0 E0-2 | K
2026-04-12 vs BOS0 HR | 0 RBI / 4 Ch | 0 E0-4 | K