A Better Shot Chart


Shotcharts are not new; the official NBA website has had them for ages. Shotcharts aren’t a cutting edge analytical tool; you won’t have much luck predicting the next NBA champion with them. But if you’re like a lot of NBA fans I know, there’s something captivating about the latest Kirk Goldsberry creation. And while they may not be the cutting edge of analytics, when you see that your team has acquired a player in free agency you probably find yourself asking something like “will this guy be able to hit corner 3s?” Shot charts provide insight into how a player scores and how players might fit together as an offensive unit. That’s why we’re excited to debut our new shot chart visualizations. At the official page, you can view shot charts for any players for any season since 1996-1997. But this isn’t just another shot chart, like all the ones you’ve seen before. This is also a better shot chart. Let me tell you why.

A key consideration when you want to visualize a player’s offense is how you’re going to handle binning the data. Binning is the process of grouping shots together so you can represent them in a more visually coherent way. Unbinned data, like the first chart in this Grantland article, can be interesting but is also hard to interpret. Does that chart show that Wall is a good or bad midrange shooter? So we have to do some data binning, but how should we do it? NBA.com decided to bin the court into 14 regions, so you get this:


But from looking at a chart like this, can you see just how dang much Rasheed Wallace loved midrange baseline jumpers?

Did you know that Jamal Crawford loves the absurdly long three?

Crawford long 3

Wait, of course you already knew that.1

In and of itself, this is not a unique innovation. Goldsberry has been showing off more granular shot location data like this for some time. But there’s another kind of data binning going on in most other shot charts you’ll see. To determine a player’s field goal percentage, shots are often binned into regions and all volume markers in a region are assigned the same field goal percentage. For reasons that I won’t get into here, this is often a good compromise,2 but shots at the edge of a region may not have much in common with shots at the center of a region, which can sometimes make this method misleading. Instead of binning shots into regions to determine FG%, we collect a large number of nearby shots and weight them using inverse distance weighting.3 This method ensures an accurate estimate of the player’s “true” FG% from a location4 while also accurately portraying fine-grained variation across the length of the court. For example, DeAndre Jordan is a vicious dunking cyborg. But did you know he is better on the right side of the hoop than he is on the left side?

Still not convinced? There’s one final thing about our shot charts that we think really sets them apart. We’re giving them all to you right now, for every player, for every year we have data for. Go check it out. Find that 3-point specialist your team needs.


  1. If you’re not clicking these links you’re missing out.
  2. Ok fine you twist my arm. The basic problem is deciding what FG% in a 1ft x 1ft square really means. Should it literally be the FG% on shots taken in that square? You may only have 5 shots to base this decision on, which will lead to lots of squares with a FG% of 0 or 100. Moving to regions is a relatively easy way to fix this problem.
  3. After some experimentation, I settled on the formula 1/√distance. This produces smoother color transitions than 1/distance.
  4. You might say “isn’t a player’s true FG% from a location just the number of shots he hits over the number of shots he misses from that location?” I would argue that it is not. We have a sample of shots for each player, perhaps a couple thousand if we are lucky, but from certain areas we only have a handful of shots. Say a player takes 10 shots from an area of the court and hits 80% of them. Is his FG% from that area 80%? What if we had an 800 game season, such that we instead observed 100 shots from that player in that location. Are you confident he would hit about 80% of them? Probably not. With a small number of shots, there is a great deal of uncertainty about what the player’s FG% would be if we had more trials. This is analogous to flipping a coin 4 times, getting heads thrice, and concluding that there is a 75% chance of getting a head by flipping a coin.

Austin Clemens