San Francisco Giants at Kansas City Royals, 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 KC.
Game center
From the ESPN box score.
Top performers
- Drew GilbertBatting1-4, 1 RBI
- Tyler MahlePitching5.0 IP, 3 ER, 4 K
- Carter JensenBatting1-4, 1 HR, 1 RBI
- Luinder AvilaPitching6.1 IP, 2 ER, 7 K
Scoring summary
- 6
Loftin singled to left, Perez scored, Marte to second, Pasquantino to third.2–3 - 6
Pasquantino singled to center, Collins scored, Perez to third.2–2 - 5
Ramos grounded into fielder's choice to shortstop, Gilbert scored, Koss to second, Koss safe at third on throwing error by shortstop Tolbert.2–1 - 5
Gilbert singled to right, J. Rodríguez scored.1–1 - 3
Jensen homered to right center (416 feet).0–1
The pick
Reconstructed from what was known before the game: the ratings at that point and the closing line.
Giants 50%
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
- SF 50%
- ML SF -112 / KC -108
- Pre-line forecast
- SF 48%
- Elo + market-implied
- Elo ratings
- SF 48%
- Ratings vs. market
- −2.8 pts
- SF: Elo 47.6%, market 50.4%
- Fair odds
- SF -102
- KC +102 · the forecast as odds, no margin
- Pregame projection
- SF 4.5 – 4.5 KC
- Margin from the forecast, posted total 9
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 | SF | KC | Why |
|---|---|---|---|
| Team rating | 1478 | 1470 | Elo entering the game; 1500 is league average |
| Home field | — | +18 | Worth 18 Elo in MLB |
| Starting pitchers | +4 | +11 | SF: Tyler Mahle: team allows 0.20 fewer runs than with its usual starter (≈10 weighted starts) · KC: Luinder Avila: team allows 0.53 fewer runs than with its usual starter (≈6 weighted starts) |
| Elo ratings | KC +17 Elo | KC 52.4% | |
| Market-implied ratings | KC 51.4% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | KC 51.5% | 15% Elo, 85% market-implied (log-odds blend) | |
| Forecast | SF 50.4% | 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.
| SF | Stat | |
|---|---|---|
| 25th of 304.1 | Runs scored | 4.321st of 30 |
| 19th of 304.7 | Runs allowed | 5.227th of 30 |
| 25th of 30−0.6 | Margin | −1.029th of 30 |
| 16th of 304–6 | Last 10 | 4–616th of 30 |
| 27th of 3020–33 | Road vs home | 24–2720th of 30 |
| 15th of 301500 | Opponent Elo | 15027th of 30 |
| 24th of 301478 | Elo rating | 147027th 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 | 48–52 | 49–52 |
| Last 10 | 6–4 | 3–7 |
| Favorite | 16–23 | 14–23 |
| Underdog | 32–29 | 35–29 |
| Overs–unders | 45–45–10 | 49–50–2 |
| Overs–unders, last 10 | 4–4–2 | 5–5 |
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
SF 5–5 KC in their last 10 meetings; the forecast called 3 of 10.



