San Antonio Spurs at Miami Heat, NBA forecast
Win probability
Starts from the pregame forecast, then moves with every score and the time left. Above the line favors MIA; hover for each play.
Game center
From the ESPN box score.
Top performers
- Victor WembanyamaPoints26
- Dylan HarperAssists6
- Victor WembanyamaRebounds15
- Norman PowellPoints21
- Jaime Jaquez Jr.Assists6
- Kel'el WareRebounds7
Last plays
- Q40.0End of Game136–111
- Q40.0End of the 4th Quarter136–111
- Q40.1
Heat offensive team rebound136–111 - Q41.3
Myron Gardner misses heave jump shot136–111 - Q41.7
Kelly Olynyk makes layup (Carter Bryant assists)136–111 - Q416.4
Keshad Johnson makes 1-foot running dunk (Simone Fontecchio assists)134–111 - Q420.3
Carter Bryant lost ball turnover (Simone Fontecchio steals)134–109 - Q441.8
Keshad Johnson makes free throw 2 of 2134–109 - Q441.8
Keshad Johnson makes free throw 1 of 2134–108 - Q441.8
Carter Bryant shooting foul134–107
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.
- Q17:04
Devin Vassell makes 23-foot three point jumper (Stephon Castle assists)SA 19 – 15 MIA · SA 60% → 66% +6SA 60% → 66%+6 pts - Q15:13
Norman Powell makes 25-foot three point jumper (Jaime Jaquez Jr. assists)SA 25 – 23 MIA · MIA 32% → 38% +6MIA 32% → 38%+6 pts - Q14:40
Dylan Harper makes 26-foot three point jumperSA 28 – 23 MIA · SA 62% → 68% +6SA 62% → 68%+6 pts - Q133.9
Kasparas Jakucionis makes 23-foot running jump shot (Bam Adebayo assists)SA 35 – 31 MIA · MIA 27% → 34% +6MIA 27% → 34%+6 pts - Q112.8
Harrison Barnes makes 26-foot three point jumper (De'Aaron Fox assists)SA 38 – 31 MIA · SA 66% → 73% +6SA 66% → 73%+6 pts
The pick
Reconstructed from what was known before the game: the ratings at that point and the closing line.
Spurs 58%
Forecast Elo ratings alone
How often that comes true: NBA favorites the forecast gave 55–60% have won 59.4% of 433 graded games.
- Market
- SA -3.5
- ML SA -155 / MIA +130
- Pre-line forecast
- SA 66%
- Elo + market-implied
- Elo ratings
- SA -4
- SA 66%
- Ratings vs. market
- +7.3 pts
- SA: Elo 65.6%, market 58.3%
- Fair odds
- SA -140
- MIA +140 · the forecast as odds, no margin
- Pregame projection
- SA 124.0 – 120.5 MIA
- Posted spread, posted total 244.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 | SA | MIA | Why |
|---|---|---|---|
| Team rating | 1663 | 1516 | Elo entering the game; 1500 is league average |
| Home field | — | +36 | Worth 36 Elo in the NBA |
| Lineups | +44 | +42 | SA: Stronger than its recent lineups · MIA: Stronger than its recent lineups (from the box score) |
| Travel | −12 | −12 | SA crossed 1 time zone and MIA crossed 1 time zone heading east to this game: 12 Elo per zone for body-clock lag |
| Elo ratings | SA +112 Elo | SA 65.6% | |
| Market-implied ratings | SA 65.6% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | SA 65.6% | 10% Elo, 90% market-implied (log-odds blend) | |
| Forecast | SA 58.3% | 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.
| SA | Stat | |
|---|---|---|
| 4th of 30118.9 | Points scored | 120.32nd of 30 |
| 7th of 30111.8 | Points allowed | 117.221st of 30 |
| 4th of 30+7.1 | Margin | +3.111th of 30 |
| 4th of 30116.7 | Offense rating | 113.813th of 30 |
| 3rd of 30109.7 | Defense rating | 110.76th of 30 |
| 13th of 30101.7 | Pace | 105.51st of 30 |
| 2nd of 309–1 | Last 10 | 6–48th of 30 |
| 2nd of 3024–11 | Road vs home | 23–139th of 30 |
| 8th of 301506 | Opponent Elo | 150117th of 30 |
| 2nd of 301663 | Elo rating | 151616th 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.
Spurs
+44 EloFull strength: nobody who matters sat out.
Heat
+42 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 | 41–31 | 42–29 |
| Last 10 | 5–5 | 7–3 |
| Favorite | 28–25 | 20–16 |
| Underdog | 13–6 | 22–13 |
| Overs–unders | 31–41 | 39–32 |
| Overs–unders, last 10 | 6–4 | 8–2 |
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
SA 1–4 MIA in their last 5 meetings; the forecast called 4 of 5.



