← STL at MIL, Sep 25, 2026
6:40 PM CT · American Family Field · lineup confirmed
Hitter · STL · batting 6Thomas Saggese
Bats rightTalent grade CBalancedNormal
.347wOBA vs LHP.337xwOBA vs his mix3.6expected PA
Starter · MILRobert Gasser
Throws leftBTB Stuff 94Stable
4.5projected K20%K%1.9trips vs this hitter
Robert Gasser's pitches, by how they moveHitter's edgeEvenPitcher's edge
-20-100+10+20-20-100+10+20Arm side →← Glove side↑ Rise (in)Sweeper: 24% usage, 80.7 mph, -15.2″ arm side, +4.3″ rise. Thomas Saggese: wOBA .334 vs league .329 (about even).Sweeper 24%Fastball: 24% usage, 93.2 mph, +7.3″ arm side, +14.4″ rise. Thomas Saggese: wOBA .351 vs league .346 (about even).Fastball 24%Cutter: 20% usage, 88.9 mph, -2.5″ arm side, +6.7″ rise. Thomas Saggese: wOBA .323 vs league .318 (about even).Cutter 20%Sinker: 20% usage, 93.1 mph, +15.7″ arm side, +6.7″ rise. Thomas Saggese: wOBA .367 vs league .362 (about even).Sinker 20%Changeup: 11% usage, 88.7 mph, +17.5″ arm side, +0.5″ rise. Thomas Saggese: wOBA .340 vs league .336 (about even).Changeup 11%

Bubble size is how often he throws it. Color is Thomas Saggese's wOBA against pitches shaped like it, compared with league. Hover a pitch for the numbers; the table below has all of them.

Thomas Saggese's last 40 balls in playHit (9)Out (31)Barrel zone
sweet spot 8–32°-40°-20°0°20°40°60°80°6070809010011012095 mph hard hitExit velocity (mph)Out: 96.1 mph at -9°Out: 100.8 mph at 22°Out: 90.6 mph at 30°Out: 85.1 mph at 19°Out: 101.9 mph at 25°Out: 103.8 mph at -11°Out: 84.7 mph at 29°Out: 59.0 mph at -65°Out: 92.7 mph at 33°Out: 92.4 mph at 43°Out: 96.8 mph at -15°Out: 100.0 mph at 25°Out: 100.3 mph at -12°Single: 57.0 mph at -84°Single: 101.7 mph at 12°Out: 106.5 mph at 19°Out: 89.6 mph at 47°Out: 96.4 mph at -4°Single: 111.0 mph at 1°Out: 100.6 mph at 39°Out: 73.9 mph at 11°Single: 96.5 mph at -4°Out: 107.1 mph at -25°Out: 96.2 mph at 28°Out: 100.6 mph at 10°Out: 94.9 mph at 27°Single: 73.2 mph at 26°Out: 90.4 mph at 26°Out: 90.6 mph at 40°Single: 92.7 mph at 16°Out: 79.4 mph at 3°Out: 92.4 mph at 4°Out: 103.1 mph at 4°Out: 92.2 mph at -24°Single: 109.4 mph at 5°Out: 105.9 mph at 4°Single: 95.5 mph at 10°Out: 90.0 mph at 29°Single: 101.0 mph at -4°Out: 91.5 mph at 35°
53% hit 95+ mph43% in the sweet spot23% fell for hits
MarketBTBWithout the matchupMatchup
1+ hit62.7%61.2%+1.5
2+ total bases35.9%34.1%+1.8
Home run11.0%9.4%+1.7
Matchup: points this starter, his pitch mix, the bullpen and the park add or take away, against the same hitter over the same trips facing league-average opposition. "Without the matchup" takes them back out.
What moves the number
1+ hit
Starter
+0.9
Pitch mix
+0.6
Bullpen
+0.2
Park
-0.1
2+ total bases
Starter
+1.0
Pitch mix
+0.6
Bullpen
+0.2
Park
+0.0
Home run
Starter
+0.9
Pitch mix
+0.3
Bullpen
+0.1
Park
+0.4

Points each piece adds or takes away. The pitch-mix piece is folded into the fitted model when it scores the pair, so it often reads zero.

Zone battle

where he pitches, where Thomas Saggese hits
Thomas Saggese · hot and cold vs LHP
xwOBA .224 shrunk (raw .000 on 1 PA) · league .243 · 6 pitches seen.224xwOBA .443 shrunk (raw .882 on 4 PA) · league .296 · 6 pitches seen.443xwOBA .254 shrunk (raw – on 0 PA) · league .254 · 0 pitches seenxwOBA .294 shrunk (raw .129 on 1 PA) · league .308 · 3 pitches seen.294xwOBA .424 shrunk (raw .891 on 1 PA) · league .385 · 4 pitches seen.424xwOBA .402 shrunk (raw 1.144 on 1 PA) · league .340 · 4 pitches seen.402xwOBA .273 shrunk (raw – on 0 PA) · league .273 · 3 pitches seenxwOBA .337 shrunk (raw .286 on 3 PA) · league .350 · 9 pitches seen.337xwOBA .276 shrunk (raw .000 on 1 PA) · league .299 · 5 pitches seen.276xwOBA .302 shrunk (raw – on 0 PA) · league .302 · 4 pitches seenxwOBA .347 shrunk (raw .349 on 4 PA) · league .346 · 22 pitches seen.347xwOBA .193 shrunk (raw .000 on 6 PA) · league .289 · 20 pitches seen.193xwOBA .256 shrunk (raw .254 on 3 PA) · league .257 · 13 pitches seen.256
vs LHP · 99 pitches · catcher's view
Whiff 20% of 5 swings · league 19%20%Whiff 0% of 5 swings · league 21%0%Whiff – of 0 swings · league 23%Whiff 0% of 3 swings · league 9%0%Whiff 0% of 2 swings · league 10%0%Whiff 0% of 2 swings · league 11%0%Whiff 0% of 1 swings · league 17%0%Whiff 40% of 5 swings · league 14%40%Whiff – of 0 swings · league 16%Whiff 0% of 1 swings · league 25%0%Whiff 67% of 3 swings · league 29%67%Whiff 67% of 12 swings · league 48%67%Whiff 25% of 4 swings · league 34%25%
vs LHP · 99 pitches · catcher's view
Swings at 83% of 6 pitches · league 63%83%Swings at 83% of 6 pitches · league 71%83%Swings at – of 0 pitches · league 64%Swings at 100% of 3 pitches · league 67%100%Swings at 50% of 4 pitches · league 76%50%Swings at 50% of 4 pitches · league 72%50%Swings at 33% of 3 pitches · league 59%33%Swings at 56% of 9 pitches · league 68%56%Swings at 0% of 5 pitches · league 66%0%Swings at 25% of 4 pitches · league 30%25%Swings at 14% of 22 pitches · league 26%14%Swings at 60% of 20 pitches · league 31%60%Swings at 31% of 13 pitches · league 41%31%
vs LHP · 99 pitches · catcher's view

better for him than the league in that spot worse. Faded cells have little sample. Last 90 days; zone drawn at a fixed 1.5–3.5 ft.

Pitch by pitch

Thomas Saggese against each of Robert Gasser's pitches
His pitchUsageVeloMovementHis wOBALeagueHis whiff%LeagueSampleRead
Sweeper24%80.7-15″ / +4″.334.32926.7%20.0%4Little history vs this shape
Fastball24%93.2+7″ / +14″.351.34620.6%17.7%6Little history vs this shape
Cutter20%88.9-3″ / +7″.323.31824.6%21.0%6Little history vs this shape
Sinker20%93.1+16″ / +7″.367.36215.5%13.1%4Little history vs this shape
Changeup11%88.7+18″ / +1″.340.33630.0%27.8%2Little history vs this shape
Matched by shape: every pitch in our history that moved like each of the starter's pitches, not just ones with the same name. Movement is horizontal / induced vertical break in inches. Display only; the fitted model reads the matchup its own way.

Statcast

opens on left-handers, the hand he faces tonight
Thomas Saggese · by window and pitcher handthrough Sep 25, 2026 · windows are his last games
WindowGPAAVGOBPSLGwOBAxwOBAK%BB%Whiff%Avg EVMax EVBarrel%Hard-hit%Sweet-spot%
Last 5 G47.000.143.000.100.26371.4%14.3%35.7%101.9101.9100.0%100.0%100.0%
Last 15 G915.154.267.154.213.28553.3%13.3%37.5%94.8109.420.0%40.0%60.0%
Last 30 G1325.250.360.550.380.34844.0%16.0%32.6%92.6109.430.0%50.0%40.0%
90 days1325.250.360.550.380.34844.0%16.0%32.6%92.6109.430.0%50.0%40.0%
Batted-ball mix, 90 days · 10 balls in play
Ground 40%Line drive 10%Fly ball 50%Pop-up 0%
WindowGPAAVGOBPSLGwOBAxwOBAK%BB%Whiff%Avg EVMax EVBarrel%Hard-hit%Sweet-spot%
Last 5 G513.000.154.000.108.29530.8%7.7%25.9%88.6103.80.0%42.9%57.1%
Last 15 G1546.167.217.167.202.32117.4%2.2%15.2%93.4111.05.7%54.3%40.0%
Last 30 G2166.288.333.390.331.34815.2%4.5%15.8%92.1111.05.9%47.1%41.2%
90 days2166.288.333.390.331.34815.2%4.5%15.8%92.1111.05.9%47.1%41.2%
Batted-ball mix, 90 days · 51 balls in play
Ground 41%Line drive 28%Fly ball 28%Pop-up 4%
WindowGPAAVGOBPSLGwOBAxwOBAK%BB%Whiff%Avg EVMax EVBarrel%Hard-hit%Sweet-spot%
Last 5 G520.000.150.000.105.28445.0%10.0%29.3%90.2103.812.5%50.0%62.5%
Last 15 G1561.164.230.164.205.31326.2%4.9%19.8%93.6111.07.5%52.5%42.5%
Last 30 G2391.278.341.430.345.34823.1%7.7%19.9%92.2111.09.8%47.5%41.0%
90 days2391.278.341.430.345.34823.1%7.7%19.9%92.2111.09.8%47.5%41.0%
Batted-ball mix, 90 days · 61 balls in play
Ground 41%Line drive 25%Fly ball 31%Pop-up 3%
Thomas Saggese · percentile ranksvs 210 hitters on the slate with 60+ PA · last 90 days

Right is always better for the hitter: K% and whiff are ranked low-to-high. Context only; a percentile isn't a projection.

FormNormal
Contact rating93Top tier
Last 100 pitches43trending down
wOBA / xwOBA.362 / .373results in line with his contact
Last 12 games, oldest to newest
Hit5/12
2+ total bases1/12
Home run0/12

Context only. Streaks and hot or cold labels don't move a projection: in our tests recent results didn't predict the next two weeks better than the season.

Recent contact

Last 12 balls in play. Hard hit is 95+ mph; the sweet spot is a launch angle of 8 to 32 degrees.
DatePitcherPitchVeloEVLAxwOBAResult
Sep 25RHPSinker92.996.1-9.246Out
Sep 25RHPFastball98.3100.822.675Out
Sep 24RHPSweeper85.690.630.061Out
Sep 22RHPFastball97.085.119.829Out
Sep 20LHPChangeup78.7101.9251.144Out
Sep 20RHPSinker100.5103.8-11.253Out
Sep 19RHPSweeper83.584.729.088Out
Sep 19RHPCutter88.759.0-65.256Out
Sep 18RHPFastball95.492.733.149Out
Sep 18RHPSlider88.592.443.007Out
Sep 16RHPFastball96.896.8-15.200Out
Sep 16RHPSinker94.5100.025.733Sac fly
Last 10 games.
DatePAHTBHRBBK
Sep 25400002
Sep 24400002
Sep 22300011
Sep 20400002
Sep 19500012
Sep 18400001
Sep 16511001
Sep 15411000
Sep 14422000
Sep 13300001

Two strikes

Robert Gasser MIL · LHPwith two strikes
Robert Gasser with two strikes. Put-away: share of two-strike pitches that end the at-bat with a strikeout.
PitchOverall2 strikesWhiff%Put-awayLeague put-away
Sweeper24%36%28.0%20.3%20.5%
Fastball24%30%15.2%15.5%18.6%
Sinker20%16%0.0%15.9%17.7%
Changeup11%9%21.7%17.1%18.3%
Cutter20%7%0.0%3.7%17.9%
Slider1%1%0.0%0.0%21.6%
Thomas Saggese bats Rwith two strikes, vs this hand
Thomas Saggese with two strikes against this hand, shrunk toward league. Little two-strike history vs these shapes
With two strikesHimLeague
K%46.4%41.5%
Whiff%25.3%21.6%
Contact%74.7%78.4%
Chase%40.8%39.9%
wOBA.236.245
Whiff vs his put-away shapes20.3%17.0%

The hitter

season-level talent read
Talent gradeCBalanced type
wOBA.313
K%24.9%
BB%6.7%
Whiff%10.4%
Barrel%4.4%
Hard-hit%29.1%
Avg EV90.2

Against left-handers, last 90 days

23 PA
wOBA.347
xwOBA vs this mix.337against pitches like his
RV/1001.43
Hard-hit%25.4%
K%27.2%
BB%8.0%

Talent blends this season with last season, shrunk toward league average where the sample is thin. Recent hot or cold streaks are not weighted: in our tests they didn't predict the next two weeks better than the season does.

The starter he faces
Robert GasserLHP · MIL vs STL
4.5projected strikeouts · likely 2 to 7 · 22.1 batters over 5.2 innings
≤3 strikeouts: 35.1%35%≤34 strikeouts: 19.0%19%45 strikeouts: 16.9%17%56 strikeouts: 12.5%12%67 strikeouts: 8.1%8%78 strikeouts: 4.5%5%89+ strikeouts: 3.9%4%9+book 4.5
Over 4.5: 46% (red bars) · under: 54%. Chance of each exact strikeout total, from the served distribution.
K%20.2%
BB%6.7%
Whiff%9.1%
Velo88.6
BTB Stuff94
Location98
PitchUsageBTB Stuff 60 · 100 · 140VeloWhiff
Sweeper24%10180.712.7%
Fastball24%9993.110.7%
Cutter20%8088.87.1%
Sinker20%9593.13.4%
Changeup11%8888.512.5%
Slider1%9883.90.0%
Last 3 startsStable
DatePitchesK%Whiff%Hard-hit%wOBA
Sep 191078%8%27%.238
Sep 138925%11%25%.222
Sep 78325%12%10%.312

Season numbers from the last 90 days of Statcast. BTB Stuff and Location read on a scale where 100 is league average. Recent starts are context; the projection doesn't weight them.

Robert Gasser MIL · LHPvsSTL lineupstrikeout rate vs his hand

2 of 9 strike out more than the average hitter tonight

Strikeout rate against left-handers over the last 90 days (season rate where the split is missing). Line: tonight's average hitter, 22.5%. Red strikes out more, blue less.

The rest of the gameSTL @ MIL →Both lineups, bullpens, the pitch-mix battles and park air.Thomas Saggese: every projection we've made →