Frequently Asked Questions
Last Updated: 2020 June 25
What are these values?
These numbers are an attempt to sum up what the fantasy community thinks is the long term value of any given player in a single number, for use in direct comparison with other players in trades.
Where does it come from?
The values are created by scraping FantasyPros Dynasty Expert Consensus Ranks (ECR) and converting the values along an exponential decay curve. It is inspired by the same methods as was used by dynastyfftools.com. Most dynasty value calculators (i.e. DynastyTradeCalculator.com, DynastyLeagueFootball.com) pass their own personal rankings through a similar exponential curve to generate their trade values, plus or minus some pre/post-processing.
Where do the rookie pick values come from?
Rookie pick values are a blend of two rookie pick models - Perfect Knowledge and Hit Rate. Both are GAM models trained on “what is the dynasty value of a player taken at this draft slot Y1 and Y2” and then blended at a ratio - in the calculator app, the ratio is chosen by the user and otherwise is preset at 80%.
If you’re reading this and you’d like to read more about the modelling, please ping me on Twitter and remind me that I wanted to write an article on this eventually!
The below is included as “legacy” thoughts - it describes the process behind my initial methodology for “Perfect Knowledge”.
*Rookie Pick Values are generated by taking a weighted average of the nth highest player’s value from recent draft classes. For example, the 1.03 is generated by taking the 3rd highest ranked player from each of the 2018, 2017, 2016, and 2015 classes and averaging their values according to selected weights.
This gives a ceiling estimate of what the rookie pick value can be, because it suggests that the 3rd best rookie pick in a draft is valued as an average of the 3rd best player of each of the past few classes. Is the ceiling really the best way to value a rookie pick? Dynasty owners tend to be drawn to the new and exciting, and for the most part overestimate or ignore rookie hit rates. The average trade involving rookie picks values picks at their full potential - far less often do you see trades where picks are valued at any kind of realistic hit-rate.
Why should the #2 pick be worth more than the #2 ranked prospect for any given year? In short, flexibility. Like the popular axiom about new cars being driven off the lot, a draft pick loses value the moment it is converted into a rookie player. Take the 2018 class for example: the consensus 1.02 was considered to be Derrius Guice - but many rankers preferred Rashaad Penny, Nick Chubb, or Sony Michel to Guice. 1.02 gives you the flexibility to take the best player available in your opinion - but the moment you convert it to Guice, all of Guice’s downside becomes baked into his value.
How are the classes weighted? In general, there’s a recency effect - if last year’s rookie players do extremely well, rookie pick values tend to increase (cc the 2017 class) and vice versa. The class weightings also take into account FantasyPros confidence levels - if the incoming rookie class is accurately ranked by a large sample of FantasyPros dynasty analysts, we can take their rankings as a stronger signal of rookie pick values. Before the NFL draft, however, a very small sample of dynasty analysts even rank the rookies, so it’s much more difficult to rely on these ranks.
How are future draft picks rated relative to current year draft picks? It’s a fairly straightforward present-value calculation - borrowing from DFT, it’s 80% of the current year’s value.*
Where do the 2QB values come from?
Unfortunately for the 2QB contingent of dynasty fantasy owners, FantasyPros does not aggregate 2QB rankings. Rather than relying on a much smaller sample size/source for 2QB rankings, I’ve used a LOESS regression analysis comparing 1QB and 2QB overall ADP (borrowing the latter from DLF via Mizelle) to figure out an algorithm to convert FantasyPros 1QB overall rankings to a 2QB equivalent. This effectively reshuffles the positions in such a way that the rankings apply for 2QB/SuperFlex systems.
How do you use these values?
I’ve written a number of Google Sheets that reference these values, that automatically update to the latest version of these values as they are updated. You can build your own Google Sheets that reference these values by using the IMPORTRANGE function built into Google Sheets.
I recently renamed some of the columns in the values table (as of May 2020) and don’t anticipate these changing again in the near future, but sometimes these changes may need to happen!
Can you give us the specific algorithm you use?
Sure! The basic value equation is
Value = 10500 * e^(FP ECR*-0.0235). If customizing for yourself, you can modify the valuation factor (i.e. -0.0235) to be higher or lower depending on how your league values depth (e.g. -0.0220 would value depth more highly and -0.0250 values studs more highly). Be careful with big adjustments - exponential decay functions make fractions of decimals have a large impact!
A LOESS regression doesn’t provide a convenient equation, so I don’t have as easy an equivalent to post here. You may find the legacy equations helpful, they are included here and were initially created in 2017:
`QB = 0.0122*([1QB ECR]^1.7139)`
`RB = 1.539*([1QB ECR]^0.9626)`
`WR = 1.4948*([1QB ECR]^0.9689)`
`TE = 1.6367*([1QB ECR]^0.9498)`
Where are some of the weak spots of this kind of value system?
This valuation system relies on some bedrock resources and assumptions.
First and foremost, we are assuming that FantasyPros Expert Consensus Rankings are an accurate way to determine how players are valued long-term in dynasty leagues. This isn’t necessarily a poor assumption, but does make us dependent on what they give us (12 team PPR dynasty rankings). An alternative source of data is ADP, as has been explored in detail by Nick Sarlo of DynastyFFTools.
A more pressing concern is the applicability of this value system to your league. This value chart makes assumptions about how positions are valued relative to each other, how depth players are valued relative to elite studs, and how youth is valued relative to age. This chart printout assumes what FantasyPros assumes: a typical 12 team PPR league starting QB/RB/RB/WR/WR/TE/FLEX/FLEX rostering about 300 players. We could modify the algorithm to change the way depth is valued (changing the coefficient -0.0235 to be smaller or larger to increase/decrease the value of depth), to change the way positions are valued (applying a custom transformation to ECR), or to change the way age is valued (applying a modifier based on player age). Unfortunately, that kind of customizability isn’t available in a single Google Sheet - but would be possible in a web app!
There are probably better (or different) ways to calculate long-term player value, possibly using expected value over replacement as suggested by Adam Harstad. This is definitely on my project list!