Skip to content

NBA Playoff Predictor

Interactive playoff scenarios powered by 10,000 simulations

How It Works ยท What's New ยท
Loading predictions...
Current = if season ended today  |  Projected = after simulating remaining games
Build your own bracket -- click any team to advance them
How It Works
TL;DR
We simulate the rest of the NBA season 10,000 times using a machine learning model that looks at 26 factors for every game. We get about 7 out of 10 picks right, similar to FiveThirtyEight's model. Vegas gets about 7.3 out of 10. Predictions update every night after games finish.
69.0%
0.199
Backtested
11,504
games over 10 seasons
A naive baseline (always pick the home team) gets ~58% accuracy. FiveThirtyEight's Elo model achieved ~67% / 0.210 Brier. Our model reaches 69% / 0.199 -- an 11-point improvement over the baseline. Vegas closing lines sit around 73% / 0.195 Brier. Academic research puts the typical NBA prediction range at 62-69%. Lower Brier is better.

The Approach

We simulate the rest of the NBA season 10,000 times. For each remaining game, an XGBoost model evaluates 26 factors to estimate win probability. We flip a weighted coin, record the result, rank teams using official NBA tiebreaker rules, and repeat. The distribution across all 10,000 simulations tells you how likely each team is to land at each seed.

The model was trained on 11,500+ NBA games across 10 seasons (2015-16 through 2024-25) using leave-one-season-out cross-validation with zero data leakage. Every prediction uses only information available before that game was played.

What Goes Into Each Prediction

The model evaluates 26 features for every game, grouped into seven categories:

Category What it captures
Form Recent wins and scoring margin using exponentially weighted averages that prioritize the last few games over early-season results.
Home court Home court advantage is learned by the model from historical data. Altitude effects at Denver and Utah are captured as a separate feature.
Matchup Dean Oliver's Four Factors (eFG%, turnover rate, offensive rebound rate, free throw rate) capture how teams score, not just how much. Head-to-head season record between the two teams.
Players For playoff projections, per-player impact scores (NBA estimated net rating weighted by minutes share) are used to adjust team strength when key players are injured long-term. Regular season predictions capture player impact indirectly through team-level net rating and Four Factors.
Rest & travel Days of rest (2 days is optimal, 4+ creates rust), age-adjusted B2B fatigue, travel distance and timezone crossing, schedule density, and road trip length.
Motivation Tanking detection (comparing first-half vs. second-half performance), clinch resting (teams that have locked in a seed may sit starters), and season progress.
Team strength Season-long net rating (points per 100 possessions differential) and Vegas closing moneyline odds via The Odds API. Market odds capture information our model doesn't have (private injury intel, sharp money, etc.).
Playoff bracket model: Playoff series use a separate calibrated logistic model (67% accuracy, 0.2148 Brier on 834 playoff games across 10 seasons) with seven factors: net rating, home court advantage (2-2-1-1-1 pattern), career playoff experience, defensive rating, seed differential, Game 7 compression, and rest.

Realistic championship odds: To prevent over-concentration (where one team gets 80%+ title odds), each of the 10,000 simulations draws a random strength perturbation per team -- modeling real uncertainty in team quality. The noise level was calibrated on 149 historical playoff series across 10 seasons, improving series prediction accuracy by 17%.

Injury adjustments: Long-term injuries (surgery, multi-week) reduce a team's effective net rating using per-player impact scores from NBA estimated metrics. Game-day scratches are filtered out since playoff projections look weeks ahead.

Series length: Predicted series length is computed analytically using the negative binomial distribution, returning the most likely number of games (4-7) for each matchup.

Data Sources

Source Used for
NBA.com Stats API via nba_api Standings, schedule, team and player stats, game logs
ESPN Injury reports
FiveThirtyEight RAPTOR Archived player ratings for cross-season priors
Kaggle NBA Betting Data Historical moneyline odds (2007-2025)

Influences

Project What we learned
FiveThirtyEight NBA Elo methodology, RAPTOR player ratings, Monte Carlo season simulation
EPM (Dunks & Threes) Exponentially weighted decay for player evaluation
Harvard Sports Analysis K-factor decay and Elo improvements
Travel & Circadian Research Travel distance and timezone effects on performance
Karpathy's autoresearch Automated parameter optimization methodology
NBA_AI, nba-prediction Open-source NBA prediction approaches and feature engineering

Calibration: Are Our Probabilities Honest?

When we say a team has a 70% chance to win, they should actually win about 70% of the time. The chart below compares our predicted probabilities to actual outcomes this season.

Calibration data loads after the first few days of tracking.

Known Limitations

  • Injury data is a daily snapshot and can't predict future injuries or surprise returns
  • Player ratings use public box score data, not proprietary player tracking (Second Spectrum)
  • Mid-season trades take 10-15 games to fully reflect in player ratings
  • The model is re-trained nightly, not in real-time during games
Updates: Predictions are regenerated nightly after games complete via automated pipeline. Updated by ~10:30pm PT each day during the NBA season.
Changelog & Roadmap
Mar 15, 2026
Launch
Playoff projections, bracket simulator, team detail pages, what-if analysis, and matchup previews.
Mar 16, 2026
25-Feature Prediction Model
Machine learning model with player-level impact, rest/travel fatigue, tanking detection, and more. 69% accuracy across 11,500+ backtested games.
Mar 18, 2026
Vegas Odds & Accuracy Tracking
Live Vegas spreads alongside model predictions so you can see where they disagree. Season accuracy tracker with calibration chart showing how honest the probabilities are.
Mar 18, 2026
Mobile, Search & Sharing
Responsive design for phones. Team search bar. Share button on team pages. Deep links so you can send someone directly to a team or matchup.
Mar 24, 2026
Calibrated Playoff Model
Separate 7-factor logistic model for playoff bracket simulation. 67% accuracy on 834 playoff games across 10 seasons. Factors: net rating, home court, playoff experience, defensive rating, seed differential, Game 7 compression, rest.
Mar 24, 2026
Realistic Championship Odds
Per-simulation team strength perturbations (FiveThirtyEight's "hot simulation" approach) prevent over-concentration of title odds. Calibrated on 149 historical playoff series across 10 seasons, improving series prediction accuracy by 17%.
Mar 24, 2026
Injury-Adjusted Playoff Projections
Long-term injuries reduce a team's effective net rating in playoff projections using per-player impact scores from NBA estimated metrics. Game-day scratches are filtered out automatically.
Mar 24, 2026
Analytical Series Length
Series length predictions computed via negative binomial distribution instead of arbitrary thresholds. Returns the most likely number of games (4-7) for each matchup based on the per-game win probability.
Future
Multi-Team Scenario Builder
What-if scenarios across multiple teams simultaneously to explore how outcomes interact.
Future
Playoff Race Tracker
Season-long visualization of how each team's playoff probability evolved game by game. Watch dramatic swings, collapses, and surges unfold over the season.
Future
Draft Lottery Implications
For eliminated and tanking teams, projected draft lottery odds and expected pick position based on remaining schedule simulations.
Future
Head-to-Head Team Comparison
Side-by-side statistical comparison of any two teams with the model's full factor breakdown showing exactly where each team has the edge.