Milwaukee Bucks at Charlotte Hornets, NBA forecast
Win probability
Starts from the pregame forecast, then moves with every score and the time left. Above the line favors CHA; hover for each play.
Game center
From the ESPN box score.
Top performers
- Ryan RollinsPoints25
- Ryan RollinsAssists6
- Bobby PortisRebounds8
- Miles BridgesPoints20
- Collin SextonAssists8
- Moussa DiabateRebounds13
Last plays
- Q40.0End of Game100–111
- Q40.0End of the 4th Quarter100–111
- Q418.1
Pete Nance makes 24-foot three point jumper (Gary Harris assists)100–111 - Q422.7
Pete Nance defensive rebound97–111 - Q426.3
Thanasis Antetokounmpo blocks Liam McNeeley 's 5-foot driving layup97–111 - Q441.4
Pete Nance makes 24-foot three point jumper (Andre Jackson Jr. assists)97–111 - Q456.7
Liam McNeeley makes free throw 2 of 294–111 - Q456.7
Liam McNeeley makes free throw 1 of 294–110 - Q456.7
Andre Jackson Jr. personal foul94–109 - Q458.1
Hornets offensive team rebound94–109
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
Liam McNeeley makes 23-foot three point jumper (Collin Sexton assists)MIL 25 – 31 CHA · CHA 51% → 58% +7CHA 51% → 58%+7 pts - Q253.8
Tre Mann makes 37-foot three pointerMIL 47 – 57 CHA · CHA 65% → 72% +8CHA 65% → 72%+8 pts - Q238.9
Ryan Rollins makes 27-foot three point step back jumpshotMIL 50 – 57 CHA · MIL 27% → 35% +8MIL 27% → 35%+8 pts - Q310:18
Kon Knueppel makes 26-foot three point step back jumpshot (Miles Bridges assists)MIL 52 – 64 CHA · CHA 71% → 79% +7CHA 71% → 79%+7 pts - Q33:45
Ryan Rollins makes 25-foot three point step back jumpshotMIL 68 – 77 CHA · MIL 16% → 24% +8MIL 16% → 24%+8 pts
The pick
Reconstructed from what was known before the game: the ratings at that point and the closing line.
Bucks 57%
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
- MIL -2.5
- ML MIL -145 / CHA +125
- Pre-line forecast
- MIL 54%
- Elo + market-implied
- Elo ratings
- MIL -1
- MIL 53%
- Ratings vs. market
- −3.7 pts
- MIL: Elo 53.4%, market 57.1%
- Fair odds
- MIL -133
- CHA +133 · the forecast as odds, no margin
- Pregame projection
- MIL 115.5 – 113.0 CHA
- Posted spread, posted total 228.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 | CHA | Why |
|---|---|---|---|
| Team rating | 1546 | 1331 | Elo entering the game; 1500 is league average |
| Home field | — | +36 | Worth 36 Elo in the NBA |
| Lineups | −97 | +46 | MIL: Weaker than its recent lineups · CHA: Stronger than its recent lineups (from the box score) |
| Travel | −12 | — | MIL crossed 1 time zone heading east to this game: 12 Elo per zone for body-clock lag |
| Elo ratings | MIL +23 Elo | MIL 53.4% | |
| Market-implied ratings | MIL 54.0% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | MIL 53.9% | 10% Elo, 90% market-implied (log-odds blend) | |
| Forecast | MIL 57.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. Offense and defense are points per 100 possessions, which sets aside how fast a team plays.
| MIL | Stat | |
|---|---|---|
| 10th of 30119.6 | Points scored | 118.214th of 30 |
| 19th of 30118.1 | Points allowed | 121.025th of 30 |
| 14th of 30+1.5 | Margin | −2.821st of 30 |
| 11th of 30116.0 | Offense rating | 114.814th of 30 |
| 22nd of 30114.5 | Defense rating | 117.526th of 30 |
| 12th of 30103.0 | Pace | 103.111th of 30 |
| 7th of 303–2 | Road vs home | 2–321st of 30 |
| 19th of 301494 | Opponent Elo | 145330th of 30 |
| 9th of 301546 | Elo rating | 133128th 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
−97 EloFull strength: nobody who matters sat out.
Hornets
+46 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 | 6–5 | 4–6 |
| Last 10 | 5–5 | 4–6 |
| Favorite | 2–3 | 1–0 |
| Underdog | 4–2 | 3–6 |
| Overs–unders | 7–4 | 5–5 |
| Overs–unders, last 10 | 6–4 | 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
MIL 6–1 CHA in their last 7 meetings; the forecast called 6 of 7.



