Page 9 of 11

Re: Reconstructing Box Plus/Minus

Posted: Thu Oct 03, 2019 4:47 pm
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.

Re: Reconstructing Box Plus/Minus

Posted: Thu Oct 03, 2019 5:20 pm
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.

Re: Reconstructing Box Plus/Minus

Posted: Thu Oct 03, 2019 5:27 pm
by DSMok1
Here's an interesting chart comparing the old BPM with the current GmBPM for 2017 Oklahoma City:

Image

Re: Reconstructing Box Plus/Minus

Posted: Wed Oct 09, 2019 4:45 pm
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.

Re: Reconstructing Box Plus/Minus

Posted: Wed Oct 09, 2019 6:20 pm
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.

Re: Reconstructing Box Plus/Minus

Posted: Wed Oct 09, 2019 7:34 pm
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.

Re: Reconstructing Box Plus/Minus

Posted: Tue Oct 15, 2019 2:54 pm
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.

Re: Reconstructing Box Plus/Minus

Posted: Tue Oct 15, 2019 5:24 pm
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.

Re: Reconstructing Box Plus/Minus

Posted: Tue Oct 15, 2019 6:51 pm
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!

Re: Reconstructing Box Plus/Minus

Posted: Mon Nov 11, 2019 9:28 pm
by DSMok1
Preview: the top 300 player seasons in sample, by BPM 2.0's VORP:


Re: Reconstructing Box Plus/Minus

Posted: Tue Nov 12, 2019 4:53 pm
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?

Re: Reconstructing Box Plus/Minus

Posted: Thu Nov 14, 2019 11:44 am
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.

Re: Reconstructing Box Plus/Minus

Posted: Tue Nov 26, 2019 1:39 pm
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.


Re: Reconstructing Box Plus/Minus

Posted: Tue Dec 03, 2019 12:04 am
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.

Re: Reconstructing Box Plus/Minus

Posted: Tue Dec 17, 2019 1:43 pm
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.