dba
07-21-2006, 05:45 PM
O.k. kids, geek time.
:nerd: :confused: :dizzy:
Some of you will remember that I made up sprocket points early in the year as a way to measure player productivity and how important that productivity was to the team. The method went through a couple of iterations early on, from just mimicing the scoring scheme used by The Sporting News in its fantasy league to an approach that I thought did a better job of balancing scoring with the other important things a player should do. As with any such scoring, it is limited in content to those statistics that are commonly available for players and teams. As such, it is entirely event focused, only taking into account those discrete events that end up in score sheets (taking a shot, getting a rebound, making a block, etc.).
With a new season looming around the corner I thought it might be a good time to review the formulation of sprocket points and see if there are any improvements to be made. So, if you’re not interested in this kind of thing, head on over to another thread. But if you are, please read on and send back any comments you have. Nothing is set in stone yet, but I do want to determine a method that will remain consistent throughout the entire next season, so now is the time.
There are loads of similar scoring methods that various people use. Just using one of those didn’t seem nearly as much fun as making up my own. The main difference here is that I’ve tried to estimate the value of each of the measured events in terms of points produced or saved. My scoring will tend to place higher values on rebounds, steals, etc. than many other systems. Another difference is that I penalize players for missing shots, with a higher penalty for missing threes than for missing twos.
Available stats -
I usually download stats from www.dougstats.com (http://www.dougstats.com/). It’s the only place I’ve found that provides nice delimited text files that dump easily into Excel. And fortunately the roster of stats provided is also the most comprehensive I’ve seen. The roster of statistics I start with for sprocket points is…
Games played
Games started
Minutes played
Field goals made
Field goals attempted
Three point shots made
Three point shots attempted
Free throws made
Free throws attempted
Offensive rebounds
Total rebounds
Assists
Steals
Turnovers
Blocks
Personal fouls
Disqualifications
Points scored
Technical fouls
Ejections
Flagrant fouls
From these I create shots missed, two point shots, defensive boards, etc. So question one – are there other key statistics that should be included in the scoring? Bear in mind that if wishes were horses then beggars could ride, so feel free to suggest anything you think would make the scoring better, but remember that including it means that I can get my hands on it.
Valuing the stats –
This is the part that gets all subjectively objective. What I do with each event is try to value it in terms of points either directly or potentially produced, or taken away from the opponent. At the end I’ve provided the scoring used this year and the changes I’m considering for next year. Bear the following in mind as you review…
Any event that takes place on the floor will generally have two consequences. For example, making a steal both takes a possession away from the opponent and provides an incremental posession for the stealing team. The steal gives the stealing team incremental in-control time within the game they may use as they wish.
Points win games, but only if the other team doesn’t score more.
Some events have measurable consequences and unmeasureable ones. For example, enough blocked shots can both demoralize a team and change the kinds of shots it takes, generally from less to more difficult since most blocks are close in and therefore higher percentage. You don’t have to look any farther than the Pistons – Heat series to see how good shot blockers can help to take a team out of their offense.
Missing shots can be as detrimental to a team’s performance as making them is beneficial. As with blocks, missed shots can have a long term demoralizing impact. Determining whether things are getting better –
Although sprocket points are a method to evaluate individual players, they can also be used to evaluate teams. When you’re evaluating teams, there is a clear performance standard and that is how many times the team wins. So, I plot team sprocket points versus team winning percentage to determine how predictive the scoring is. Any change to the weights/values should increase the predictive relationship between sprocket points and team winning percentage.
The existing measure correlates with the team winning percentage at 0.7301. (A correlation is a measure that varies between 1 and -1 and estimates how well one variable predicts another. A value of 1 means that you can perfectly predict winning with sprocket points. A value of 0 means that there is no predictive value. Negative values means a higher number of sprocket points results in a lower number of wins.) 0.7301 is pretty good. It means that in a statistical regression sense, sprocket points explain about 53% of the variance in winning percentage.
The new weights improve the variance explained by around 4%. The correlation goes up to 0.7427 and the percentage of variance explained to a bit over 55%.
Note that lots of other things influence winning, so no player/event based measure can predict it all. For example, teams have different schedule strength, different numbers of back to backs, different distances to travel for road games, etc. And remember, that sprocket points are built to measure players and not team performance.
Old and new values for the stats –
Games played
Old weight: 0.0
New weight: 0.0
Rationale – There is more flexibilty in the final score if I do not include games played, but create a second measure of sprocket points per game when needed.
Games started
Old weight: 0.0
New weight: 0.0
Rationale – In general starters are the most productive players on a team so there is no need to bump their production further by including a positive weight for starts. Also, I wouldn’t want the scoring to penalize a non-starter who played starter type minutes – McHale in the old days for Boston, Stackhouse for Dallas last year, etc.
Minutes played
Old weight: 0.0
New weight: 0.0
Rationale – As with games played, leaving minutes out provides more flexibility by allowing a points per minute measure to be computed from the basic sprocket points. This is useful for comparing players who play varying numbers of minutes.
Field goals made
Old weight: 0.0
New weight: 0.0
Rationale – Better to separate out two and three point shots.
Field goals missed
Old weight: 0.0
New weight: 0.0
Rationale – Better to separate out two and three point shots.
Field goals attempted
Old weight: 0.0
New weight: 0.0
Rationale – Better to separate out two and three point shots.
Two point shots made
Old weight: 2.0
New weight: 2.0
Rationale – Seems logical.
Two point shots missed
Old weight: -0.920
New weight: -0.9558
Rationale – The new weight is an updated version using last season’s data. For each two point shot missed, I subtract two points times the league average shooting percentage for a two point shot (0.4779). Basically this says that rather than taking and missing the shot the player could have given the ball up to an average teammate who would have taken a shot valued at 0.9558 points. So, your scoring is devalued if you shoot more poorly than the average NBA player and prized if you shoot at a higher percentage. I wanted to penalize players who take thirty shots to make ten.
Two point shots attempted
Old weight: 0.0
New weight: 0.0
Rationale – Already handled by weighting both shots made and missed.
Three point shots made
Old weight: 3.0
New weight: 3.0
Rationale – Seems logical.
Three point shots missed
Old weight: -1.0820
New weight: -1.0749
Rationale – Same logic as with two point shots. So, if you missed 75% of three pointers taken, you actually lose points in the scoring regardless of how many you make.
Three point shots attempted
Old weight: 0.0
New weight: 0.0
Rationale – Already handled by weighting both shots made and missed.
Free throws made
Old weight: 1.0
New weight: 1.0
Rationale – Seems logical.
Free throws missed
Old weight: -1.0
New weight: -0.7453
Rationale – In the current scoring I basically say that no one should be excused for missing free throws. In the new version I use the same logic as with any shot from the field, subtracting the league average shooting percentage for each missed shot.
Free throws attempted
Old weight: 0.0
New weight: 0.0
Rationale – Already handled by weighting both shots made and missed.
Offensive rebounds
Old weight: 1.35
New weight: 2.2703
Rationale –
Old scoring – 82games says that an offensive board results in a hoop 50.48% of the time. 2.265 points is the average value of a made basket (properly weighting twos and threes). I multiplied .5048 by 2.265 to get 1.1434. Then I added a bit of a kicker for the emotional impact of an offensive board (0.2) to get a weight of 1.35.
New scoring - .5048 * 2.1598 (shooting percentages have gone down) = 1.0903. However, an offensive board also takes away an opponent’s possession. Assuming the opponent gets off an attempt (with the average NBA FGA value of 0.9800), then 1.0903 + 0.9800 = 2.0703. I then add in the 0.2 kicker for a value of 2.2703.
Defensive rebounds
Old weight: 1.3500
New weight: 2.0703
Rationale –
Old scoring – A defensive rebound takes away an offensive rebound from the opponent so the weight is the same as for an offensive board.
New scoring – Again, figured it worked out the same as an offensive board, just in the opposite order, except you’re supposed to get defensive boards so there is no kicker.
Total rebounds
Old weight: 0.0
New weight: 0.0
Rationale – Already handled with the weighting of offensive and defensive boards.
Assists
Old weight: 2.0000
New weight: 2.1598
Rationale – An assist provides a made basket. 2.1598 is the average value for an FGA, properly weighted by the shares of twos and threes.
Steals
Old weight: 2.000
New weight: 1.9600
Rationale – A steal takes away an opponent FGA and provides an FGA for the stealing team. So, 2 times 0.9800 (average value of an FGA) = 1.9600.
Turnovers
Old weight: -2.000
New weight: -1.9600
Rationale – A turnover functions in the same way as a steal, except in the opposite order.
Blocks
Old weight: 2.000
New weight: 2.0527
Rationale – 82games says that a blocked shot had a 62% chance of going in (higher shooting percentage since blocks tend to be closer to the basket). So, a block takes away 0.62 * 2 = 1.24 points from the opponent. 57% of the time the blocking team gets possession (often the block goes out of bounds or is picked up by the offense). So, 57% of the time a block provides an FGA and 0.57 * 1.0749 (average value of FGA) = 0.6127. Summing, the total value of a block is 1.8527. I then add 0.2 for residual intimidation for a total of 2.0527.
Personal fouls
Old weight: -1.000
New weight: -0.6921
Rationale – I didn’t have data to tell me what percent of fouls result in zero, one, or two free throws. However, I know the average team commits about 28 fouls per game. I rather imperiously decided that 12 were not shooting fouls, leaving 16 fouls that resulted in free throws. Continuing to legislate, I decided 10 of those were two shot fouls and 6 one shot fouls. Putting all that together with the average free throw shooting percentage, the average points given up for a foul are 0.6921.
Disqualifications
Old weight: 0.0
New weight: 0.0
Rationale – Without some notion of minutes left in the game, seemed pointless to try and value.
Points scored
Old weight: 0.0
New weight: 0.0
Rationale – Already handled in the scoring of field goals and free throws.
Technical fouls
Old weight: -1.000
New weight: -1.000
Rationale – It’s generally the other teams best shooter so I penalized one point for every technical.
:nerd: :confused: :dizzy:
Some of you will remember that I made up sprocket points early in the year as a way to measure player productivity and how important that productivity was to the team. The method went through a couple of iterations early on, from just mimicing the scoring scheme used by The Sporting News in its fantasy league to an approach that I thought did a better job of balancing scoring with the other important things a player should do. As with any such scoring, it is limited in content to those statistics that are commonly available for players and teams. As such, it is entirely event focused, only taking into account those discrete events that end up in score sheets (taking a shot, getting a rebound, making a block, etc.).
With a new season looming around the corner I thought it might be a good time to review the formulation of sprocket points and see if there are any improvements to be made. So, if you’re not interested in this kind of thing, head on over to another thread. But if you are, please read on and send back any comments you have. Nothing is set in stone yet, but I do want to determine a method that will remain consistent throughout the entire next season, so now is the time.
There are loads of similar scoring methods that various people use. Just using one of those didn’t seem nearly as much fun as making up my own. The main difference here is that I’ve tried to estimate the value of each of the measured events in terms of points produced or saved. My scoring will tend to place higher values on rebounds, steals, etc. than many other systems. Another difference is that I penalize players for missing shots, with a higher penalty for missing threes than for missing twos.
Available stats -
I usually download stats from www.dougstats.com (http://www.dougstats.com/). It’s the only place I’ve found that provides nice delimited text files that dump easily into Excel. And fortunately the roster of stats provided is also the most comprehensive I’ve seen. The roster of statistics I start with for sprocket points is…
Games played
Games started
Minutes played
Field goals made
Field goals attempted
Three point shots made
Three point shots attempted
Free throws made
Free throws attempted
Offensive rebounds
Total rebounds
Assists
Steals
Turnovers
Blocks
Personal fouls
Disqualifications
Points scored
Technical fouls
Ejections
Flagrant fouls
From these I create shots missed, two point shots, defensive boards, etc. So question one – are there other key statistics that should be included in the scoring? Bear in mind that if wishes were horses then beggars could ride, so feel free to suggest anything you think would make the scoring better, but remember that including it means that I can get my hands on it.
Valuing the stats –
This is the part that gets all subjectively objective. What I do with each event is try to value it in terms of points either directly or potentially produced, or taken away from the opponent. At the end I’ve provided the scoring used this year and the changes I’m considering for next year. Bear the following in mind as you review…
Any event that takes place on the floor will generally have two consequences. For example, making a steal both takes a possession away from the opponent and provides an incremental posession for the stealing team. The steal gives the stealing team incremental in-control time within the game they may use as they wish.
Points win games, but only if the other team doesn’t score more.
Some events have measurable consequences and unmeasureable ones. For example, enough blocked shots can both demoralize a team and change the kinds of shots it takes, generally from less to more difficult since most blocks are close in and therefore higher percentage. You don’t have to look any farther than the Pistons – Heat series to see how good shot blockers can help to take a team out of their offense.
Missing shots can be as detrimental to a team’s performance as making them is beneficial. As with blocks, missed shots can have a long term demoralizing impact. Determining whether things are getting better –
Although sprocket points are a method to evaluate individual players, they can also be used to evaluate teams. When you’re evaluating teams, there is a clear performance standard and that is how many times the team wins. So, I plot team sprocket points versus team winning percentage to determine how predictive the scoring is. Any change to the weights/values should increase the predictive relationship between sprocket points and team winning percentage.
The existing measure correlates with the team winning percentage at 0.7301. (A correlation is a measure that varies between 1 and -1 and estimates how well one variable predicts another. A value of 1 means that you can perfectly predict winning with sprocket points. A value of 0 means that there is no predictive value. Negative values means a higher number of sprocket points results in a lower number of wins.) 0.7301 is pretty good. It means that in a statistical regression sense, sprocket points explain about 53% of the variance in winning percentage.
The new weights improve the variance explained by around 4%. The correlation goes up to 0.7427 and the percentage of variance explained to a bit over 55%.
Note that lots of other things influence winning, so no player/event based measure can predict it all. For example, teams have different schedule strength, different numbers of back to backs, different distances to travel for road games, etc. And remember, that sprocket points are built to measure players and not team performance.
Old and new values for the stats –
Games played
Old weight: 0.0
New weight: 0.0
Rationale – There is more flexibilty in the final score if I do not include games played, but create a second measure of sprocket points per game when needed.
Games started
Old weight: 0.0
New weight: 0.0
Rationale – In general starters are the most productive players on a team so there is no need to bump their production further by including a positive weight for starts. Also, I wouldn’t want the scoring to penalize a non-starter who played starter type minutes – McHale in the old days for Boston, Stackhouse for Dallas last year, etc.
Minutes played
Old weight: 0.0
New weight: 0.0
Rationale – As with games played, leaving minutes out provides more flexibility by allowing a points per minute measure to be computed from the basic sprocket points. This is useful for comparing players who play varying numbers of minutes.
Field goals made
Old weight: 0.0
New weight: 0.0
Rationale – Better to separate out two and three point shots.
Field goals missed
Old weight: 0.0
New weight: 0.0
Rationale – Better to separate out two and three point shots.
Field goals attempted
Old weight: 0.0
New weight: 0.0
Rationale – Better to separate out two and three point shots.
Two point shots made
Old weight: 2.0
New weight: 2.0
Rationale – Seems logical.
Two point shots missed
Old weight: -0.920
New weight: -0.9558
Rationale – The new weight is an updated version using last season’s data. For each two point shot missed, I subtract two points times the league average shooting percentage for a two point shot (0.4779). Basically this says that rather than taking and missing the shot the player could have given the ball up to an average teammate who would have taken a shot valued at 0.9558 points. So, your scoring is devalued if you shoot more poorly than the average NBA player and prized if you shoot at a higher percentage. I wanted to penalize players who take thirty shots to make ten.
Two point shots attempted
Old weight: 0.0
New weight: 0.0
Rationale – Already handled by weighting both shots made and missed.
Three point shots made
Old weight: 3.0
New weight: 3.0
Rationale – Seems logical.
Three point shots missed
Old weight: -1.0820
New weight: -1.0749
Rationale – Same logic as with two point shots. So, if you missed 75% of three pointers taken, you actually lose points in the scoring regardless of how many you make.
Three point shots attempted
Old weight: 0.0
New weight: 0.0
Rationale – Already handled by weighting both shots made and missed.
Free throws made
Old weight: 1.0
New weight: 1.0
Rationale – Seems logical.
Free throws missed
Old weight: -1.0
New weight: -0.7453
Rationale – In the current scoring I basically say that no one should be excused for missing free throws. In the new version I use the same logic as with any shot from the field, subtracting the league average shooting percentage for each missed shot.
Free throws attempted
Old weight: 0.0
New weight: 0.0
Rationale – Already handled by weighting both shots made and missed.
Offensive rebounds
Old weight: 1.35
New weight: 2.2703
Rationale –
Old scoring – 82games says that an offensive board results in a hoop 50.48% of the time. 2.265 points is the average value of a made basket (properly weighting twos and threes). I multiplied .5048 by 2.265 to get 1.1434. Then I added a bit of a kicker for the emotional impact of an offensive board (0.2) to get a weight of 1.35.
New scoring - .5048 * 2.1598 (shooting percentages have gone down) = 1.0903. However, an offensive board also takes away an opponent’s possession. Assuming the opponent gets off an attempt (with the average NBA FGA value of 0.9800), then 1.0903 + 0.9800 = 2.0703. I then add in the 0.2 kicker for a value of 2.2703.
Defensive rebounds
Old weight: 1.3500
New weight: 2.0703
Rationale –
Old scoring – A defensive rebound takes away an offensive rebound from the opponent so the weight is the same as for an offensive board.
New scoring – Again, figured it worked out the same as an offensive board, just in the opposite order, except you’re supposed to get defensive boards so there is no kicker.
Total rebounds
Old weight: 0.0
New weight: 0.0
Rationale – Already handled with the weighting of offensive and defensive boards.
Assists
Old weight: 2.0000
New weight: 2.1598
Rationale – An assist provides a made basket. 2.1598 is the average value for an FGA, properly weighted by the shares of twos and threes.
Steals
Old weight: 2.000
New weight: 1.9600
Rationale – A steal takes away an opponent FGA and provides an FGA for the stealing team. So, 2 times 0.9800 (average value of an FGA) = 1.9600.
Turnovers
Old weight: -2.000
New weight: -1.9600
Rationale – A turnover functions in the same way as a steal, except in the opposite order.
Blocks
Old weight: 2.000
New weight: 2.0527
Rationale – 82games says that a blocked shot had a 62% chance of going in (higher shooting percentage since blocks tend to be closer to the basket). So, a block takes away 0.62 * 2 = 1.24 points from the opponent. 57% of the time the blocking team gets possession (often the block goes out of bounds or is picked up by the offense). So, 57% of the time a block provides an FGA and 0.57 * 1.0749 (average value of FGA) = 0.6127. Summing, the total value of a block is 1.8527. I then add 0.2 for residual intimidation for a total of 2.0527.
Personal fouls
Old weight: -1.000
New weight: -0.6921
Rationale – I didn’t have data to tell me what percent of fouls result in zero, one, or two free throws. However, I know the average team commits about 28 fouls per game. I rather imperiously decided that 12 were not shooting fouls, leaving 16 fouls that resulted in free throws. Continuing to legislate, I decided 10 of those were two shot fouls and 6 one shot fouls. Putting all that together with the average free throw shooting percentage, the average points given up for a foul are 0.6921.
Disqualifications
Old weight: 0.0
New weight: 0.0
Rationale – Without some notion of minutes left in the game, seemed pointless to try and value.
Points scored
Old weight: 0.0
New weight: 0.0
Rationale – Already handled in the scoring of field goals and free throws.
Technical fouls
Old weight: -1.000
New weight: -1.000
Rationale – It’s generally the other teams best shooter so I penalized one point for every technical.