A Recipe for Fixing the NBA Draft Lottery

Below is a strategy for fixing the NBA Draft Lottery that Art Rondeau (@ArtRondeau) and I discussed at year's Great Lakes Analytics Conference. You can find the full talk here. Below is a "reader's digest" version. Enjoy!

The Problem

A known problem in the NBA is "tanking." It culminated when Sam Hinkie and the 76ers instituted a plan known as the "do a 180" errr "The Process," which involved intentionally giving up on three straight NBA seasons in the hopes of acquiring multiple top draft picks. At its core, the NBA's problem is the NBA draft incentivizes teams to intentionally lose to get better assets. We've argued that "Process"-like tank jobs that require losing the whole NBA season are bad. However, the NBA recently attempted to "fix" the draft lottery and made the problem worse! We think a team giving up a whole season is terrible. However, let's say your team is many games out of the playoffs. Let's say it's after the trade deadline. Let's say your star player is injured. Do we think it's bad to rest your stars, play some scrubs and marginally improve your draft stock? Well, after the last NBA Draft update, we say that move is perfectly rational! And that's bad for the NBA, as we should, in theory, want winning basketball.

The Constraints

Fans of the site will know that for years we've harped against the draft. However, we're also realists and understand that the draft is very much part of the NBA, and getting rid of it is not a feasible solution. We also want to use a similar system to one that already exists for the same issues. If the draft is changed too much (see Zarren's lottery wheel), we don't feel it will go over well or be adopted.

The Premise

The key question we want to answer is, "what should the draft's purpose be?" And it's twofold. The purported purpose of the draft is to supply top talent to weaker teams. But we should also want the draft to incentivize all teams to play good basketball. So, the ideal world is to give teams that miss the playoffs but still play good basketball the best picks, right? At least, we think so.

The fantastic news is that using the system in place and merely changing how we reward lottery balls, and we can get the draft closer to what it's supposed to be!

The Ingredients

We'll need a few things. First, we're going to head to Vegas and use gambling odds. For those that don't know, every NBA game that can be bet on has what's known as "the line" or "the spread," which is how much Vegas estimates a team will win or lose by. We're going to reward teams, not on wins and losses, but if they outperform Vegas's expectation of them. One added benefit of this is that the NBA is entirely behind gambling. They even recently agreed to supply data to the sportsbook William Hill. By aligning the incentives of teams and Vegas, ideally, the NBA produces a better product that gamblers are happier with. The lines I used in this post were acquired from the Action Network website.

Next, we need a way to reward teams based on their performance. The ELO Rating system to the rescue! For fans of things like chess, this will be familiar. The way the ELO rating system works is that a person is given a rating. When they play a new opponent, based on the difference in their rating, after the match, each person's rating is updated. Over time, every person's skill should be correctly mapped by their rating. The NBA is tougher as injuries, homecourt, etc. alter the skill disparity game to game. The good news is, we're not interested in a perfect rating for each team, we're rewarding them for each game, so we can still use the ELO formula! Here's a quick image of the ELO formula and a few things to note.

There are two key parts of the stuff above. Rb-Ra is the difference in player ratings. This is where the line comes in. All we need to do is map the Vegas line to a "ratings difference." Which, it turns out, is entirely doable. For perspective, a line of 20 points is the same as an ELO rating difference of roughly 350 rating points, for those that know chess ratings

Second is what is known as the K-factor. This is how much to update each player's rating by after a game. This changes how much each game matters. For our purposes, we'll be using this K-Factor to decide how many lottery balls to award to a team. Just keep that in mind.

 Also, in the above formula, we have a win/loss/draw model. To clarify for our purposes:

  • For the favorite: A win is beating the spread. A draw is a win that is under the spread. A loss is a loss.
  • For the underdog: A win is a win. A draw is matching the spread. A loss is missing the spread.

The key here is a "draw" is beneficial to worse teams, which is how ELO works when one player is better than the other.

The Recipe

Instead of using the Win-Loss record for the Draft Lottery, we have a new system. We can graft this onto the old system pretty well.

  • Up until the NBA All-Star break, we'll use the old Win-Loss method, and give out draft lottery balls using the old system.
  • After the All-Star break, we'll use Vegas odds and give lottery balls using the ELO system above.
    • A note, we'll normalize ELO to be "0-based". So a team can't lose lottery balls for a loss.
  • Use the new score for the end of year results with the current same lottery odds but with our score.

We call our final draft, affectionately: "The Bazooka Draft" (Anti-Tank weaponry!). We also wound up with a side-effect on this system. The old system did not give much incentive to non-lottery teams. After all, if a team has the conference wrapped up, why should they try? On the old system teams that make the playoffs get the remaining 16 draft spots in reverse order based on Win-Loss record. What if we use the ELO balls awarded above. Rest assured, top teams will fight to try and earn the 15th draft spot. A reminder that years ago, the Spurs worked hard to trade up for Kawhi Leonard at the 15th spot. We didn't have as impressive of a name, for now, we're calling it "The Cool Kids' Draft."


We have an example of this draft model for last season. You can find it at https://www.boxscoregeeks.com/research/glac-nba-draft-lottery-2019. You can update the K-Factor as you like. We liked it around 10.

Last season the Hawks performed very well after the All-Star break to finish with a 29-53 record. We think they should be rewarded. Compare this to the Lakers and Pelicans, who kept "underperforming" randomly as LeBron James and Anthony Davis missed time, who now end much lower on the list. This order isn't exactly accurate as if the teams knew the top of the draft was on the line to play better, their incentives would have shifted.

On the flip side, the Rockets surged after the All-Star break last season. Yes, they got a better playoff seed, but we think they should also deserve a better draft pick. Every team should be trying every night to win, and the current incentives don't support that. We believe our system helps improve that significantly.

Work in Progress

We'd love to hear your thoughts on this. We know there are probably improvements to be made. Art has suggested possibly adding a "hustle framework" to reward teams for outperforming individual stat projections. Also, we might need to introduce a "free play" like system. A reminder, a "free play" in football is when a flag is called before the snap. The offense has the option of still running the play. If they're successful, they decline the penalty. If they fail or say turn the ball over, they can accept the penalty and do they play over. The NBA has a rule that roster info should be released 30 minutes before game time. If a team doesn't release vital information, such as a player being out. They could forfeit their lottery balls for the game, and the opponent could be "guaranteed a draw," which the possibility of a win. Obviously, for the examples above, we had no way of instituting such a system. Regardless, we think it's a huge step forward from what's in place. Not that hard to implement, and makes a better product! What do you think?