Kansas City Royals at St. Louis Cardinals, MLB forecast
Win probability
Starts from the pregame forecast, then moves with the score and the time left after each inning. Above the line favors STL.
Game center
From the ESPN box score.
Top performers
- Maikel GarciaBatting2-3, 1 HR, 2 RBI
- Cole RagansPitching3.0 IP, 5 ER, 4 K
- Nolan ArenadoBatting2-4, 1 HR, 2 RBI
- Matthew LiberatorePitching4.0 IP, 7 ER, 2 K
Scoring summary
- 5
Perez singled to left, Garcia scored.7–5 - 4
Loftin doubled to right, Canha scored.6–5 - 3
Arenado homered to left (395 feet), Contreras scored.5–5 - 3
Contreras doubled to left, Donovan scored and Winn scored.5–3 - 3
Perez singled to left, Garcia scored.5–1 - 3
Pasquantino grounded out to second, India scored, Garcia to third.4–1 - 3
Fermin homered to left (406 feet).3–1 - 1
Contreras singled to left, Nootbaar scored, Winn to second.2–1 - 1
Garcia homered to right (349 feet), Witt Jr. scored.2–0
The pick
Reconstructed from what was known before the game: the ratings at that point and the closing line.
Cardinals 51%
Forecast Elo ratings alone
How often that comes true: MLB favorites the forecast gave 50–55% have won 52.7% of 2,871 graded games.
- Market
- STL 51%
- ML KC -105 / STL -115
- Pre-line forecast
- STL 50%
- Elo + market-implied
- Elo ratings
- STL 54%
- Ratings vs. market
- +3.0 pts
- STL: Elo 54.1%, market 51.1%
- Fair odds
- STL -104
- KC +104 · the forecast as odds, no margin
- Pregame projection
- KC 3.7 – 3.8 STL
- Margin from the forecast, posted total 7.5
How the number is built
Elo inputs in rating points (higher favors that team; 25–28 Elo is about a point of spread in football and basketball), then how the pieces combine.
| Factor | KC | STL | Why |
|---|---|---|---|
| Team rating | 1502 | 1510 | Elo entering the game; 1500 is league average |
| Home field | — | +18 | Worth 18 Elo in MLB |
| Starting pitchers | −13 | −11 | KC: Cole Ragans: team allows 0.66 more runs than with its usual starter (≈10 weighted starts) · STL: Matthew Liberatore: team allows 0.56 more runs than with its usual starter (≈9 weighted starts) |
| Elo ratings | STL +28 Elo | STL 54.1% | |
| Market-implied ratings | KC 50.2% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | STL 50.4% | 15% Elo, 85% market-implied (log-odds blend) | |
| Forecast | STL 51.1% | Follows the market (vig removed): in testing, adding the ratings made it less accurate | |
Tale of the tape
This season coming into the game, regular season, each number with its league rank (the longer the bar, the higher). Home and road: the host's record at home against the visitor's on the road. Opponent Elo: how strong the teams each has played are, 1st the toughest.
| KC | Stat | |
|---|---|---|
| 27th of 303.4 | Runs scored | 4.78th of 30 |
| 4th of 303.5 | Runs allowed | 4.216th of 30 |
| 21st of 30−0.1 | Margin | +0.59th of 30 |
| 16th of 304–6 | Last 10 | 6–410th of 30 |
| 20th of 3013–17 | Road vs home | 20–94th of 30 |
| 8th of 301503 | Opponent Elo | 15054th of 30 |
| 18th of 301502 | Elo rating | 151016th of 30 |
Rating history
Each team's Elo over the last two seasons. Hover or drag to compare on any date.
Recent form
Last five results, and whether the forecast hit.
Against the line
How each team has done against the closing spread and total, coming into this game.
| This season | ||
|---|---|---|
| Run line | 30–32 | 34–27 |
| Last 10 | 5–5 | 3–7 |
| Favorite | 8–21 | 12–15 |
| Underdog | 22–11 | 22–12 |
| Overs–unders | 24–38 | 34–27 |
| Overs–unders, last 10 | 6–4 | 7–3 |
Against each game's closing line. Books set every line knowing these records: across 3,901 past games, the team with the better record against the spread so far that season covered 51.2%, short of the 52.4% a standard −110 bet needs, and over/under streaks held 48.0% of the time. They describe the past.
Head to head
KC 7–6 STL in their last 13 meetings; the forecast called 4 of 13.



