← TB at PHI, Sep 25, 2026
5:40 PM CT · Citizens Bank Park · lineup confirmed
Hitter · TB · batting 4Ryan Vilade
Bats rightTalent grade CBalancedCold
.379wOBA vs LHP.382xwOBA vs his mix3.8expected PA
Starter · PHICristopher Sánchez
Throws leftBTB Stuff 118Trending Down
5.6projected K25%K%2.7trips vs this hitter
Cristopher Sánchez's pitches, by how they moveHitter's edgeEvenPitcher's edge
-20-100+10+20-20-100+10+20Arm side →← Glove side↑ Rise (in)Sinker: 46% usage, 95.0 mph, +18.1″ arm side, +4.6″ rise. Ryan Vilade: wOBA .380 vs league .370 (about even).Sinker 46%Changeup: 35% usage, 87.2 mph, +17.0″ arm side, +0.2″ rise. Ryan Vilade: wOBA .343 vs league .332 (about even).Changeup 35%Slider: 19% usage, 86.6 mph, -0.7″ arm side, -3.2″ rise. Ryan Vilade: wOBA .318 vs league .307 (about even).Slider 19%

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

Ryan Vilade's last 40 balls in playHit (14)Out (26)Barrel zone
sweet spot 8–32°-40°-20°0°20°40°60°80°6070809010011012095 mph hard hitExit velocity (mph)Out: 60.7 mph at 54°Single: 107.6 mph at 3°Out: 84.0 mph at -23°Out: 100.7 mph at -9°Out: 99.9 mph at 31°Out: 108.5 mph at -14°Out: 103.6 mph at -4°Out: 95.7 mph at -12°Out: 92.2 mph at -23°Out: 50.0 mph at 1°Out: 72.5 mph at 34°Single: 68.3 mph at 27°Out: 77.1 mph at 12°Single: 96.3 mph at 13°Out: 103.3 mph at 50°Single: 70.8 mph at 36°Out: 75.1 mph at 6°Out: 88.3 mph at 61°Out: 90.2 mph at 78°Triple: 105.4 mph at 12°Out: 102.9 mph at -7°Single: 82.1 mph at 15°Single: 95.3 mph at 5°Out: 91.0 mph at 5°Out: 104.4 mph at 34°Out: 77.7 mph at 59°Out: 102.7 mph at 38°Out: 100.7 mph at 5°Out: 108.2 mph at -27°Single: 113.0 mph at 12°Single: 109.0 mph at -3°Out: 90.4 mph at -39°Single: 94.2 mph at 11°Out: 51.5 mph at -76°Out: 83.3 mph at 60°Single: 105.0 mph at 0°Single: 90.3 mph at 12°Home run: 107.4 mph at 26°Out: 87.6 mph at -40°Double: 109.6 mph at 12°
50% hit 95+ mph28% in the sweet spot35% fell for hits
MarketBTBWithout the matchupMatchup
1+ hit58.3%56.5%+1.8
2+ total bases35.6%34.1%+1.5
Home run12.7%12.5%+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
-0.6
Pitch mix
+1.9
Bullpen
-0.2
Park
+0.7
2+ total bases
Starter
-1.1
Pitch mix
+1.8
Bullpen
-0.2
Park
+0.9
Home run
Starter
-1.5
Pitch mix
+0.8
Bullpen
-0.1
Park
+0.9

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 Ryan Vilade hits
Ryan Vilade · hot and cold vs LHP
xwOBA .195 shrunk (raw .079 on 5 PA) · league .243 · 12 pitches seen.195xwOBA .437 shrunk (raw .861 on 4 PA) · league .296 · 19 pitches seen.437xwOBA .204 shrunk (raw .002 on 3 PA) · league .254 · 17 pitches seen.204xwOBA .392 shrunk (raw .483 on 11 PA) · league .308 · 28 pitches seen.392xwOBA .351 shrunk (raw .300 on 8 PA) · league .385 · 24 pitches seen.351xwOBA .307 shrunk (raw .227 on 5 PA) · league .340 · 16 pitches seen.307xwOBA .249 shrunk (raw .192 on 5 PA) · league .273 · 10 pitches seen.249xwOBA .439 shrunk (raw .545 on 10 PA) · league .350 · 24 pitches seen.439xwOBA .359 shrunk (raw .478 on 6 PA) · league .299 · 14 pitches seen.359xwOBA .376 shrunk (raw .486 on 8 PA) · league .302 · 32 pitches seen.376xwOBA .346 shrunk (raw .349 on 2 PA) · league .346 · 56 pitches seen.346xwOBA .365 shrunk (raw .447 on 11 PA) · league .289 · 55 pitches seen.365xwOBA .226 shrunk (raw .179 on 8 PA) · league .257 · 37 pitches seen.226
vs LHP · 344 pitches · catcher's view
Whiff 0% of 10 swings · league 19%0%Whiff 29% of 17 swings · league 21%29%Whiff 33% of 9 swings · league 23%33%Whiff 10% of 21 swings · league 9%10%Whiff 16% of 19 swings · league 10%16%Whiff 9% of 11 swings · league 11%9%Whiff 17% of 6 swings · league 17%17%Whiff 20% of 20 swings · league 14%20%Whiff 9% of 11 swings · league 16%9%Whiff 22% of 9 swings · league 25%22%Whiff 33% of 6 swings · league 29%33%Whiff 52% of 21 swings · league 48%52%Whiff 33% of 15 swings · league 34%33%
vs LHP · 344 pitches · catcher's view
Swings at 83% of 12 pitches · league 63%83%Swings at 90% of 19 pitches · league 71%90%Swings at 53% of 17 pitches · league 64%53%Swings at 75% of 28 pitches · league 67%75%Swings at 79% of 24 pitches · league 76%79%Swings at 69% of 16 pitches · league 72%69%Swings at 60% of 10 pitches · league 59%60%Swings at 83% of 24 pitches · league 68%83%Swings at 79% of 14 pitches · league 66%79%Swings at 28% of 32 pitches · league 30%28%Swings at 11% of 56 pitches · league 26%11%Swings at 38% of 55 pitches · league 31%38%Swings at 41% of 37 pitches · league 41%41%
vs LHP · 344 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

Ryan Vilade against each of Cristopher Sánchez's pitches
His pitchUsageVeloMovementHis wOBALeagueHis whiff%LeagueSampleRead
Sinker46%95.0+18″ / +5″.380.37011.4%11.0%16About league average vs these
Changeup35%87.2+17″ / +0″.343.33229.5%30.3%13About league average vs these
Slider19%86.6-1″ / -3″.318.30733.7%32.3%4Little 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
Ryan Vilade · 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 G310.125.300.125.256.29310.0%10.0%23.5%78.4107.60.0%33.3%0.0%
Last 15 G1132.269.406.346.384.36321.9%12.5%21.3%85.6107.60.0%38.9%27.8%
Last 30 G2254.261.370.391.364.41222.2%11.1%25.0%92.3113.09.1%54.5%27.3%
90 days3788.269.352.513.386.38725.0%9.1%22.9%91.5113.010.9%49.1%30.9%
Batted-ball mix, 90 days · 55 balls in play
Ground 33%Line drive 22%Fly ball 29%Pop-up 16%
WindowGPAAVGOBPSLGwOBAxwOBAK%BB%Whiff%Avg EVMax EVBarrel%Hard-hit%Sweet-spot%
Last 5 G410.000.100.000.160.25840.0%10.0%33.3%101.0108.520.0%80.0%20.0%
Last 15 G1017.000.176.000.176.25047.1%17.6%31.8%96.7108.516.7%66.7%16.7%
Last 30 G1833.143.273.250.276.32433.3%15.2%25.0%86.8108.511.8%41.2%23.5%
90 days2547.100.234.175.223.29231.9%12.8%26.7%84.9108.58.0%32.0%32.0%
Batted-ball mix, 90 days · 25 balls in play
Ground 60%Line drive 16%Fly ball 20%Pop-up 4%
WindowGPAAVGOBPSLGwOBAxwOBAK%BB%Whiff%Avg EVMax EVBarrel%Hard-hit%Sweet-spot%
Last 5 G520.059.200.059.205.27425.0%10.0%28.1%88.7108.59.1%54.5%9.1%
Last 15 G1549.175.327.225.310.32330.6%14.3%24.1%88.4108.54.2%45.8%25.0%
Last 30 G3087.216.333.338.330.37826.4%12.6%25.0%90.4113.010.0%50.0%26.0%
90 days45135.212.311.398.329.35327.4%10.4%24.0%89.4113.010.0%43.8%31.2%
Batted-ball mix, 90 days · 80 balls in play
Ground 41%Line drive 20%Fly ball 26%Pop-up 13%
Ryan Vilade · 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.

FormCold
Contact rating88Excellent
Last 100 pitches62trending down
wOBA / xwOBA.325 / .362running 37 points behind his contact
Last 12 games, oldest to newest
Hit3/12
2+ total bases0/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 25LHPSlider87.460.754.018Out
Sep 25LHPSinker97.1107.63.479Single
Sep 25LHPFastball94.884.0-23.067Out
Sep 24RHPFastball94.8100.7-9.293Force out
Sep 23RHPSlider90.099.931.864Out
Sep 23RHPSplitter92.2108.5-14.238Out
Sep 23RHPSinker92.3103.6-4.392Error
Sep 22LHPCurveball74.095.7-12.171Out
Sep 22RHPSinker94.192.2-23.091Out
Sep 20LHPSweeper80.450.01.130Out
Sep 20LHPSlider83.972.534.342Out
Sep 18LHPSinker89.768.327.896Single
Last 10 games.
DatePAHTBHRBBK
Sep 25411001
Sep 24400012
Sep 23400001
Sep 22400010
Sep 20400001
Sep 18511012
Sep 17300011
Sep 16411002
Sep 13100001
Sep 12100010

Two strikes

Cristopher Sánchez PHI · LHPwith two strikes
Cristopher Sánchez with two strikes. Put-away: share of two-strike pitches that end the at-bat with a strikeout.
PitchOverall2 strikesWhiff%Put-awayLeague put-away
Changeup35%40%37.2%24.8%18.3%
Sinker46%32%8.8%18.6%17.7%
Slider19%28%34.7%26.8%21.6%
Ryan Vilade bats Rwith two strikes, vs this hand
Ryan Vilade with two strikes against this hand, shrunk toward league. Little two-strike history vs these shapes
With two strikesHimLeague
K%44.1%41.5%
Whiff%22.0%21.6%
Contact%78.0%78.4%
Chase%37.5%39.9%
wOBA.244.245
Whiff vs his put-away shapes23.6%23.2%

The hitter

season-level talent read
Talent gradeCBalanced type
wOBA.306
K%26.6%
BB%10.0%
Whiff%11.1%
Barrel%5.7%
Hard-hit%27.6%
Avg EV90.0

Against left-handers, last 90 days

84 PA
wOBA.379
xwOBA vs this mix.382against pitches like his
RV/1000.94
Hard-hit%29.9%
K%25.1%
BB%10.3%

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
Cristopher SánchezLHP · PHI vs TB
5.6projected strikeouts · likely 3 to 9 · 25.3 batters over 5.9 innings
≤3 strikeouts: 19.6%20%≤34 strikeouts: 15.2%15%45 strikeouts: 16.9%17%56 strikeouts: 15.7%16%67 strikeouts: 12.5%13%78 strikeouts: 8.8%9%89+ strikeouts: 11.3%11%9+book 5.5
Over 5.5: 48% (red bars) · under: 52%. Chance of each exact strikeout total, from the served distribution.
K%24.7%
BB%6.0%
Whiff%14.2%
Velo90.6
BTB Stuff118
Location99
PitchUsageBTB Stuff 60 · 100 · 140VeloWhiff
Sinker46%12194.94.6%
Changeup35%12087.323.4%
Slider19%10986.620.7%
Last 3 startsTrending Down
DatePitchesK%Whiff%Hard-hit%wOBA
Sep 209824%10%48%.260
Sep 159819%11%30%.466
Sep 98112%6%35%.498

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.

Cristopher Sánchez PHI · LHPvsTB lineupstrikeout rate vs his hand

1 of 10 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 gameTB @ PHI →Both lineups, bullpens, the pitch-mix battles and park air.Ryan Vilade: every projection we've made →