Playing with NBA stats

I am a huge fan of the NBA and typically take an analytics approach to sports. I have my own NBA blog where my main focus this season has been on projecting teams’ win totals. In the future I plan to blog here about how I built that website and my win projection tools with Python. This post is about a smaller project I recently put together.

This project was my first time using nba_py, a Python wrapper for the NBA.com API. This means I can directly access stats from NBA.com in my Python scripts. Just as a matter of curiosity, I was wondering: which player had the best game against each team? For example, which player had the best game against the elite Houston Rockets? Who had the best game against the injury-laden Memphis Grizzlies? As a measure of best game I used Game Score, a statistic created by basketball analytics pioneer John Hollinger. Game Score attempts to put 1 number to a player’s contribution across major stats like points, assist, rebounds, etc. Here are the all-time best Game Scores.

As a first run, I used last season’s data. Using nba_py, I went through every game and calculated the Game Score for each player. Then, I set aside the best Game Score from each game along with the player and opponent. With this list of the best Game Scores, I then went through each team as the opponent and set aside the best Game Score. Below is the list of best Game Score against each team. What really stood out to me was how Russell Westbrook had the best Game Score against five different teams – no wonder he won the MVP award!

GAME_SCORE PLAYER_NAME OPPONENT
54.5 Devin Booker BOS
51.5 Jimmy Butler CHA
48.7 James Harden NYK
48.6 Damian Lillard UTA
46.9 James Harden PHI
46.2 Klay Thompson IND
45.6 Russell Westbrook DEN
44.2 Russell Westbrook ORL
43.6 Russell Westbrook POR
43.2 Isaiah Thomas MEM
42.5 Kyrie Irving ATL
42.4 James Harden CLE
41.4 Russell Westbrook PHX
41.0 Damian Lillard MIA
40.1 Kevin Durant OKC
39.9 Kyrie Irving NOP
39.7 Anthony Davis GSW
39.0 Anthony Davis LAL
38.2 Eric Bledsoe TOR
38.0 Giannis Antetokounmpo WAS
37.5 Kawhi Leonard HOU
37.4 Stephen Curry LAC
37.3 Giannis Antetokounmpo CHI
36.4 Anthony Davis MIN
35.2 Damian Lillard DAL
34.5 Brook Lopez MIL
34.0 Marc Gasol DET
33.7 Jimmy Butler BKN
33.0 Russell Westbrook SAC
30.8 Nikola Jokic SAS

Leave a Reply

Your email address will not be published. Required fields are marked *

Navigation