Thanks Professor scott
Looking forward to what comes next.
Greetings SpursTalk, I had a curiosity and decided to spend some time in the Stats Lab exploring it.
The Basic Question: Can We Estimate A Player's Trade Value By Using A Statistical Catch-All Metric, Such as DARKO, LEBRON or EPM?
The Short Answer: Yes, with a Fairly Decent Correlation when Adjusting for Other Factors Such as Age and Contract Quality (read more for the juicy details)
This question was spurred on by the various trade idea discussions and the wide range of theoretical trade values for other players along with our own. I thought it would be helpful to have an objective, algorithmic approach that calculates an expected trade value for a player at any given moment in time based strictly on their performance, age, and quality of their contract.
A quick note up top: 20-years ago, when I was an active producer of analytics, I would have been able to do a much more detailed job. But these days in my profession I'm more of a consumer of analytics, and I didn't want to spend too much time trying to build the perfect model. If anyone who loves doing this kind of work wants to team up on this project and maybe ultimately publish something somewhere, I'd be happy to discuss it.
Methodology: I took a look at 23 trades over the past few years, ranging from minor (the most recent Dorian Finney-Smith deal) to major (the KD trade, which has the highest Compensation Score I calculated). I looked at most deadline deals for the last two seasons, incorporated the major deals the Spurs have done in the last few years, and incorporated all of the "Biggest 10 deals in the last 10 years" as reported by Bleacher Report. Some of these trades involve multiple FRPs, some involve minor compensation like a handful of SRPs, and some are player-based compensation.
As you might imagine, there are a lot of variables at play here, and I had to value them all. In the past I would have tried building out an equation and running a regression analysis, but because this was meant to be quick and dirty, I achieved this more with trial and error on building out the values of the variables.
The basic premise of the experiment is this:
You can see that I ended up using LEBRON as my metric, and the reason being is that this is the one that was easiest for me to pull at the time the trade was made. The LEBRON values I used are overall LEBRON in the season in, or immediately preceding, the year the player was traded. I used their LEBRON PERCENTILE RANK as opposed to their raw LEBRON score, because that inherently rates a player's performance relative to every other player in the league.
The idea is that a players value is a function of 3 things 1) their performance (as measured by LEBRON PERCENTILE RANK) 2) their age and 3) the quality of their contract. There is actually a 4th variable here, and that is their role. A player's rating score was also highly dependent on their role. Are they a bench player, a starter or a star? I start with their LEBRON percentage rank, add or subtract points based on which age group they fall into, add or subtract points based on the quality of their contract (good contracts are positive, bad contracts are negative, expiring or appropriate contracts are neutral). Yes, these are SUBJECTIVE - but I tested various values against what gave me the best R-score.
Next, I had to measure the compensation, or the draft score. Various points were awarded for the type of draft compensation (FRPS versus SRPs and Swaps, protections, etc). What I did NOT do (which I think would help) is to try to judge one unprotected FRP versus another based on the expectations of the sending team. That would be helpful, but just too time consuming (and subjective). I also scored the players returning in a trade. A high performing vet is is worth the most, followed by a promising young player, etc.
Results: In the end, I got this scatter plot, with an R-score of over .500, which I was very happy with.
In my model, when we traded DJM he actually had the highest Player Rating Score of any player, based on 1) a very high LEBRON in the preceding year, (97th percentile), his Age (only 25 at the time) and his contract (which I rated Good). Kevin Durant returned the highest Compensation Score of any player (he is the dot at the top where you see the R-score), getting 4 FRPs, 1 Swap, and 2 Promising Young Players (Bridges and Cam Johnson, though I admit perhaps they aren't that young. Moving Bridges to "High Performing Vet" and Cam to "Useful Vet" only has a marginal impact though).
I'm very happy with this R-score, as it suggests a significant correlation between the variables at the values I chose, while still suggesting a degree of variability in the "human" element.
I'm going to let this post marinate for a little while, and hopefully you all find it interesting and comment on it.
Next Steps: Next, I'm going to calculate Player Rating Scores for some players (current Spurs and potential Spurs targets, and then translate that into a predicted Compensation Score. From there, I can put together different ways how that Compensation Score can be achieved. If you have any requests for you players you'd like to see this done for, comment them below! I'll be doing this for Devin Vassell, Jeremy Sochan, Keldon Johnson, DeAaron Fox, Devin Booker, Cam Johnson, and Jonas Valanciunas. Note: if a player has a negative Player Rating Score, I'll just state that and there will be no more point in trying to evaluate them (the model won't work like that).
Cheers.
Thanks Professor scott
Looking forward to what comes next.
So here is what the model outputs as Predicted Compensation Scores. I didn't make any adjustments to the model, though I think I can already see that the model, as it currently stands, overvalues youth. When I scale back those factors, my R-score improves, but I didn't make any of those adjustments for now.
In the far right column, I include a example trade that gets close to their Predicted CompScore (in parenthesis I note what the value of the Example Trade is). Note, this doesn't mean I'm predicting these players would actually fetch that return, that's just what the model says.
Player Player Rating Score Predicted CompScore Example Trade Vassell 31.2 29.8 1 lightly protected FRP, 2 unprotected SRPs (31) Sochan 39.6 34.9 1 Unprotected FRP, 1 Lightly Protected FRP (35) Keldon Johnson 12.2 18.3 2 Unprotected SRP, 1 Protected SRP (18) Fox 96.0 69.13 3 Unprotected FRP, 1 Unprotected Swap, 1 Highly Protected FRP (71) Booker 93 67.31 3 Unprotected FRP, 1 Unprotected Swap (68) Cam Johnson 34.4 31.7 1 Unprotected FRP, 1 Mid Protected FRP, 1 lightly protected FRP Swap (32) Valanciunas 18.2 21.9 3 Unprotected SRPs (24)
Good stuff...
Inspired by the Zach Lavine thread... his Player Rating, via the model, is 18 and would yield a Predicted CompScore of 21.7
So we shouldn't empty the bank for him?
Interesting-
----------------------------------------------
great post....perhaps this could be developed further and be submitted as an article in a journal good Sir......
Thanks Wizard. If I had more time and were younger, I'd probably try to develop this further... but for now I'll just tweak around with various iterations for fun, and test actual trades against my predictions to see how close I am
Well I certainly wouldn't! And that's before factoring in his injury history.
so that means 4 FRP + 1 swap for Fox? That seems like a lot for a guy who has only one year left on his contract after this season
I wouldn't either
Is there a way to add in length of current contract- not sure how you factor this works both ways
It's a half-season less of remaining contract than Bridges had, and a full season less than Siakam had.
Generally speaking, I don't think remaining contract length is that very impactful on trade value except when we are talking about bad contracts (that need to be dumped) or extreme bargain contracts. Players on relative-market appropriate contracts generally have neutral contract value, because they typically end up signing another market-relative contract right after, and teams don't trade for the players without reasonable assurances that they'll extend.
I know data is limited in his case but how does Zion's value compute in this calculation.
Oh that's a good one... I'll calculate that one later. Question for you (or anyone else), would you classify Zion's contract as bad or neutral (or even good maybe, IDK)? Because that would make a big difference.
Neutral. Zions career stat line is 24/6/4 with 58/34/69 shooting splits. Zion's numbers have stayed pretty flat since his rookie season which on one hand shows his absurd natural talent and his lack of work ethic. He needs a wake call but his realistic max potential is a top five guy.
Players with 58% shooting almost 200 games deep into their career's don't come along often. Shaq career FG% was 58%, Kareem 55% and Duncan's was 50.6%. Zion is in very rarified air when on the floor.
Does the team/contract optionality around Zion’s weight/body fat/games missed transfer to the new team if he is traded?
Lol. Yeah he high risk high reward. Still only 24 years old with three years left on his deal after this season. If they include Sochan in the trade they no longer have to put aside 15-22M for his new deal.
Thanks gents, I'll put that together tonight when I'm home (which will be after the game for you mainlanders). I'm expecting the model to tell me he's quite valuable, because my model does not factor injury history or off-the-court things at all.
Great post as always scott, thanks.
While the ship has sailed for this season, indicative value for Lauri M would also be interesting compared to the various offers bandied about here in the off season, and to the likes of Fox now. Might well be relevant again this next off season?
I'll throw that on the list to put together tonight as well. I'll calculate it as of last offseason and as of now (I'm going to view his contract as neutral in both scenarios)
By popular demand:
The model outputs Zion, based on this year's LEBRON (which is admittedly based on a small sample size, but is actually lower than year's past) as a 96 Player Rating and a 69.1 Predicted CompScore, same as Fox. Zion's benefits from getting a youth bonus and his contract being neutral is better than Fox's Max-level contract.
Lauri this year outputs a player rating of 81, and a predicted CompScore of 60. Last season, Lauri had an overall LEBRON percentile rating of 96 and the result was a PlayerRating of 106 and a Predicted CompScore of 75.2. For comparison, that ranks just below Kyrie when he was traded to Dallas and slightly below Mitc when he was traded to CLE (ironically, for Lauri as part of that deal)
You gotta be ting me….. don’t believe your lying eyes!
Interesting...though I think ultimately you just don't know what value other teams put on players and the specific situations of the trade. For example the KD trade only happens cause Ishbia is a brash new owner that wanted to make a splash and thought he could shortcut his way to a le. Hard to quantify something like that, that might not happen again.
I'm pretty sure if someone made a top 10 players who could net value in a trade...nobody would have put Dejounte Murray and Mikal Bridges on that list...until they netted what they did in trades, because the Hawks and Knicks valued those players in a certain way that the teams trading them could extract maximum value.
OKC is another example...it's rare that a team can get a haul like they got for PG because another star states he will only play for a said team if they trade for a said player.
We had another trade, so back testing it against my model, here are the results:
My Model Spits out a 19.8 Player Rating for Nick Richards, which should return a Predicted CompScore of 22.9. Richards went for a net of 2 SRPs and salary filler (Josh Okogie), which is worth 16 Comp Points in my model. If you consider Okogie a "Useful Vet" instead of simply filler, then the Comp Score comes out to 21 points.
My model would have said that Richards is worth somewhere between 2 SRPs + a useful vet or 3 SRPs. Pretty close, tbh.
What would Jarace Walker + Nesmith be worth to us? I.e. what would we have to give assuming Sochan is going out.
There are currently 1 users browsing this thread. (0 members and 1 guests)