Introducing Simple Shot Quality Model (SSQM) v2.0

Sravan February 18, 2024 [NBA] #Shooting #Shot Quality #SSQM

My second attempt at creating a shot quality model using publicly available NBA data. First attempt is here.


As I noted in my previous blog, only shot location is not a holistic way of looking at shot quality and there should be other factors like shot type, defender distance, touch time, dribble etc. which need to be incorporated in the model. So this model, which I named SSQM v2.0 is an attempt to include those factors.


Approach: Using Shot Tracking Data

SSQM v2.0 is heavily inspired by AutomaticNBA's shot quality model, which uses NBA shot tracking data to categorize shots by defender distance and shot type. I'm extending AutomaticNBA's model by adding touch time as an additional category. The categories in my model are:

  1. Shot Type: Catch and Shoot, Pullups, Less Than 10 ft
  2. Defender Distance: 0-2 Feet - Very Tight, 2-4 Feet - Tight, 4-6 Feet - Open, 6+ Feet - Wide Open
  3. Touch Time: Touch < 2 Seconds, Touch 2-6 Seconds, Touch 6+ Seconds

Approach: Binning Shots

There are 3 shot types, 4 defender distance and 3 touch times for the shots tracked by NBA. So we have $3\times 4\times 3=36$ shot bins. The actual number is 28 categories since Catch and shoot shots don't have touch times greater than 2 seconds. So, we have to bin the shots into 28 different categories, for each player and overall for the league. Following the same approach as SSQM v1.0, I use league average for each bin as the expected FG% or xFG in my model. Then determine the shot quality metrics based on the xFG for each bin.
The method to calculate the shot quality metrics can be found here.


Now that I have a Shot Quality Model based on defender distance, shot type, and touch time, I ran it for the 2023-24 NBA season to generate the shot quality metrics for all players. An issue here is that there are players who have not attempted many shots but made most of them. We need to filter those players out, which can be accomplished by removing players who have scored less than 100 points.

Best Shot Makers

Here are the best shot makers in the league i.e. the players having the highest Shot Making values:

1Garrison MathewsAtlanta Hawks4599130104.390.6570.5270.25925.6
2Kevin DurantPhoenix Suns4919111067856.660.5960.4790.235214.1
3Jalen SmithIndiana Pacers159251356301.350.7210.610.22155.5
4Matt RyanNew Orleans Pelicans388510890.180.6350.530.2117.8
5Nicolas BatumPhiladelphia 76ers70135184155.980.6810.5780.20828.1
6Amir CoffeyLA Clippers90161215181.860.6680.5650.20633.2
7Sam MerrillCleveland Cavaliers100228287240.320.6290.5270.20546.7
8Malik BeasleyMilwaukee Bucks222474591503.120.6290.5350.18788.6
9Dante ExumDallas Mavericks116203263227.430.6480.560.17535.5
10Aaron WigginsOklahoma City Thunder123211284247.710.6830.5950.17436.7

Most of the players in this list are movement three point shooters. An interesting observation is that 6 players on this list are common to both SSQM v1.0 and SSQM v2.0. So, best shooters show up regardless of the shot quality model used.

Worst Shot Makers

Here are the worst shot makers in the league i.e. the players having the lowest Shot Making values:

1Xavier TillmanBoston Celtics87210186251.460.4430.599-0.312-65.5
2JT ThorCharlotte Hornets51139119153.990.4340.562-0.255-35.4
3Josh OkogiePhoenix Suns76181170212.080.4750.592-0.235-42.5
4Chris DuarteSacramento Kings47129114142.150.4450.555-0.22-28.4
5Isaiah LiversWashington Wizards40114102126.590.4470.555-0.216-24.6
6Scoot HendersonPortland Trail Blazers190506426530.180.4260.53-0.208-105.2
7Mike MuscalaDetroit Pistons48133123149.010.4660.564-0.197-26.2
8David RoddyPhoenix Suns153379354428.670.4670.566-0.197-74.7
9Jaylin WilliamsOklahoma City Thunder57149144172.510.490.587-0.194-28.9
10Cam ReddishLos Angeles Lakers80199191227.410.480.571-0.183-36.4

9 players on this list are common to both SSQM v1.0 and SSQM v2.0, but in a different order. Most of these players are end of bench players, except Scoot Henderson who is having a rough start to his NBA career.

Most Points Added: Best Volume Shot Makers

Just looking at Shot Making doesn't tell the whole story of best shot makers in the league. The Shot Making value is actualized only if the players are taking lots of the shots. So the best shot makers in the league are who make lots of shots at high volume. To differentiate these players (who are all stars) from best players in Shot Making metric, I call them Volume Shot Makers. These players are players who have the highest Points Added Metric:

1Kevin DurantPhoenix Suns4919111067856.660.5960.4790.235214.1
2Luka DoncicDallas Mavericks542110112541102.560.5730.5030.138151.9
3Shai Gilgeous-AlexanderOklahoma City Thunder580106312251084.60.5760.510.132140.3
4Giannis AntetokounmpoMilwaukee Bucks626101812731134.360.6280.5590.137139.5
5Stephen CurryGolden State Warriors4429581126989.610.5910.5190.143137
6Devin BookerPhoenix Suns420840935812.230.5590.4860.147123.5
7Kawhi LeonardLA Clippers425811946823.890.5890.5130.152123.3
8Nikola JokicDenver Nuggets5279181076972.830.610.5510.117107.4
9Domantas SabonisSacramento Kings437703896795.820.6450.5730.144101.2
10Brandon IngramNew Orleans Pelicans406823881784.680.5380.4790.11897.1

Similar to the previous list, 9 players on this list are common to both SSQM v1.0 and SSQM v2.0, but in a different order. All os these players are considered either stars or super-stars in the NBA. Giannis rank is higher here compared to SSQM v1.0 because the shot difficulty of his 2 pt shots which have a close defender distance and high touch time, gives him a lower xeFG on his shots and thus higher Shot Making.

Most Points Removed: Worst Volume Shot Makers

Now let's look at the worst volume shot makers, these are players with the lowest Points Added metric:

1Scoot HendersonPortland Trail Blazers190506426530.180.4260.53-0.208-105.2
2Nikola VucevicChicago Bulls369786794895.30.5090.574-0.13-102.2
3Jordan PooleWashington Wizards292729685773.440.4720.533-0.122-88.9
4Jalen GreenHouston Rockets335814763850.740.4720.526-0.108-87.9
5Saddiq BeyAtlanta Hawks244576583665.950.5070.579-0.144-82.9
6Josh GiddeyOklahoma City Thunder246551537618.710.4940.57-0.15-82.6
7Jeremy SochanSan Antonio Spurs245555532611.380.4850.557-0.145-80.5
8Jordan ClarksonUtah Jazz282680642716.570.4730.528-0.11-74.8
9David RoddyPhoenix Suns153379354428.670.4670.566-0.197-74.7
10Ausar ThompsonDetroit Pistons197406407480.930.5010.592-0.182-73.9

7 players on this list are common to both SSQM v1.0 and SSQM v2.0, but in a different order. Rookies here include Scoot and Ausar. Ausar come into the league as a bad shooter and need to improve his shooting to get more playing time. I'm a huge believer in his potential. Finally, Nikola Vucevic is having a horrible offensive season, and fits the criterion of aging centers which I discussed in the SSQM v1.0 blog.


I've developed a simple shot quality model SSQM v2.0 based on publicly available shooting data. The model is based purely on shot type, defender distance, and touch time. Then we can sort the players by the shot quality metrics like Shot Making and Points Added to find best and worst shot makers and volume shot makers.

Thank you for reading, and any feedback is appreciated. You can reach me on Twitter at @SravanNBA.