Basketball on Paper’s Skill Curves
- 4 Comment
Recent discussion about Basketball on Paper’s skill curves inspired me to use Dean’s formulas to reproduce these curves. The formulas are a bit daunting at first glance, but thankfully they’re really not that bad once you’ve got the data to work with. For the curious reader, most of the formulas came from Appendix 1 of Basketball on Paper.
As an initial test of the formulas, I have created skill curves using this season’s data for Kobe Bryant and LeBron James.
I used R to perform all of the calculations, so to see how these curves were created, download the skill_curves.zip archive.
Inside of this archive you will find an offense.R file along with some CSV data for Kobe and LeBron. On line 81 of this file is where you can switch between Kobe and LeBron by using the prefix “lebron” or “kobe”.
I’m pretty sure this is where the data for creating these curves comes from. How Dean actually grouped the data for fitting lines is up for debate. I simply used R’s scatter.smooth function.
Also, please send along any improvements or errors you might find in the code.
As Neil suggested, here are the images with % Team Possessions Used as the x-axis and Offensive Rating as the y-axis. These definitely make more intuitive sense.
To replicate these results, change scatter.smooth(ortgs,pused) to scatter.smooth(pused,ortgs) in offense.R.