How do NBA players improve over time? Are there distinct trends in improvement and age? How good do NBA players need to be to stay in the league? With the larger goal of getting towards forecasting NBA improvement, I found a couple of interesting questions along the way worth a write-up.
Framing the Questions
Before predicting player progression, there are a plethora of factors worth considering. Yet, everything can’t be done at once, so I’ve decided to hone in on two factors: when do NBA players improve, and is there a blanket retention rate for NBA teams?
Media reports will often discuss a “floor” or “ceiling” for different players, but don’t give a basis for this. Does this reference a player’s physical frame? Their basketball IQ? How a prospect performs doing combine drills? There are so many possibilities to explore. Different skill sets tend to improve at varying rates, but for now, I want to focus on age.
Although experience in the NBA is arguably a better predictor of early success, I am more interested in the full careers, and how players improve/regress. Because of this, I’m standardizing by age rather than experience for this article. In future analysis, I’ll also include experience.
Terminology used
I’ll discuss Box Plus/Minus (BPM) in this article. BPM, an advanced statistic, is a measure of how many points a player adds in value per 100 possessions. This is then compared to the average NBA player. If you want to learn more about BPM, visit basketball reference.
I also use Deciles in this write-up. You can think of this as similar to a percentile, but each group of players represents 10% rather than 1%.
I’ll also be discussing “retention” in this write-up. What I mean by this is how often do players appear in the NBA the next year? This is calculated as finding the player in the current year, and then seeing if they play in the next. Obviously, the 2024-25 season hasn’t happened yet. So, when discussing this, I’ll filter out the 2023-24 data.
Identifying Career Trends
When considering the career of NBA players, three general stages come to mind. Young players (typically on relatively low-cost rookie contracts) who are on a team for their potential. Solidified role players who are on their second, maybe third, contract. Vets are typically brought onto a team to mentor the young guys.
It’s also worth noting that superstars are their own category. They make way more money, bring immense value, and likely won’t follow the usual career path or improvement. Throughout this analysis, you might see some of the data skewed towards former stars, but generally, I’m focusing on the average NBA player.
For the first chart, I’ll try to convince you that generally, these three stages do a good job of telling the story of an NBA career:
The above graph shows the change in BPM for NBA players, by age. The blue region is the middle 50% and the green dashed line shows 95th percentile improvement. The left, gray-shaded region is what I’d argue typically “young” prospects make up (at 24, the average player is around zero improvement) with the 95th percentile showing huge improvement. You also see the right, gray-shaded region making up “vets” in my mind, players who are 30 or older. There has been a lot of research done on when a player’s prime is (typically around 27) which would be generally consistent with this data.
At 29 years old, the average improvement is a drop of 0.36 in BPM, but at 30 the average BPM change is -0.55. This is a fairly substantial drop-off, and it persists through the age of 34. My guess is we see the slight increase at 35 again because those players’ skill sets are so specific there’s not much room for improvement or regression. The “average” NBA player won’t even make it to that age, so there is also some bias in who is in the data.
It’s also important to consider that as players get older, they’ve already proven themselves as NBA players. This means that the sample of 30-year-olds in the data is different from the sample of 20-year-olds. If you’re 20, you’re really there for your potential. If you’re 30, you’ve already proven this potential.
Next, I’d like to compare overall player quality (rather than change in quality) with how often they remain in the league. To do this, I created deciles of BPM and looked at the average decile for each age. This approach using BPM Deciles helps filter out some of the superstars compared to percentiles, as I’m primarily interested in the average players for this analysis. For player retention, I investigated if the player was in the next year’s data.
The key takeaway here is that on average, young NBA players aren’t as good as the average NBA player. This makes sense! These players are typically on three to four-year rookie contracts and are rostered for their potential. Again, we see a large jump in average player quality after 24. Players also tend to stay in the league when they’re young, my guess is because they’re seen as low-cost and high potential. Plenty of teams also try “reclamation projects” where they’ll sign a failing young player in hopes that a change of scenery will spark some newfound production.
Also, players 26 and older are held to a higher standard. You have to be better than 60% of the league (on average) compared to 50% which is an interesting result.
Statistical Tests
Although the above charts are pretty (and I’d argue tell a pretty good story), some statistical analysis is probably the best way to illustrate that young players are worse than old players in the NBA. I know this analysis could be considered common sense, but I think it’s worth proving for future reference.
The above distributions are of BPM by age group. First I’ll test that at least one of the age groups has a different distribution than the others. I’ll use the Kruskal-Wallis test for this. I like this test because it’s nonparametric, and doesn’t assume a normal distribution. When running this Kruskal-Wallis test, I’m given a Kruskal-Wallis chi-squared of 116.85 and a p-value of roughly zero.
I followed this up with two Mann-Whitney U tests with the alternative hypothesis that the under-24 group has a lower median BPM than the 25-29 and 30+ groups. I ran these tests and was again given p-values of roughly zero.
Although these results are pretty clear on a graph, I think it’s good practice to confirm it with a proven statistical test.
What does this mean, in layman’s terms? Young players in the NBA generally perform worse than their median older counterparts. This again suggests that many young players are rostered for their potential rather than their current contributions.
Player Retention by Age Group
The final thing I wanted to investigate is within age-group player retention. What I mean by this is, how good do you have to be within your age group to stay in the NBA? I again created deciles of BPM and found retention rate (the percentage of the time the player was in the league the next year), and found results consistent with the previous sentiment.
What I’m hoping to show here is that it doesn’t matter how good you are compared to the rest of the league to stay in the NBA, it more so matters how good you are compared to the team’s next best option. As you can see, the bottom 10% of under-24 players are kept around a lot more often than their older counterparts.
If you didn’t break this into groups, you’d say an NBA player has a 34% chance to remain in the NBA, if they are in the bottom 10% of BPM. This is not an accurate representation, and the table shows it depends on your age. If you’re 24 or older, this data shows you have only a 27% chance of sticking around. I think you can even further break this into groups (how does a 24-year-old center compare to a 24-year-old wing?) but this is a great starting point.
Other Factors at Play
Experience in the NBA may be a better indicator of how short a leash a player gets, but my goal is to illustrate that age is important too! The human brain isn’t developed until around 25 years old, and this analysis suggests that young players in the NBA continue to grow before 25. Also, players of different archetypes likely improve at different rates. I’ll investigate varying rates of improvement by skill set for the next article. There are plenty of other ideas also likely at play here. Let me know if you think any are worth a look!
Meaningful Takeaways
Although this analysis seems like common sense, it’s nice to get actual point estimates and distributions for improvement. When fitting models using Bayesian inference, these distributions can be the basis for our priors. You don’t want to use a prior for predicting the same distribution, but it could help forecast future values (which is what I hope to do).
These findings can also be useful for creating simulations, another avenue I hope to explore. Often, when creating simulations, some assumptions need to be made, and these findings can help both solidify the assumptions and also give a starting point for creating a simulation.
Lastly, running a survival analysis would be a pretty interesting exercise. I hope to do that following this blog!
As always, thanks for giving this a read! If you have any more questions or suggested improvements, please leave a comment.