Evaluating Every Player's Trade Value
Posted: Tue Feb 21, 2017 6:43 pm
Introduction:
So as I have been exploring RealGM's trade and transaction board (as well as playing GMAT), I've been experimenting with a way to evaluate every player's trade value. It's rough around the edges, but I thought I would share with the Statistical Analysis board.
The Brief Version
I have been using 538's "CARMELO NBA Player Projections" to predict players' career paths. CARMELO identifies similar players throughout NBA history and uses them to develop a probabilistic forecast of what a current NBA player’s future might look like using the WAR (Wins Above Replacement) statistic. By evaluating a player's actual WAR for the 2017 season (which is merely estimated on 538's CARMELO page), I can adjust 538's projected career path to reflect the player's progress this season.
Using a formula (detailed later) which accounts for current skill, potential, and contract value, I am attempting to create a guideline for player trade value. Here's some of the values I get:
LeBron James 14.35959336
Kyrie Irving 7.404565798
Kevin Love 3.715711551
Tristan Thompson 3.293100909
Iman Shumpert 1.755131123
Richard Jefferson -0.572793939
Kyle Korver 0.555347594
Jordan McRae 0.047216364
Karl Anthony Towns 15.81312608
Andrew Wiggins 2.381084545
Ricky Rubio 3.628474332
Zach Lavine 3.439326992
Kris Dunn 4.834291424
Gorgui Dieng 3.921818182
Tyus Jones 0.980515455
Shabazz Muhammad -0.465694683
The idea is that you can add any of these players value together to get the value of another player. (ie. Tristan Thompson + Kyle Korver = Kevin Love)
Advanced Details:
I've found that you can multiply VORP (found on basketball-reference) by aprox. 2.2 and achieve the "WAR" stat that CARMELO uses in it's projections.
NOTE: VORP and WAR are NOT like PER w/ an "average" of 0. Rather, players accumulate VORP over the course of the season. If a player missed significant time in a season, his VORP (and thus WAR) will be affected negatively. I normally try to offset this by dividing the player's WAR by the # of games player that season, and then multiplying that number by 70 to get a figure for a 70 game season.
The WAR is going to be the basis of player value.
Using the formula (A=2016-17 WAR, B=2017-18 WAR, etc): ((A*10)+(B*8)+(C*6)+(D*4)+(E*3)+(F*2))/33 we can get a "Raw Value" score.
For example,
Dwight Howard's projected WAR for the next six seasons: 5.4, 5, 4.6, 2.2, 1.7, 1.5. Plug that in and get a raw score of 4.20.
Kristaps Porzingis projected WAR for the next six seasons: 2.5, 4.5, 5.3, 5.7, 5.9, 6. Plug that in and get a raw score of 4.40.
Obviously, these numbers aren't correct. (Hopefully) no team in the NBA would trade Kristaps Porzingis for Dwight Howard.
Another adjustment needs to be made -- an adjustment for contract value.
This is done by assuming that every "win" is worth $5.25M (taken (but adjusted) from the "The Fine Print" on 538).
Project the value for both Dwight Howard and Kristaps Porzingis.
Dwight Howard:
Projected Value: 28.35M, 26.25M, 24.15M, 11.55M, 8.93M, 7.87M
Actual Contract: 23.18M, 23.5M, 23.83M
Contract Value: +5.17M, +2.75M, +0.32M
Kristaps Porzingis:
Projected Value: 13.13M, 23.63M, 27.83M, 29.93M, 30.98M, 31.5M
Actual Contract: 4.32M, 4.5M, 5.7M
Contract Value: +8.81M, +19.13M, +22.13M
To find total contract value score, add all of the years’ values together (minus the first year [see below]) and divide by 30.
Dwight Howard: 0.1023 contract score
Kristaps Porzingis: 1.3753 contract score.
*I’ve elected to ignore the first year of contract value to offset two different things:
1: Players on negative value contracts who are expiring (an expiring negative contract is almost a positive)
2: Players on positive value contracts who are expiring (we can expect they will sign for their market value and their value this season isn’t relelvent)
Now we can solve for the Player Value using the following formula:
(raw score + contract score) * 1.2
Dwight Howard Player Value:
(4.20+0.1023)*1.2 = 5.16276
Kristaps Porzingis Player Value:
(4.40+1.3753)*1.2 = 6.93036
I believe this reflects their true player value. Kristaps is obviously more valuable due to his potential as a future All Star. HOWEVER, these players don’t always pan out, so he is not miles ahead of Dwight, who has had a resurgence year in ATL.
From the sample of players I have given above, the difference between a Dwight Howard and Kristaps Porzingis is about an Imam Shumpert. So, Dwight + Iman for Kristaps is an even value trade.
I'm not quite sure how to deal with these numbers yet. Obviously it heavily relies on how you come up with a players "raw score" by weighting different season's projected WAR ratings (rebuilding teams heavily favor later years), but I think even the "default" formula (which is the one I have listed) favors winning now more.
-
**The formula for raw score can be adjusted based on a teams needs. For example, a “win-now” team will value this and maybe next year the most. A rebuilding team will focus on the future more.
See above for player scores.
What do you think?
So as I have been exploring RealGM's trade and transaction board (as well as playing GMAT), I've been experimenting with a way to evaluate every player's trade value. It's rough around the edges, but I thought I would share with the Statistical Analysis board.
The Brief Version
I have been using 538's "CARMELO NBA Player Projections" to predict players' career paths. CARMELO identifies similar players throughout NBA history and uses them to develop a probabilistic forecast of what a current NBA player’s future might look like using the WAR (Wins Above Replacement) statistic. By evaluating a player's actual WAR for the 2017 season (which is merely estimated on 538's CARMELO page), I can adjust 538's projected career path to reflect the player's progress this season.
Using a formula (detailed later) which accounts for current skill, potential, and contract value, I am attempting to create a guideline for player trade value. Here's some of the values I get:
LeBron James 14.35959336
Kyrie Irving 7.404565798
Kevin Love 3.715711551
Tristan Thompson 3.293100909
Iman Shumpert 1.755131123
Richard Jefferson -0.572793939
Kyle Korver 0.555347594
Jordan McRae 0.047216364
Karl Anthony Towns 15.81312608
Andrew Wiggins 2.381084545
Ricky Rubio 3.628474332
Zach Lavine 3.439326992
Kris Dunn 4.834291424
Gorgui Dieng 3.921818182
Tyus Jones 0.980515455
Shabazz Muhammad -0.465694683
The idea is that you can add any of these players value together to get the value of another player. (ie. Tristan Thompson + Kyle Korver = Kevin Love)
Advanced Details:
I've found that you can multiply VORP (found on basketball-reference) by aprox. 2.2 and achieve the "WAR" stat that CARMELO uses in it's projections.
NOTE: VORP and WAR are NOT like PER w/ an "average" of 0. Rather, players accumulate VORP over the course of the season. If a player missed significant time in a season, his VORP (and thus WAR) will be affected negatively. I normally try to offset this by dividing the player's WAR by the # of games player that season, and then multiplying that number by 70 to get a figure for a 70 game season.
The WAR is going to be the basis of player value.
Using the formula (A=2016-17 WAR, B=2017-18 WAR, etc): ((A*10)+(B*8)+(C*6)+(D*4)+(E*3)+(F*2))/33 we can get a "Raw Value" score.
For example,
Dwight Howard's projected WAR for the next six seasons: 5.4, 5, 4.6, 2.2, 1.7, 1.5. Plug that in and get a raw score of 4.20.
Kristaps Porzingis projected WAR for the next six seasons: 2.5, 4.5, 5.3, 5.7, 5.9, 6. Plug that in and get a raw score of 4.40.
Obviously, these numbers aren't correct. (Hopefully) no team in the NBA would trade Kristaps Porzingis for Dwight Howard.
Another adjustment needs to be made -- an adjustment for contract value.
This is done by assuming that every "win" is worth $5.25M (taken (but adjusted) from the "The Fine Print" on 538).
Project the value for both Dwight Howard and Kristaps Porzingis.
Dwight Howard:
Projected Value: 28.35M, 26.25M, 24.15M, 11.55M, 8.93M, 7.87M
Actual Contract: 23.18M, 23.5M, 23.83M
Contract Value: +5.17M, +2.75M, +0.32M
Kristaps Porzingis:
Projected Value: 13.13M, 23.63M, 27.83M, 29.93M, 30.98M, 31.5M
Actual Contract: 4.32M, 4.5M, 5.7M
Contract Value: +8.81M, +19.13M, +22.13M
To find total contract value score, add all of the years’ values together (minus the first year [see below]) and divide by 30.
Dwight Howard: 0.1023 contract score
Kristaps Porzingis: 1.3753 contract score.
*I’ve elected to ignore the first year of contract value to offset two different things:
1: Players on negative value contracts who are expiring (an expiring negative contract is almost a positive)
2: Players on positive value contracts who are expiring (we can expect they will sign for their market value and their value this season isn’t relelvent)
Now we can solve for the Player Value using the following formula:
(raw score + contract score) * 1.2
Dwight Howard Player Value:
(4.20+0.1023)*1.2 = 5.16276
Kristaps Porzingis Player Value:
(4.40+1.3753)*1.2 = 6.93036
I believe this reflects their true player value. Kristaps is obviously more valuable due to his potential as a future All Star. HOWEVER, these players don’t always pan out, so he is not miles ahead of Dwight, who has had a resurgence year in ATL.
From the sample of players I have given above, the difference between a Dwight Howard and Kristaps Porzingis is about an Imam Shumpert. So, Dwight + Iman for Kristaps is an even value trade.
I'm not quite sure how to deal with these numbers yet. Obviously it heavily relies on how you come up with a players "raw score" by weighting different season's projected WAR ratings (rebuilding teams heavily favor later years), but I think even the "default" formula (which is the one I have listed) favors winning now more.
-
**The formula for raw score can be adjusted based on a teams needs. For example, a “win-now” team will value this and maybe next year the most. A rebuilding team will focus on the future more.
See above for player scores.
What do you think?