Passing Deep Dive: Creating a new metric for evaluating passers in the NBA

Lewis Pipkin
5 min readMay 27, 2019

Introduction

I spent a while this past week checking out all of the publicly available passing statistics from NBA.com with the intention of developing a new passer rating. This is intended to be somewhat of an open exhibition on the thought process of developing a new statistic. It’s not perfect, as every statistic is inherently biased toward what can be measured, but I think it’s pretty cool nonetheless. I will not claim to be an expert when it comes to crafting new metrics, but I wanted to try my hand at it. If you just want to see how my passer rating is calculated — skip to Part 2, down below.

So I have these two spreadsheets (available on my Github) — passesMaster.csv and passing.xlsx. The former is player-level data from NBA.com which includes an estimate of the number of shots taken as a result of passes from one player to each of his teammates. That was aggregated via NBAstatR, the ever-useful package by Alex Bresler.

The latter is hand-pulled data from NBA.com. It took copy-and-pasting raw JSON data from the Google Chrome Developer Tools interface. I’m not going to pretend to know what else you can do with Developer Tools, but that data was acquired thanks to an old, very helpful Reddit comment by u/cmai3000. There is a third spreadsheet, basestats.xlsx, which comes in later in the code — it’s also transformed JSON data in kind of a strange format, but I end up only using the players’ names and their total turnovers from that one.

Part 1: A few passing metrics

Passes Made per game | Free throw assists per game | Secondary assists per game

Naturally, ball-dominant players are going to lead in passes made per game. I found it interesting that Jamal Murray lead the league in secondary assists — but 44.2% of his passes are to Nikola Jokic. Lowry, Rubio, and Murray especially are in offenses with more ball movement, especially after the All-Star break, where the Raptors, Jazz, and Nuggets are 5th, 6th, and 7th in passes per game.

Potential assists per game | Assist points created per game
Productive passes per game | Productive passes/Total passes made | Assist points created/Total passes made

Troy Caupain, the Cincinnati Bearcats’ all-time leader in assists at 515 assists in 4 years, dominated the entire league in two metrics. While he was a great college point guard, his 16 NBA minutes have been nothing short of legendary, posting a sizzling 30.7 PER and almost doubling Mr. Triple Double’s Assist Points Created per Pass figure. However, he and Mr. Alkins are prime examples of why I’m going to filter based on minutes played.

Part 2: Passer Rating

The formula took a while to develop, but I wanted the following to be true of this metric:

1. It is roughly normally distributed.

2. It can be applied to players no matter how many games they played in the season. Note: (I imposed a total minutes played restriction, but the formulae work for any player who recorded at least 1 turnover.)

3. It still directly rewards primary assists slightly more than secondary assists, potential assists, and free throw assists.

Below are the component formulae for my version of NBA passer rating.

Then, thanks to this StackExchange thread, I was able to transform the data into a more digestible number — instead of X ~ N(1.42,0.27²), wouldn’t it be nice for it to be something easily interpretable? I decided to go with X ~ N(10,2²) so we could easily say, without a lot of thought, “11.5? That guy’s a pretty good passer.” vs. “7? He needs to improve.” That’s a hell of a lot easier than remembering 0.88 and 1.97 cutoffs for those who’d be statistically significantly great or poor passers according to this metric.

So, as I intended, passer rating is roughly normally distributed, with a mean of 9.99, standard deviation of 1.99, and a skewness of only 0.12. Here is a link to the passer ratings of all players who qualified based on the minutes restriction I imposed, ≥ 331.8 minutes played (20th percentile).

Then, we come to the top 10 and bottom 11 passers based on this rating. (I wish it were top and bottom 10, but it’s those below the 2.5th percentile and above the 97.5th percentile.)

There are very few, if any, surprises in either of these lists, I feel. Russ gets a lot of flack for stat padding, but his passing, along with CP3’s, is truly elite. Both Timberwolves point guards make the top 10 (Derrick Rose was not far outside of this list, with a 13.3 passer rating), and we know how good LeBron, John Wall, and Rajon Rondo’s court vision is. Eric Bledsoe was the only moderate surprise to me, but he’s 3rd in usage among Milwaukee’s high-scoring starting lineup, which would no doubt help him rack up hockey assists.

When we look at the bottom of the ladder, we see it’s all low-assist big men; guys who aren’t in playmaking roles. The fact that my statistic didn’t rate JaVale McGee (who has a career-high of 3 assists per game and averages 0.4 per game for his career) as a high-quality passer gives me some more confidence in my work.

Part 3: Passer Rating leaders by position

Average by position

Point Guard

Shooting Guard

Small Forward

Power Forward

Center

Oct. 19, 2018 — Source: Harry How/Getty Images North America

Stats courtesy of NBA.com and abresler/NBAstatR. Analysis and visualizations done in R and Domo.

--

--