Reconstructing Box Plus/Minus

Home for all your discussion of basketball statistical analysis.
RyanRiot
Posts: 28
Joined: Wed Oct 19, 2016 2:26 am

Re: Reconstructing Box Plus/Minus

Post by RyanRiot »

DSMok1 wrote: Thu Oct 03, 2019 3:16 pm
DSMok1 wrote: Tue Oct 01, 2019 11:54 am Coefficients of GmBPM:
https://docs.google.com/spreadsheets/d/ ... d=77600438
I'm interested in input: should any of these stats be in any way context dependent? I.E. relative to league or team averages?

Thanks!
I generally like to index everything to the league average, which certainly makes things a little more complicated and ugly, but I generally find it brings some slight improvements to my models.
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

RyanRiot wrote: Thu Oct 03, 2019 4:47 pm I generally like to index everything to the league average, which certainly makes things a little more complicated and ugly, but I generally find it brings some slight improvements to my models.
I am working with Per-100-Possession data in all cases which is a good start.

Logically, which statistics SHOULD depend on league context? I.E. if context changes (average points/possession, for instance) which of these statistics should, by deduction, have different value? Remember, I'm not working with FG% as an input but rather treating each event in a possession as a variable.

FGA
FTA
3 Pt FG
2 Pt FG
FT
AST
TO
RB
STL
BLK
PF

If league-wide FG% is low, it seems like the value of FG's and FGA's should reflect that somehow, but I'm not sure how at the moment.
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

Here's an interesting chart comparing the old BPM with the current GmBPM for 2017 Oklahoma City:

Image
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
nbacouchside
Posts: 151
Joined: Sun Jul 14, 2013 4:58 am
Contact:

Re: Reconstructing Box Plus/Minus

Post by nbacouchside »

DSMok1 wrote: Thu Oct 03, 2019 5:20 pm
RyanRiot wrote: Thu Oct 03, 2019 4:47 pm I generally like to index everything to the league average, which certainly makes things a little more complicated and ugly, but I generally find it brings some slight improvements to my models.
I am working with Per-100-Possession data in all cases which is a good start.

Logically, which statistics SHOULD depend on league context? I.E. if context changes (average points/possession, for instance) which of these statistics should, by deduction, have different value? Remember, I'm not working with FG% as an input but rather treating each event in a possession as a variable.

FGA
FTA
3 Pt FG
2 Pt FG
FT
AST
TO
RB
STL
BLK
PF

If league-wide FG% is low, it seems like the value of FG's and FGA's should reflect that somehow, but I'm not sure how at the moment.
If you used 3FGA and 2FGA instead of FGA, you could adjust for Moreyball play by using both of those relative to league average, ditto FTA.

Adjusting RB for league average would also account for seasons where more missed shots occurred (aka when efficiency was worse). Breaking out DRB and ORB might allow for more specificity around the league average.

Adjusting TO's per 100 for league average makes intuitive sense to me as well because it should effect the overall value of non-TO possessions (i.e. if more possessions per 100 are ending in TO, the non-TO possessions are higher value than in a low TO environment).

Adjusting ASTs per 100 for league avg also seems like you would need to do it for similar reasons to all of the above because it is adjusting for overall scoring level (i.e. if teammates are scoring more frequently on FGA, then an assist is correspondingly providing less value on average than in lower efficiency or volume scoring environments per 100).

STLs, BLKs, and PFs should follow similar logic, I think.

So basically, tl;dr: the logic holds for league average adjusting for basically every element, just probably need to break out the granularity under FGA to properly adjust for Moreyball tendencies.
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

Thanks, Kevin!

As I have dug into this subject, I realized something: One thing to remember that makes BPM as little different is the team adjustment. Basically, the statistics are only used insofar as they improve the division of credit among the players on the team.

In other words... in effect, all of the linear statistics (this doesn't apply the same for shooting) will be calculated vs. the team average regardless of any pre-processing. If my coefficient is 0.5 on rebounds/100, and the average player on the team has 10 rebounds/100 poss, the team adjustment will in effect add in a -5 to all of the players.

Does that make sense?

So, the only thing that is changed for these linear statistics with an adjustment is the scale of the delta between players. If we apply a linear multiplication to adjust for league context, it will change things somewhat. If we apply a simple constant addition or subtraction, it will not change the end result at all.
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
nbacouchside
Posts: 151
Joined: Sun Jul 14, 2013 4:58 am
Contact:

Re: Reconstructing Box Plus/Minus

Post by nbacouchside »

DSMok1 wrote: Wed Oct 09, 2019 6:20 pm Thanks, Kevin!

As I have dug into this subject, I realized something: One thing to remember that makes BPM as little different is the team adjustment. Basically, the statistics are only used insofar as they improve the division of credit among the players on the team.

In other words... in effect, all of the linear statistics (this doesn't apply the same for shooting) will be calculated vs. the team average regardless of any pre-processing. If my coefficient is 0.5 on rebounds/100, and the average player on the team has 10 rebounds/100 poss, the team adjustment will in effect add in a -5 to all of the players.

Does that make sense?

So, the only thing that is changed for these linear statistics with an adjustment is the scale of the delta between players. If we apply a linear multiplication to adjust for league context, it will change things somewhat. If we apply a simple constant addition or subtraction, it will not change the end result at all.
I think this additional context, which I knew but didn't think about in formulating my response, makes it seem less necessary to adjust for league context, since you're already adjusting at the team level and the team values are already adjusted for league average and SoS.
nbacouchside
Posts: 151
Joined: Sun Jul 14, 2013 4:58 am
Contact:

Re: Reconstructing Box Plus/Minus

Post by nbacouchside »

DSMok1 wrote: Wed Oct 02, 2019 1:48 pm Position adjustment is mostly just a penalty on PGs. Each player is assigned a position from 1 to 5 (on a continuous scale) and then the position adjustment is calculated. Above the "breakpoint" there is no adjustment. The slope runs down from that break point back towards 1. So a PG gets a penalty of over 2 points. SG a small penalty. Everyone else no penalty.

Basically, it's saying--if you're a small player, you better show impact in the stats, because your non-stat impact (i.e. defense, picks, etc) is not as good.
Daniel, where are you getting the continuous player position assignments? Also, can you explain the mechanics of the player position adjustment with a couple of actual player examples? I'm having trouble understanding how it works exactly, based on the above description.
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

nbacouchside wrote: Tue Oct 15, 2019 2:54 pm Daniel, where are you getting the continuous player position assignments? Also, can you explain the mechanics of the player position adjustment with a couple of actual player examples? I'm having trouble understanding how it works exactly, based on the above description.
I did a regression to predict a player's listed position:

Code: Select all

Intercept	0.970
 trb		0.398
 stl		-0.274
 pf		0.054
 ast		-0.153
 blk		0.275
 trb^2		-0.011
That is then capped at 1 and 5.

The biggest discrepancies are 38-year-old Clifford Robinson (listed as a C for the GSW in 2005) and 21-year-old Giannis (listed as a PG by MIL in 2016). The regression puts Robinson as a 2.5 position and Giannis at a 3.5 position.

The position adjustment is a linear adjustment if less than the breakpoint, which is a round position 2.5. Above 2.5, there is no adjustment. Below 2.5, it's linear. So it would be mathematically:
Adjustment = (Slope*min((Position-2.5),0))

Does that clarify? The slope as it currently stands has now been revised down to around 1.0. So a PG gets a -1.5 point/100 penalty.
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
nbacouchside
Posts: 151
Joined: Sun Jul 14, 2013 4:58 am
Contact:

Re: Reconstructing Box Plus/Minus

Post by nbacouchside »

DSMok1 wrote: Tue Oct 15, 2019 5:24 pm I did a regression to predict a player's listed position:

Code: Select all

Intercept	0.970
 trb		0.398
 stl		-0.274
 pf		0.054
 ast		-0.153
 blk		0.275
 trb^2		-0.011
That is then capped at 1 and 5.

The biggest discrepancies are 38-year-old Clifford Robinson (listed as a C for the GSW in 2005) and 21-year-old Giannis (listed as a PG by MIL in 2016). The regression puts Robinson as a 2.5 position and Giannis at a 3.5 position.

The position adjustment is a linear adjustment if less than the breakpoint, which is a round position 2.5. Above 2.5, there is no adjustment. Below 2.5, it's linear. So it would be mathematically:
Adjustment = (Slope*min((Position-2.5),0))

Does that clarify? The slope as it currently stands has now been revised down to around 1.0. So a PG gets a -1.5 point/100 penalty.
Yes, that clarifies perfectly. Thanks!
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

Preview: the top 300 player seasons in sample, by BPM 2.0's VORP:

Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
tarrazu
Posts: 91
Joined: Mon Aug 04, 2014 5:02 pm

Re: Reconstructing Box Plus/Minus

Post by tarrazu »

Are there new coefficients for BPM 2.0 when splitting in into its offense and defense components? I went through this thread quickly, but didn't see anything?
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

tarrazu wrote: Tue Nov 12, 2019 4:53 pm Are there new coefficients for BPM 2.0 when splitting in into its offense and defense components? I went through this thread quickly, but didn't see anything?
Yes, there are. I have not updated this thread with the final coefficients for either the base regression or the offense/defense split yet. Still tweaking things.
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

Here is a link to a calculation sheet that does the calculations for BPM 2.0. Flip through the tabs to see different forms of the calculation.

Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
permaximum
Posts: 416
Joined: Tue Nov 27, 2012 7:04 pm

Re: Reconstructing Box Plus/Minus

Post by permaximum »

League average adjustment.
Play position adjustment like guard - forward - center or 1 - 2 - 3 - 4 - 5.
Per-game ranking adjusted by pace (different than per100 poss) with a games played cutoff instead of total (in the case of Vorp).

This should provide a better ranking.
DSMok1
Posts: 1119
Joined: Thu Apr 14, 2011 11:18 pm
Location: Maine
Contact:

Re: Reconstructing Box Plus/Minus

Post by DSMok1 »

Here is the current write-up for the updated Box Plus/Minus:

https://docs.google.com/document/d/13uA ... Q9W6A/edit#

I appreciate any comments on the document or questions here--I will try to get everything clarified.
Developer of Box Plus/Minus
APBRmetrics Forum Administrator
Twitter.com/DSMok1
Post Reply