Players That Laughed in the Face of The So-Called Usage-Efficiency Tradeoff

That title ought to have gotten your attention. :)

In an effort to look deeper into the (hypothesized) tradeoff between usage and shooting efficiency, I went to basketball-reference and compiled a list of every player-season of >100 FGA since the 3-pt shot came into effect. There are roughly 1800 unique players in the list and a little over 10,000 seasons (each represented by a row of data). I also captured the player's age, which you'll see in the plots that follow.

With these data in hand, I used the function lmer() in R (part of the lme4 package), to create the following linear mixed-effects model:

ts.lme<-lmer(TS.~USG. + Age | Player,data=usage_big,weights=FGA)

The idea is that TS% is a function of USG% and Age, in general, but also follows a dependence on the specific player. Basically, the function is finding the usage-efficiency (or "skill curve" as Dean Oliver referred to it) for each player. The nice part of all this is that everything was done essentially automatically, thus, saving me the effort of writing a lot more code.

The end result is that now I have a very large database that I can sort by these effects. In this post, I'll give you a taste of it, starting with plots for the players whose TS% actually improved the most as a function of USG%. Not surprisingly, there are some good players near the top. Here are the top 25 on the list (followed by some plots of individual players):

RANK NAME SLOPE
1 Karl Malone 0.00658
2 Glen Rice 0.00625
3 Kiki Vandeweghe 0.00592
4 Larry Bird 0.00586
5 Kevin McHale 0.00530
6 Kareem Abdul-Jabbar 0.00511
7 Kevin Durant 0.00498
8 LeBron James 0.00487
9 Peja Stojakovic 0.00479
10 Adrian Dantley 0.00442
11 Chris Bosh 0.00428
12 Jim Paxson 0.00428
13 Tom Gugliotta 0.00394
14 Caron Butler 0.00390
15 Harvey Grant 0.00372
16 Mike James 0.00358
17 Mookie Blaylock 0.00355
18 Alex English 0.00350
19 Manute Bol 0.00345
20 Terrell Brandon 0.00340
21 Eric Snow 0.00340
22 Sidney Lowe 0.00335
23 Bill Cartwright 0.00334
24 Dwight Howard 0.00334
25 Sean Elliott 0.00333

In the following plots, age is represented by the size of the points.

Clearly, these relationships are not perfect, but the results are interesting, nonetheless. There are outliers and the effects of age appear to be important in some (if not all) cases. More to work on for sure, but the internet is made for rapid communication of new findings, so I'll put the data/findings out there as I come upon them — as opposed to waiting until everything is perfect (which might be never).

3 thoughts on “Players That Laughed in the Face of The So-Called Usage-Efficiency Tradeoff”

  1. That R formulation is a little different from what I'm used to reading - it allows players to have different slopes with respect to what? Both usage and age? Or does it give them random intercepts? Usually there are some extra parentheses involved.

    1. Here it is:
      *******************
      Formula: TS. ~ USG. + Age | Player
      Data: usage_big
      AIC BIC logLik deviance REMLdev
      24825 24883 -12405 24797 24809
      Random effects:
      Groups Name Variance Std.Dev. Corr
      Player (Intercept) 1.9951e-05 0.00446664
      USG. 1.3174e-08 0.00011478 -0.485
      Age 1.8364e-08 0.00013552 -0.811 -0.041
      Residual 7.9214e-04 0.02814501
      Number of obs: 10237, groups: Player, 1793

      Fixed effects:
      Estimate Std. Error t value
      (Intercept) 5.227e-01 3.673e-05 14230
      *****************

      Each player has an intercept and then a slope for USG% and Age vs. TS%.

  2. Cool, so it just assumes you want it all thrown into the random part but no fixed part. Have you tried fitting other combinations (give age and usage fixed effects, take away usage random slope, etc) to see what model fits best?

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>