carterhaley.com NBA Prediction Dashboard ML Project
Predictions for Friday, May 1
Generated 9:26 PM ET  ·  Model trained on 2019–20 season data
Games Predicted
–0 Season Record
65.8% Winner Accuracy
0% Spread ±5 pts
8.2 Avg Score Error (pts)
Last 10
Best Pick Today
Toronto Raptors 46-36
vs
Cleveland Cavaliers 52-30
79%
Win probability — Cleveland Cavaliers
95% CI: 45% – 99%
Toronto Raptors 21% Cleveland Cavaliers 79%
Predicted: Toronto Raptors 96.0  —  Cleveland Cavaliers 98.4  ·  Spread -2.4
Model note Largest predicted margin today at 2.4 pts. Model assigns 78% (GBM, 95% CI 45–99%). NetRtg 9.5, L10 eFG% 0.0, L10 Q4 +0.0 pts.
Low confidence

Today's games — 3 matchups

Houston Rockets 52-30
@
Los Angeles Lakers 53-29
72% 28%
Projected 101.5 – 96.4
Spread +5.1
SRS 5.0 vs 1.5
L10 5-5 vs 5-5
Orlando Magic 45-37
@
Detroit Pistons 60-22
55% 45%
Projected 98.4 – 96.0
Spread +2.4
SRS -0.7 vs 1.7
L10 5-5 vs 5-5

How the model works

01

Score prediction

A pace-adjusted model uses each team's ORtg and DRtg from Basketball Reference to estimate points scored per possession, then scales by the expected pace (average possessions per 48 min) for that specific matchup. Home court adds a fixed 2.8-point edge.

02

Blended spread

The pace-model spread is blended 45/55 with a Simple Rating System (SRS) spread. SRS accounts for margin of victory and strength of schedule over the full season, making it a better long-term estimator. The blend captures both season quality and matchup dynamics.

03

Form adjustment

Recent form (last 10 games) is fetched from Basketball Reference game logs and compared to each team's season win percentage. A team running 7-3 over their last 10 while at .500 for the season earns a modest point boost — each 10% deviation ≈ 0.7 pts.

04

Win probability & CI

The adjusted spread feeds a sigmoid (K=0.088, calibrated so 7 pts ≈ 65%). 95% confidence intervals are computed via the delta method, propagating historical score error (±8.2 pts) through the logistic curve. The best pick requires the CI to sit entirely above or below 50%.