← STL at MIL, Sep 25, 2026
6:40 PM CT · American Family Field · lineup confirmed
Hitter · MIL · batting 3William Contreras
Bats rightTalent grade BPowerNormal
.321wOBA vs RHP.323xwOBA vs his mix3.8expected PA
Starter · STLMichael McGreevy
Throws rightBTB Stuff 84Trending Up
4.0projected K17%K%2.7trips vs this hitter
Michael McGreevy's pitches, by how they moveHitter's edgeEvenPitcher's edge
-20-100+10+20-20-100+10+20Arm side →← Glove side↑ Rise (in)Fastball: 23% usage, 92.3 mph, +8.9″ arm side, +12.0″ rise. William Contreras: wOBA .362 vs league .362 (about even).Fastball 23%Changeup: 19% usage, 87.2 mph, +14.2″ arm side, +1.4″ rise. William Contreras: wOBA .282 vs league .281 (about even).Changeup 19%Sinker: 16% usage, 91.2 mph, +12.4″ arm side, +4.1″ rise. William Contreras: wOBA .350 vs league .349 (about even).Sinker 16%Curveball: 14% usage, 79.2 mph, -11.8″ arm side, -11.4″ rise. William Contreras: wOBA .283 vs league .282 (about even).Curveball 14%Cutter: 12% usage, 88.5 mph, +0.1″ arm side, +6.1″ rise. William Contreras: wOBA .323 vs league .323 (about even).Cutter 12%Sweeper: 11% usage, 82.3 mph, -14.8″ arm side, -1.9″ rise. William Contreras: wOBA .284 vs league .284 (about even).Sweeper 11%Slider: 5% usage, 83.5 mph, -3.2″ arm side, -1.4″ rise. William Contreras: wOBA .305 vs league .305 (about even).Slider 5%

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

William Contreras's last 40 balls in playHit (12)Out (28)Barrel zone
sweet spot 8–32°-40°-20°0°20°40°60°80°6070809010011012095 mph hard hitExit velocity (mph)Out: 100.3 mph at 25°Out: 101.7 mph at 20°Out: 87.7 mph at 34°Out: 88.8 mph at -24°Single: 103.1 mph at 0°Out: 81.0 mph at -5°Out: 72.8 mph at 41°Out: 86.5 mph at 0°Single: 78.1 mph at 3°Out: 76.5 mph at -9°Single: 83.3 mph at 12°Out: 81.1 mph at 25°Out: 64.5 mph at -26°Home run: 106.9 mph at 43°Single: 92.7 mph at 8°Out: 104.6 mph at 16°Out: 49.1 mph at -22°Out: 45.3 mph at -64°Out: 86.2 mph at 79°Double: 111.7 mph at 9°Out: 93.4 mph at 1°Single: 95.4 mph at 15°Out: 103.7 mph at -32°Out: 90.0 mph at 22°Out: 91.0 mph at 23°Out: 81.5 mph at 28°Out: 102.3 mph at 15°Out: 88.4 mph at 26°Out: 102.7 mph at 1°Double: 96.0 mph at 36°Home run: 101.0 mph at 26°Out: 50.5 mph at 42°Out: 92.8 mph at -19°Out: 94.7 mph at 40°Single: 104.8 mph at -3°Home run: 109.3 mph at 26°Out: 100.2 mph at 49°Out: 89.9 mph at 37°Out: 105.8 mph at 18°Home run: 102.1 mph at 26°
43% hit 95+ mph43% in the sweet spot30% fell for hits
MarketBTBWithout the matchupMatchup
1+ hit65.0%62.8%+2.2
2+ total bases37.5%35.9%+1.5
Home run11.1%10.9%+0.2
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
+2.5
Pitch mix
-0.1
Bullpen
+0.1
Park
-0.3
2+ total bases
Starter
+1.8
Pitch mix
-0.1
Bullpen
+0.2
Park
-0.3
Home run
Starter
+0.2
Pitch mix
-0.0
Bullpen
+0.1
Park
-0.1

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 William Contreras hits
William Contreras · hot and cold vs RHP
xwOBA .237 shrunk (raw .182 on 8 PA) · league .274 · 27 pitches seen.237xwOBA .405 shrunk (raw .511 on 11 PA) · league .307 · 33 pitches seen.405xwOBA .217 shrunk (raw .139 on 7 PA) · league .263 · 22 pitches seen.217xwOBA .378 shrunk (raw .396 on 24 PA) · league .342 · 44 pitches seen.378xwOBA .398 shrunk (raw .408 on 14 PA) · league .386 · 41 pitches seen.398xwOBA .324 shrunk (raw .326 on 20 PA) · league .321 · 51 pitches seen.324xwOBA .298 shrunk (raw .289 on 13 PA) · league .308 · 30 pitches seen.298xwOBA .359 shrunk (raw .364 on 21 PA) · league .351 · 53 pitches seen.359xwOBA .296 shrunk (raw .299 on 21 PA) · league .292 · 41 pitches seen.296xwOBA .339 shrunk (raw .319 on 22 PA) · league .377 · 97 pitches seen.339xwOBA .259 shrunk (raw .223 on 5 PA) · league .274 · 44 pitches seen.259xwOBA .361 shrunk (raw .420 on 20 PA) · league .263 · 77 pitches seen.361xwOBA .261 shrunk (raw .256 on 29 PA) · league .274 · 226 pitches seen.261
vs RHP · 786 pitches · catcher's view
Whiff 24% of 21 swings · league 22%24%Whiff 20% of 25 swings · league 20%20%Whiff 11% of 9 swings · league 19%11%Whiff 13% of 40 swings · league 10%13%Whiff 12% of 33 swings · league 9%12%Whiff 18% of 34 swings · league 11%18%Whiff 0% of 19 swings · league 14%0%Whiff 5% of 37 swings · league 13%5%Whiff 8% of 24 swings · league 17%8%Whiff 13% of 31 swings · league 28%13%Whiff 18% of 11 swings · league 24%18%Whiff 24% of 34 swings · league 32%24%Whiff 58% of 50 swings · league 49%58%
vs RHP · 786 pitches · catcher's view
Swings at 78% of 27 pitches · league 62%78%Swings at 76% of 33 pitches · league 72%76%Swings at 41% of 22 pitches · league 66%41%Swings at 91% of 44 pitches · league 70%91%Swings at 81% of 41 pitches · league 76%81%Swings at 67% of 51 pitches · league 70%67%Swings at 63% of 30 pitches · league 65%63%Swings at 70% of 53 pitches · league 68%70%Swings at 59% of 41 pitches · league 60%59%Swings at 32% of 97 pitches · league 24%32%Swings at 25% of 44 pitches · league 34%25%Swings at 44% of 77 pitches · league 40%44%Swings at 22% of 226 pitches · league 32%22%
vs RHP · 786 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

William Contreras against each of Michael McGreevy's pitches
His pitchUsageVeloMovementHis wOBALeagueHis whiff%LeagueSampleRead
Fastball23%92.3+9″ / +12″.362.36212.5%15.0%64About league average vs these
Changeup19%87.2+14″ / +1″.282.28127.2%30.6%13About league average vs these
Sinker16%91.2+12″ / +4″.350.34910.0%12.2%45About league average vs these
Curveball14%79.2-12″ / -11″.283.28226.7%29.9%8Little history vs this shape
Cutter12%88.5+0″ / +6″.323.32323.7%27.2%39About league average vs these
Sweeper11%82.3-15″ / -2″.284.28425.4%28.8%23About league average vs these
Slider5%83.5-3″ / -1″.305.30527.2%30.7%36About league average vs these
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 right-handers, the hand he faces tonight
William Contreras · 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 G518.250.278.438.350.27122.2%5.6%19.4%86.5106.97.7%30.8%30.8%
Last 15 G1547.286.340.595.412.36521.3%8.5%23.7%91.0111.712.1%48.5%45.5%
Last 30 G2890.312.389.597.435.37520.0%12.2%20.1%92.3111.713.1%47.5%44.3%
90 days66216.232.310.411.323.33416.7%9.7%19.8%91.0111.710.2%46.5%35.7%
Batted-ball mix, 90 days · 157 balls in play
Ground 41%Line drive 22%Fly ball 27%Pop-up 10%
WindowGPAAVGOBPSLGwOBAxwOBAK%BB%Whiff%Avg EVMax EVBarrel%Hard-hit%Sweet-spot%
Last 5 G22.000.500.000.350.3640.0%50.0%0.0%87.787.70.0%0.0%0.0%
Last 15 G921.176.286.412.298.30814.3%14.3%21.2%92.0105.86.7%46.7%33.3%
Last 30 G1848.326.354.465.371.27512.5%6.2%16.9%89.5108.42.6%43.6%30.8%
90 days4089.244.315.372.334.27013.5%9.0%20.6%87.9112.84.4%35.3%25.0%
Batted-ball mix, 90 days · 68 balls in play
Ground 46%Line drive 21%Fly ball 16%Pop-up 18%
WindowGPAAVGOBPSLGwOBAxwOBAK%BB%Whiff%Avg EVMax EVBarrel%Hard-hit%Sweet-spot%
Last 5 G520.235.300.412.350.28120.0%10.0%17.6%86.6106.97.1%28.6%28.6%
Last 15 G1568.254.324.542.377.34719.1%10.3%22.9%91.3111.710.4%47.9%41.7%
Last 30 G30138.317.377.550.413.34117.4%10.1%19.0%91.2111.79.0%46.0%39.0%
90 days70305.235.311.399.326.31615.7%9.5%20.1%90.1112.88.4%43.1%32.4%
Batted-ball mix, 90 days · 225 balls in play
Ground 43%Line drive 21%Fly ball 24%Pop-up 12%
William Contreras · 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 rating59Average
Last 100 pitches66trending up
wOBA / xwOBA.318 / .327results in line with his contact
Last 12 games, oldest to newest
Hit11/12
2+ total bases6/12
Home run4/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 25RHPSinker91.2100.325.733Out
Sep 25RHPChangeup87.5101.720.642Out
Sep 25LHPSinker94.887.734.030Out
Sep 25RHPSinker91.288.8-24.046Out
Sep 25RHPSinker96.2103.10.410Single
Sep 24RHPSweeper82.781.0-5.143Out
Sep 24RHPSweeper83.572.841.307Out
Sep 23RHPChangeup82.686.50.168Out
Sep 23RHPCurveball79.178.13.157Single
Sep 23RHPFastball96.576.5-9.050Error
Sep 22RHPSinker94.683.312.483Single
Sep 22RHPSweeper82.181.125.273Sac fly
Last 10 games.
DatePAHTBHRBBK
Sep 25511000
Sep 24300010
Sep 23411001
Sep 22411002
Sep 20414111
Sep 19411000
Sep 18512011
Sep 16511001
Sep 15512000
Sep 12514120

Two strikes

Michael McGreevy STL · RHPwith two strikes
Michael McGreevy with two strikes. Put-away: share of two-strike pitches that end the at-bat with a strikeout.
PitchOverall2 strikesWhiff%Put-awayLeague put-away
Changeup19%23%24.4%17.5%18.6%
Fastball23%20%14.6%13.9%18.0%
Curveball14%18%22.9%12.9%20.0%
Sinker16%17%13.2%22.0%17.0%
Sweeper11%12%21.7%13.6%19.3%
Slider5%6%20.0%10.0%21.1%
Cutter12%5%16.7%16.7%17.9%
William Contreras bats Rwith two strikes, vs this hand
William Contreras with two strikes against this hand, shrunk toward league. About league average vs his two-strike stuff
With two strikesHimLeague
K%38.8%42.4%
Whiff%19.6%22.2%
Contact%80.4%77.8%
Chase%38.4%39.9%
wOBA.251.237
Whiff vs his put-away shapes19.9%22.4%

The hitter

season-level talent read
Talent gradeBPower type
wOBA.331
K%16.9%
BB%9.8%
Whiff%9.7%
Barrel%5.6%
Hard-hit%30.9%
Avg EV89.9

Against right-handers, last 90 days

214 PA
wOBA.321
xwOBA vs this mix.323against pitches like his
RV/1000.12
Hard-hit%31.8%
K%17.8%
BB%9.5%

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
Michael McGreevyRHP · STL vs MIL
4.0projected strikeouts · likely 2 to 7 · 22.9 batters over 5.3 innings
≤3 strikeouts: 42.9%43%≤34 strikeouts: 19.5%19%45 strikeouts: 15.6%16%56 strikeouts: 10.5%11%67 strikeouts: 6.1%6%78 strikeouts: 3.1%3%89+ strikeouts: 2.3%2%9+book 3.5
Over 3.5: 57% (red bars) · under: 43%. Chance of each exact strikeout total, from the served distribution.
K%17.4%
BB%7.8%
Whiff%8.7%
Velo87.4
BTB Stuff84
Location106
PitchUsageBTB Stuff 60 · 100 · 140VeloWhiff
Fastball23%6992.34.7%
Changeup19%9287.311.6%
Sinker16%7791.25.8%
Curveball14%9279.210.1%
Cutter12%9488.59.5%
Sweeper11%9282.213.1%
Slider5%8583.511.1%
Last 3 startsTrending Up
DatePitchesK%Whiff%Hard-hit%wOBA
Sep 19885%9%21%.379
Sep 139026%13%22%.254
Sep 710515%10%26%.291

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.

Michael McGreevy STL · RHPvsMIL lineupstrikeout rate vs his hand

2 of 9 strike out more than the average hitter tonight

Strikeout rate against right-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.William Contreras: every projection we've made →