Predicting basketball winners through simulation


The terms "Moneyball" and "sabermetrics" are increasingly being used in pop culture. In fact, there was a 2011 movie on the topic. These terms refer to the relatively new, evidence-based, statistical approach used in baseball management. Can this approach be applied to the game of basketball? The short answer is: it's much trickier. Baseball involves clear, discrete intervals of play surrounding one interaction (the pitcher interacting with the batter). Basketball consists of many players interacting simultaneously with possessions of variable length

In my spare time, a friend and I attempted to create a Monte Carlo simulation of a professional basketball game. The procedure involved pulling the most recent player statistics off of various websites and simulating a match between two teams 1000 times.

sim overview

The output consisted of the distributions of 1000 final scores for each team, and looked something like this...

NBA plot

Unfortunately, through backtesting on historical games from the season we only achieved a low win-accuracy metric of 58% 🤷‍♂️. It was a valuable process though, and looking back and taking a closer look at other methods folks have taken, there are probably better ways to encode our domain knowledge.