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
- Bobby PortisPoints25
- Kevin Porter Jr.Assists11
- Myles TurnerRebounds6
- Brandon MillerPoints31
- Collin SextonAssists8
- Tidjane SalaunRebounds11
Last plays
- Q40.0End of Game123–113
- Q40.0End of the 4th Quarter123–113
- Q44.5
Moussa Diabate makes alley oop layup (LaMelo Ball assists)123–113 - Q410.0
shot clock turnover123–111 - Q410.0
Bucks offensive team rebound123–111 - Q410.0
Giannis Antetokounmpo misses 35-foot three point pullup jump shot123–111 - Q429.9
Myles Turner defensive rebound123–111 - Q432.1
LaMelo Ball misses driving floating jump shot123–111 - Q452.8
Myles Turner makes driving layup (Giannis Antetokounmpo assists)123–111 - Q41:12
Brandon Miller makes free throw 2 of 2121–111
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.
- Q411:43
LaMelo Ball makes 27-foot three pointer (Liam McNeeley assists)MIL 95 – 92 CHA · CHA 24% → 34% +11CHA 24% → 34%+11 pts - Q411:02
LaMelo Ball makes 34-foot three point jumper (Liam McNeeley assists)MIL 95 – 95 CHA · CHA 34% → 47% +13CHA 34% → 47%+13 pts - Q410:46
Bobby Portis makes 23-foot three point jumper (Gary Trent Jr. assists)MIL 98 – 95 CHA · MIL 53% → 66% +13MIL 53% → 66%+13 pts - Q410:23
Bobby Portis makes 25-foot running jump shot (Kevin Porter Jr. assists)MIL 101 – 95 CHA · MIL 66% → 78% +11MIL 66% → 78%+11 pts - Q49:40
Bobby Portis makes 27-foot three point jumper (Giannis Antetokounmpo assists)MIL 104 – 97 CHA · MIL 71% → 81% +11MIL 71% → 81%+11 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 -148 / CHA +124
- Pre-line forecast
- MIL 54%
- Elo + market-implied
- Elo ratings
- MIL -1
- MIL 55%
- Ratings vs. market
- −2.5 pts
- MIL: Elo 54.7%, market 57.2%
- Fair odds
- MIL -134
- CHA +134 · the forecast as odds, no margin
- Pregame projection
- MIL 115.0 – 112.5 CHA
- Posted spread, posted total 227.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 | 1468 | 1398 | Elo entering the game; 1500 is league average |
| Home field | — | +36 | Worth 36 Elo in the NBA |
| Lineups | +15 | +4 | MIL: Stronger 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 +33 Elo | MIL 54.7% | |
| Market-implied ratings | MIL 54.4% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | MIL 54.4% | 10% Elo, 90% market-implied (log-odds blend) | |
| Forecast | MIL 57.2% | 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 | |
|---|---|---|
| 26th of 30112.7 | Points scored | 115.618th of 30 |
| 16th of 30116.0 | Points allowed | 118.422nd of 30 |
| 22nd of 30−3.3 | Margin | −2.819th of 30 |
| 22nd of 30111.6 | Offense rating | 112.817th of 30 |
| 19th of 30114.9 | Defense rating | 115.522nd of 30 |
| 26th of 30100.3 | Pace | 101.519th of 30 |
| 20th of 304–6 | Last 10 | 5–512th of 30 |
| 22nd of 305–11 | Road vs home | 7–820th of 30 |
| 24th of 301481 | Opponent Elo | 148423rd of 30 |
| 17th of 301468 | Elo rating | 139827th 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
+15 EloFull strength: nobody who matters sat out.
Hornets
+4 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 | 15–17 | 17–14 |
| Last 10 | 6–4 | 7–3 |
| Favorite | 5–8 | 2–3 |
| Underdog | 10–9 | 15–11 |
| Overs–unders | 13–19 | 11–20 |
| Overs–unders, last 10 | 2–8 | 3–7 |
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 7–2 CHA in their last 9 meetings; the forecast called 7 of 9.
- Nov 14
CHA 134 @ MIL 147Picked MIL 76%Hit - Nov 12
MIL 100 @ CHA 111Picked MIL 57%Miss - Feb 5
MIL 112 @ CHA 102Picked MIL 81%Hit - Nov 23
CHA 119 @ MIL 125Picked MIL 73%Hit - Nov 16
MIL 114 @ CHA 115Picked MIL 61%Miss - Feb 29
MIL 111 @ CHA 99Picked MIL 64%Hit - Feb 27
CHA 85 @ MIL 123Picked MIL 73%Hit - Feb 9
CHA 84 @ MIL 120Picked MIL 73%Hit



