Milwaukee Bucks at San Antonio Spurs, NBA forecast
Win probability
Starts from the pregame forecast, then moves with every score and the time left. Above the line favors SA; hover for each play.
Game center
From the ESPN box score.
Top performers
- Giannis AntetokounmpoPoints21
- Ryan RollinsAssists7
- Ryan RollinsRebounds7
- Victor WembanyamaPoints22
- Stephon CastleAssists10
- Julian ChampagnieRebounds11
Last plays
- Q40.0End of Game101–119
- Q40.0End of the 4th Quarter101–119
- Q41.6
Kelly Olynyk defensive goaltending violation101–119 - Q42.0
Cole Anthony makes 29-foot three pointer101–119 - Q423.4
Bucks defensive team rebound98–119 - Q423.4
Cole Anthony blocks Jordan McLaughlin's running layup98–119 - Q427.1
Thanasis Antetokounmpo lost ball turnover (Jordan McLaughlin steals)98–119 - Q445.1
Jeremy Sochan makes 6-foot layup (Kelly Olynyk assists)98–119 - Q456.8
Jeremy Sochan defensive rebound98–117 - Q41:01
Cole Anthony misses two point shot98–117
Turning points
The 5 plays that swung the win chance most, each judged at its own moment: the chance with the score just before it against just after.
- Q11:20
Kyle Kuzma makes 24-foot running jump shot (Bobby Portis assists)MIL 25 – 26 SA · MIL 26% → 32% +6MIL 26% → 32%+6 pts - Q12.9
De'Aaron Fox makes 25-foot three point step back jumpshotMIL 27 – 31 SA · SA 67% → 74% +6SA 67% → 74%+6 pts - Q210:58
Bobby Portis makes 22-foot three point jumper (Kyle Kuzma assists)MIL 31 – 31 SA · MIL 28% → 35% +7MIL 28% → 35%+7 pts - Q29:57
Bobby Portis makes 25-foot three point jumper (Ryan Rollins assists)MIL 34 – 31 SA · MIL 35% → 42% +7MIL 35% → 42%+7 pts - Q29:22
Kyle Kuzma makes 25-foot three point jumper (Bobby Portis assists)MIL 37 – 33 SA · MIL 38% → 45% +7MIL 38% → 45%+7 pts
The pick
Reconstructed from what was known before the game: the ratings at that point and the closing line.
Spurs 68%
Forecast Elo ratings alone
How often that comes true: NBA favorites the forecast gave 65–70% have won 65.2% of 388 graded games.
- Market
- SA -7.5
- ML MIL +195 / SA -238
- Pre-line forecast
- SA 68%
- Elo + market-implied
- Elo ratings
- SA -5
- SA 69%
- Ratings vs. market
- +1.4 pts
- SA: Elo 68.9%, market 67.5%
- Fair odds
- SA -208
- MIL +208 · the forecast as odds, no margin
- Pregame projection
- MIL 109.0 – 116.5 SA
- Posted spread, posted total 225.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 | MIL | SA | Why |
|---|---|---|---|
| Team rating | 1451 | 1545 | Elo entering the game; 1500 is league average |
| Home field | — | +36 | Worth 36 Elo in the NBA |
| Lineups | +30 | +38 | MIL: Stronger than its recent lineups · SA: Stronger than its recent lineups (from the box score) |
| Elo ratings | SA +138 Elo | SA 68.9% | |
| Market-implied ratings | SA 67.5% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | SA 67.6% | 10% Elo, 90% market-implied (log-odds blend) | |
| Forecast | SA 67.5% | 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. Offense and defense are points per 100 possessions, which sets aside how fast a team plays.
| MIL | Stat | |
|---|---|---|
| 25th of 30112.7 | Points scored | 117.510th of 30 |
| 15th of 30115.7 | Points allowed | 113.07th of 30 |
| 21st of 30−3.0 | Margin | +4.47th of 30 |
| 22nd of 30112.1 | Offense rating | 115.09th of 30 |
| 22nd of 30115.1 | Defense rating | 110.63rd of 30 |
| 26th of 30100.0 | Pace | 101.914th of 30 |
| 14th of 305–5 | Last 10 | 4–619th of 30 |
| 18th of 308–13 | Road vs home | 13–56th of 30 |
| 22nd of 301490 | Opponent Elo | 15088th of 30 |
| 22nd of 301451 | Elo rating | 154512th of 30 |
Who's playing
Who sat out, from the box score, and what each absence cost against the lineups the team had been playing.
Bucks
+30 EloFull strength: nobody who matters sat out.
Spurs
+38 EloFull strength: nobody who matters sat out.
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 | ||
|---|---|---|
| Against the spread | 18–22 | 23–18 |
| Last 10 | 4–6 | 4–6 |
| Favorite | 7–12 | 12–13 |
| Underdog | 11–10 | 11–5 |
| Overs–unders | 17–23 | 17–24 |
| Overs–unders, last 10 | 5–5 | 1–9 |
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
MIL 3–1 SA in their last 4 meetings; the forecast called 3 of 4.



