top of page

Project: Points per Shot vs. Shot Distance

Writer's picture: Bryce HaaseBryce Haase

Updated: Jan 20, 2021

In the NBA, efficiency is everything. How efficient you are on offense determines if you will win or lose every single game. That is why we have seen such an emphasis on shot selection in recent years. We have enough information to know which shots should be taken and which shots should not be. The goal of this project was to further illustrate what is a good shot and what is a bad shot. This is also the first project I have completed, and while the premise is simple, I will continue to dive into the shot data that I have available.


For this project, I used shot data from 2015-2020. Over that time period, there were over 800,000 shots taken. To complete the task at hand, I used the programming language Python. This allowed me to parse through all of the data much faster. The code I used can be found here:



If you would like to run the code yourself, you can use any IDE, but I used Spyder for this project. Here are the results that I found:

The dotted orange line represents the average value of a shot, which is about 1.04 points. The solid blue line represents the value of an average shot taken from a certain distance. The theory behind this is that anything below the orange line is considered below average, and everything above the line is considered above average.


From first glance of the data, it doesn't quite pass the smell test. I will get into why this is in a second. According to the data, there are seven locations at which a shot is considered "above average": 0 feet, 1 foot, and 22-26 feet. The reason there is such a huge leap in the data is because of three pointers. A corner three pointer is a 22-foot shot, hence the massive jump at 22 feet. The rest of the three-point line is at 23.75 feet. The data points out the obvious: layups and threes are the best shots in the game. However, it does show just how much more valuable layups are. If anyone tries to tell you "the analytics guys say to do that" when someone passes up a layup for a three, they are completely wrong. Something else I found interesting was just how bad it is to take shots from even six feet away from the rim. A six-foot shot is worth about .8 points, which is worth a little less than a shot from 32 feet (about .837 points). Something else that is interesting is that a shot from six feet away is worth less than a shot from 18 feet. I would assume this is partly because of the nature of a six-foot shot. These will usually be from floaters over bigs or from post ups, both of which aren't super-efficient. From 18 feet, those are generally more open looks, unless a star is shooting the shot.


Now time to get to the parts that don't make sense. You may be thinking that there is no way it is better to shoot from 26 feet than it is to shoot from 2 feet. By thinking that, you would be 100% right. What this data set did not take into account for was getting to the free throw line. A trip to the free throw line is more efficient than an unfouled shot from 0 feet. Over the time period of the data, the average free throw was made about 76-77% of the time. That translates to 1.52-1.54 points per trip. Since the data set does not include shots that led to free throws, it is taking out a lot of the most efficient shooting possessions. The closer you are to the basket, the more likely you are to get fouled (generally). While a shot that you don't get fouled on from two feet may be less efficient than a 26-footer, when you include the likelihood of drawing a foul from 2 feet that shot becomes much more efficient. The largest error in this is that fouls are unaccounted for.


I hope this helped illustrate how important shot selection is, and why teams so heavily chase layups and threes. These are by far the most efficient shots in the game, and don't let anyone tell you otherwise.


Below is the data for each shot location (shot % and value):


Update:

I decided it would make sense to add a line in the graph showing the average shooting percentage at each shot distance. The code and the updated graph can be found below:



26 views0 comments

Recent Posts

See All

留言


bottom of page