Photo credit: https://www.instagram.com/ohsnapits_b/
We’ve spent most of this month analyzing the performance of NBA rookies, aiming to quantify their successes and struggles through one unified score. My methodology focuses on identifying key metrics, scoring every rookie for their stats in those metrics, and then combining all of these totals to generate the composite score. This work helped surface Chris Paul’s transcendent rookie year, regraded rookie of the year winners since 2000, analyzed the effect of tanking on development, and, most recently, let us crown an unexpected champ for this year’s coveted prize.
Yet, the beauty of data lies in the multitudes, in the variety of cuts and slices you can make to build a model or form an opinion. I’m confident in what I built, and I’ve enjoyed analyzing the results, but I preach no gospel here. For every projection that goes well, thousands of discarded Excel spreadsheets get tossed in the trash, forever claiming that next year is the year the Jets win it all
My model told me that Trae Young’s rookie year placed sixth out of eligible rookies. Is this hiding a bigger success?
Trae Young Turned NBA Rookie Season Around
He definitely struggled across several key metrics like true shooting and turnovers per game, but a more charitable analysis would point to his ridiculous assist rate, large workload, and sparse roster in Atlanta to perhaps outweigh some of these statistical hurdles. This trend is not isolated to our analysis.
Every publication I read has released some sort of end of year recap for the NBA, and in it they unanimously point to Luka Doncic as the rightful Rookie of the Year but give Young praise for being a competitive runner-up.
David Aldridge : “No real contest here, though Young has closed the gap significantly since Doncic roared to an overwhelming lead the first two-plus months of the season.”
Zach Harper: “Doncic’s production has waned a little bit, but not nearly enough for me to put Young over him”
Dan Devine: “That I even had to think twice about the order here is a testament to just how productive and engrossing Young has been over the last three months.”
Marc Stein: “Doncic is going to win the race, but Young overcame his own worrisome launch to make it a competition — and a rivalry that should have staying power — with his second-half surge.”
Can we track that out?
Finding the top rookie over time
Doncic jumped out to an early lead and never looked back, but Trae nearly hit him with the lightning bolt right before the jump in Wario Stadium and jumped back into contention. My scoring system looks at season totals, but as always, we turn to the invaluable Basketball Reference to find another way to examine this trend. They score every player’s game with a metric called Game Score, defined here:
Game Score; the formula is PTS + 0.4 * FG – 0.7 * FGA – 0.4*(FTA – FT) + 0.7 * ORB + 0.3 * DRB + STL + 0.7 * AST + 0.7 * BLK – 0.4 * PF – TOV. Game Score was created by John Hollinger to give a rough measure of a player’s productivity for a single game. The scale is similar to that of points scored, (40 is an outstanding performance, 10 is an average performance, etc.).
Game score gets us a sense of performance over time, but the game-to-game peaks and valleys make any longitudinal analysis difficult to visualize. I first tried to take our top six rookies from my scoring and chart their game score as a rolling average of the five previous games. Rolling average smooths some of these curves by averaging the score against that game and the four previous, but as you’ll see, there’s still too much chaos.
Yikes. While I’m always a fan of the yarn-like illegibility of hectic time series graphs, it’s hard for anyone to find any trends from this visualization. Trae definitely pops toward the middle of March, but he’s soon back in the quagmire of rookies as the season ends. If you squint, you can see that Luka has a nice run from December through February, yet his totals seem to dip toward the end of the year.
Cleaning up the graphs
Luckily, by using Python and its data package Pandas, we can utilize an amazing function to correct for this noise. A function called resample can take date-series data, like our dataset of rookie game logs, and aggregate those results at a more convenient grouping. While here a rolling average by day produced a Jackson Pollack painting of insights, an aggregation by month exposes the exact trend mentioned by each of our esteemed NBA writers. I excluded April from the visualization due to smaller sample sizes and left out poor Jaren Jackson, Jr, who missed the last twenty or so games due to injury.
I love this chart because it neatly summarizes a season’s worth of intrigue in one image. Trae Young rebounded from an abysmal October and November to jump to the top of the class by March. Mitchell Robinson, the top rookie according to my methodology and the future of the Knicks, breaks out of his low-production beginning to enter the all-rookie conversation toward the end of the season. Luka fights Ayton for top billing in 2018, takes over in 2019, but does in fact drop below Young in March. Marvin Bagley seems a nice bump as well, securing a likely spot in the All-Rookie first team.
Trae won’t win, and he’s likely to enjoy an unanimous second place finish among the award voters. Yet, just being the conversation is an achievement given his rocky start.