Skip to main content
← All games
Aug 21, 2026
Simulated win probability — "deserved to win"Cardinals 21% · tied 11% · Phillies 67%
How win probability is simulated
  • Win probability comes from resampling every batted ball thousands of times — using launch angle, exit velocity, and ballpark factors.
  • It's the simulator's view of who "deserved" to win, regardless of the actual scoreboard.

Team comparison

Both team bars grow from the same left edge, scaled within each row — longer is more.

Runs
6
7
Est. bases
14.0
15.8
Total bases
19
17
Home runs
2
0
Barrels
3
3
Walks/HBP
2
5
Strikeouts
13
6
GIDP
1
2
Stolen bases
1
0
Left on base
8
8
Errors
0
1

Deserved run flow by inning

By the end the Phillies lead on deserved runs by 1.8.

Phillies deserved lead ↑
-20+2+4+6+1.8+1
Cardinals deserved lead ↓Through inning 1: deserved Phillies +0.1 (80% band -1.0 to +2.0) · this inning +0.1 deserved runs · actual Cardinals +2Through inning 2: deserved Phillies +0.3 (80% band -2.0 to +3.0) · this inning +0.2 deserved runs · actual evenThrough inning 3: deserved Phillies +1.5 (80% band -1.0 to +4.0) · this inning +1.1 deserved runs · actual Phillies +1Through inning 4: deserved Phillies +1.5 (80% band -1.0 to +4.0) · this inning +0.0 deserved runs · actual Phillies +1Through inning 5: deserved Phillies +1.8 (80% band -1.0 to +4.0) · this inning +0.3 deserved runs · actual Phillies +1Through inning 6: deserved Phillies +1.2 (80% band -2.0 to +4.0) · this inning -0.6 deserved runs · actual Phillies +1Through inning 7: deserved Phillies +1.1 (80% band -2.0 to +4.0) · this inning -0.1 deserved runs · actual Phillies +1Through inning 8: deserved Phillies +1.1 (80% band -2.0 to +5.0) · this inning +0.0 deserved runs · actual evenThrough inning 9: deserved Phillies +0.9 (80% band -2.0 to +4.0) · this inning -0.2 deserved runs · actual evenThrough inning 10: deserved Phillies +1.8 (80% band -2.0 to +6.0) · this inning +0.9 deserved runs · actual Phillies +112345678910

Inning

Deserved (mean)ActualPhillies sideCardinals side
How to read this chart
How the simulated deserved run differential built up inning by inning — shaded bands show the middle 50% and 80% of simulations, the grey steps show what actually happened. It breaks the headline deserved margin down inning by inning, so the endpoint lands on the headline verdict.

Batting

Bases created

Total bases each batter created (estimated bases from batted balls, plus one per walk).

How to read this chart
Ranked top to bottom. Grouped by team, longest first.

Bases above replacement

Bases each hitter created beyond a freely-available bench bat.

How to read this chart
“Replacement” is the bench bat any team could call up for free, so the scale puts a pinch-hitter and a full-game starter side by side: it measures bases produced against that baseline in the same number of plate appearances, not raw totals.

Batting luck diagnostic

Each batter's net luck: actual bases minus the bases their contact deserved.

Cardinals
Lucky
Unlucky
Phillies
Lucky
Unlucky
How to read this chart
“Deserved” is estimated bases — what contact like that usually earns, regardless of where it landed. Click a batter to see each ball and watch it on Baseball Savant.

Pitching

Bases given up

Total bases each pitcher allowed (estimated bases from balls in play, plus one per walk).

How to read this chart
Sorted most to least. Grouped by team, longest first.

Bases above replacement

Bases each pitcher prevented beyond a freely-available replacement arm.

How to read this chart
“Replacement” is the arm any team could call up for free, and the comparison accounts for the batters each pitcher actually faced. Starters and relievers are held to separate baselines, because a reliever’s inning is the easier job.

Pitching matchup

Each staff’s pitchers side by side.

How to read this chart
Hover or tap the ⓘ on any metric for what it means, or click a row to see the per-pitcher breakdown.

How each pitcher performed

Each pitch type graded in bases saved or cost vs. an average pitcher in the same counts.

Cardinalspitching
Hunter Dobbins4.0 IP · 19 BF · 3 K · 3 BB
2.5 bases cost

The Slider got hit — 4 balls in play worth 5.6 expected bases. His Curveball did the damage prevention — 0.9 bases better than average on 12 pitches.

Caleb Ferguson1.3 IP · 6 BF · 1 K · 1 BB
0.5 bases saved

About an average night — −0.5 bases vs average on 6 batters.

Sinker8 thrown (32% tonight, season 33%)
−0.3 bases saved
Gordon Graceffo0.7 IP · 4 BF · 0 K · 1 BB
0.4 bases saved

His Slider did the damage prevention — 0.6 bases better than average on 5 pitches.

Changeup2 thrown (25% tonight, season 12%)
+0.1 bases cost
Four-Seamer1 thrown (13% tonight, season 40%)
+0.1 bases cost
Justin Bruihl2.0 IP · 7 BF · 0 K · 0 BB
0.8 bases saved

About an average night — −0.8 bases vs average on 7 batters.

Luis Gastelum1.0 IP · 5 BF · 2 K · 0 BB
1.0 bases cost

The Sweeper got hit — 1 ball in play worth 2.5 expected bases.

Four-Seamer5 thrown (24% tonight, season 32%) · 1 whiff
−0.3 bases saved
Sinker1 thrown (5% tonight, season 9%)
−0.1 bases saved
Philliespitching
Jesús Luzardo5.7 IP · 24 BF · 9 K · 1 BB
0.9 bases saved

His Sweeper did the damage prevention — 1.7 bases better than average on 44 pitches. The Four-Seamer got hit — 5 balls in play worth 5.5 expected bases.

Tim Mayza0.7 IP · 4 BF · 1 K · 0 BB
0.1 bases cost

His Sinker did the damage prevention — 0.7 bases better than average on 13 pitches.

Slider3 thrown (16% tonight, season 32%)
0.0 bases
Orion Kerkering1.3 IP · 6 BF · 1 K · 0 BB
1.0 bases saved

His Sweeper did the damage prevention — 0.8 bases better than average on 13 pitches.

Brooks Raley0.3 IP · 2 BF · 0 K · 0 BB
0.1 bases cost

Faced only 2 batters.

Sinker1 thrown (14% tonight, season 21%)
+0.1 bases cost
Jhoan Duran1.0 IP · 4 BF · 2 K · 0 BB
1.6 bases saved

His Splitter did the damage prevention — 0.7 bases better than average on 6 pitches. Overall 1.6 bases better than an average pitcher facing the same counts.

Four-Seamer3 thrown (23% tonight, season 27%) · 1 whiff
−0.2 bases saved
Knuckle Curve2 thrown (15% tonight, season 10%) · 1 whiff
−0.3 bases saved
Sweeper2 thrown (15% tonight, season 10%)
−0.4 bases saved
Alex McFarlane1.0 IP · 3 BF · 0 K · 0 BB
0.2 bases saved

Faced only 3 batters.

Four-Seamer1 thrown (11% tonight, season 31%)
+0.1 bases cost
Slider1 thrown (11% tonight, season 19%)
0.0 bases
Sweeper1 thrown (11% tonight, season 18%)
−0.1 bases saved
Lg avg pitcher = 0
How to read this chart
  • Every pitch is scored against the league: throwing a strike (or getting a whiff or weak contact) beats the average outcome from that count; balls and hard contact fall short of it.
  • “Saved” means fewer expected bases than an average pitcher facing the same counts; “cost” means more. Contact is judged by estimated bases, not luck.
  • This grades every pitch against an average pitcher. The “Bases above replacement” board higher up compares the whole outing to a freely available fill-in arm instead, so its totals read a few bases friendlier — same outing, different question.
  • Click a pitch row to watch the balls hit against it.

Pitching luck diagnostic

Each pitcher's net luck on contact: deserved bases against minus what actually scored.

Cardinals
Lucky
Unlucky
Phillies
Lucky
Unlucky
How to read this chart
“Deserved” is estimated bases on the opponents' contact. Unlucky means bloops and seeing-eye hits fell in; lucky means hard contact found gloves. Click a pitcher to see their biggest swings and watch them on Baseball Savant.

Player spotlight

Pick any player from this game to see what they actually did — every ball they hit, every pitch they saw or threw, and who they did damage against.

Where J.T. Realmuto hit it

Every ball J.T. Realmuto hit this game, where it landed.

329'411'330'
EBlowhigh

Cumulative bases through the game

Finished +0.6 bases ahead of deserved.

4 PA2 H1 BB0 HBP0 K106.1 mph Hardest hit

Total basesActual: 5Deserved: 4.4
PA 1 vs Hunter Dobbins: double — 2.0 deserved basesPA 2 vs Hunter Dobbins: walkPA 3 vs Gordon Graceffo: double — 0.8 deserved basesPA 4 vs Justin Bruihl: out — 0.6 deserved bases
BB
How to read this chart
Every plate appearance, actual bases vs. what their contact deserved. Hover a column for that plate appearance.

Pitch mix

Share of pitches seen by type, and how much damage they did on contact.

Fastball50%
Breaking50%

3.4 deserved bases on contact

Matchups vs pitchers

Actual vs. deserved bases against each opponent, biggest matchup first.

Hunter Dobbins
BB
Actual
3.0
Deserved
3.0
Gordon Graceffo
Actual
2.0
Deserved
0.8
Justin Bruihl
Actual
0.0
Deserved
0.6
How to read this chart
The symbols beside each name are that matchup's plate appearances — BB walk, HBP hit by pitch, K strikeout, and a dot for a ball in play. Both bars share one scale across every row.

Batted balls

Every ball put in play in this game — where it landed and how many bases that kind of contact usually earns.

Where every ball landed

Every ball in play, split by team, on Citizens Bank Park.

Cardinals28 BIP · 2 BB/HBP
329'411'330'
Phillies30 BIP · 5 BB/HBP
329'411'330'
EBlowhigh
Exit velosoft → hard
How to read this chart
Dot size scales with exit velocity; color shows estimated bases (EB), from pale slate (easy out) to dark teal (home-run territory). Tap a dot for its details, then use the Watch on Savant link to see the play. Citizens Bank Park — outfield wall drawn from real park dimensions.

The hardest-hit contact of the game, ranked by estimated bases.

How to read this table
Tap a row for exact outcome odds and a Savant video link, or show all batted balls to sort by any column and filter by team or player.

Run distribution information