Skip to main content
ABC News
How Our 2015-16 NBA Predictions Work

UPDATE (Oct. 20, 2016; 1 p.m.): Our 2016-17 NBA Predictions follow the same methodology as our predictions from last year. Check out the article below for more details.

During last season’s NBA playoffs, we introduced our NBA Elo ratings, using them to find the best NBA teams of all time, visualize the complete history of the NBA and take a close look at how good the Warriors really were. This season, we expanded our rating system to incorporate our CARMELO1 player ratings, and we built an interactive NBA forecast that previews the odds for every NBA game and shows each team’s projected record and its chances of making the playoffs or winning the finals.

Before this NBA season, FiveThirtyEight created CARMELO, a system that projects the careers of every current NBA player by identifying similar players throughout league history. We published an interactive feature to explore these projections, as well as previews of every NBA team and a 2015-16 preseason forecast. We’ve also long been big fans of Elo ratings, a simple system created by Arpad Elo to rate chess players, which we’ve since applied to tennis, football and baseball. So for our 2015-16 NBA forecast, we’ve combined the two systems to produce what we’re calling “CARM-Elo” ratings, which we can use to calculate win probabilities and point spreads for every NBA game and determine which teams have the best shot to make the playoffs or win the finals.

Why go to all the trouble of creating this new metric if we already have Elo? One big reason: Although Elo ratings have some nice properties — they require only the final score and location of each game (which are generally available for a vast number of historical games), they’re customizable and they’re fast to compute — one very large problem is that when used for team sports, Elo ratings don’t take personnel changes into account. In particular, offseason trades and drafted players that can have a major impact on a team’s performance go unaccounted for. In the past, we’ve just reverted the previous season’s Elo ratings toward the mean for our preseason ratings, but with our CARMELO projections we have better priors to account for offseason moves. (Using a player-based system also potentially allows us to make empirical adjustments to team ratings as trades are made or star players are injured. We don’t plan to make any such adjustments for now, but we might introduce them later in the season.)

For our 2015-16 NBA forecast, we converted our preseason CARMELO team projections to the same scale as our NBA Elo ratings (where the mean is 1505). Here are the five teams that saw the biggest improvements under CARM-Elo and the five teams that saw the biggest drops:

Oklahoma City Thunder 1564 1690 +126
Cleveland Cavaliers 1645 1732 +87
Orlando Magic 1360 1447 +87
Boston Celtics 1520 1573 +53
Charlotte Hornets 1427 1477 +50
Indiana Pacers 1505 1465 -40
Dallas Mavericks 1544 1489 -55
Portland Trail Blazers 1544 1469 -75
Denver Nuggets 1443 1360 -83
Brooklyn Nets 1470 1289 -181

The Thunder were back to full health before this season, and CARMELO expected a big improvement over their 2014-15 season, where Kevin Durant missed 55 games. On the other end of the spectrum, the Nets (who waived Deron Williams) are in the midst of what has been called a “bridge year,” and CARMELO wasn’t impressed with a preseason roster that included offseason additions such as Andrea Bargnani.

With these CARM-Elo ratings in hand, we can calculate win probabilities and point spreads for every NBA game. The home team is given a standard bonus going into each game (about 92 CARM-Elo points), and margin of victory is taken into account when adjusting team ratings after each game. In addition to these standard adjustments, there are a few other factors we take into account:

  • Fatigue. Playing on back-to-back nights is tough on NBA players. Teams that played the previous day are given a penalty of about 46 CARM-Elo points, roughly the equivalent of a 5 percentage point reduction in win probability. If both teams played the previous day, these penalties cancel each other out.
  • Travel. Teams are penalized based on the distance they travel from their previous game. For a long leg such as Boston to Los Angeles, the traveling team loses about 16 CARM-Elo points, and its odds of winning are cut by roughly 2 percentage points. These travel penalties are calculated linearly, so a 2,000-mile travel leg is twice as bad as a 1,000-mile travel leg.
  • Altitude. In addition to the general home-court advantage, teams that play at higher altitudes are given an extra bonus when they play at home. In particular, the mile-high Denver Nuggets and the Utah Jazz have consistently had a larger home-court advantage than other teams. This is roughly the equivalent of an extra 47 CARM-Elo points in home-court advantage for the Nuggets, for instance. Similar to the travel adjustment, this bonus is a linear function of the home-court altitude.

Once the adjustments are made, we simulate the regular season 10,000 times to find the average final record of each team and the percentage of simulations that each team makes the playoffs. We use NBA tiebreaking rules to seed teams in the playoffs (including the change this year that makes overall record the top factor in seeding) and then simulate the playoffs 10,000 times to find the winner of the finals.

As with our other sports forecasts, we run our simulations “hot,” meaning that a team’s CARM-Elo rating is updated after each simulated game within a simulated season. This matters more than you might think; essentially, it accounts for the possibility of hot streaks and cold streaks, as well as the increased uncertainty in projecting a team’s fortunes the further you go into the future. This tends to compress playoff and championship odds as compared with running the simulations cold. For instance, as of launch, our model gives the Warriors a 52 percent chance of winning the NBA title, which might sound high — but their probability would be even higher, 73 percent, without this adjustment.

We’ll continue to maintain our historical Elo ratings for each team and show them alongside our CARM-Elo ratings and in our complete history of the NBA interactive. The traditional Elo ratings still provide a good historical gauge that lets us look at this season in the context of NBA/ABA history. Over the course of a season, CARM-Elo ratings and Elo ratings will tend to converge.

Should you use these numbers to bet? Probably not; we’ve back-tested them against the past three NBA seasons (plus the games played so far this season) and found them to beat the spread2 about 51 percent of the time — not bad, but also nowhere near enough to beat the house cut. As for how the model does on straight wins and losses, its in-season record is 193-110 as of 4 p.m. Dec. 7.

Drop us a line if you have any questions about how the forecast works, and we hope you’ll enjoy following the NBA season with us.

Check out our 2016-17 NBA Predictions.


  1. Career-Arc Regression Model Estimator with Local Optimization.

  2. We back-tested against the Bovada open.

Jay Boice was a computational journalist for FiveThirtyEight.