This repo compiles information from three data sources to generate custom rankings for fantasy football "snake" drafts.
Insights are combined from market trends (ADP), player fundamentals (model-based), and durability scores (age/injury risk) in the following weighted manner:
- Market Insight (60%) - how high is this player drafted in other leagues?
- Fundamentals (30%) - what does the player's recent history over the past two seasons predict about the upcoming one?
- Durability (10%) - heuristic penalties for players who missed substantial time in any recent season, or for older players.
After running create.R, final rankings will be stored as a comma-separated values (CSV) file. The Composite Score (last column of rankings.csv) is the weighted sum of individual component ranks (ADP rank, Fundamentals rank, and Durability rank). This list can feed into a customized draft strategy or sorted for an "auto-pick" strategy.
This pipeline runs in R with required packages installed (data.table, stringr, caret). It does not consider recent news of injuries or suspensions, nor does it properly adjust for team makeup. For example, in leagues with starting lineups permitting two wide receivers, two running backs, and one quarterback, an optimal draft strategy might de-prioritize QBs even when they are ranked higher than RBs/WRs, due to the relative scarcity of high-performance offensive talent.
ADP: Average draft position. For a given player, this is the average position in which they are drafted, across thousands of leagues. Note, ADP should be specific to the league size (# of teams) and rules (PPR vs. no-PPR).
CompositeScore = Weight[ADP] * ADP_Rank + Weight[Trend] * Trend_Rank + Weight[Age] * Age_Rank
Recommended steps:
- Download the repository as a ZIP file.
- Upload the entire repo to Chat GPT and ask it to make modifications based on your leagues rules, or your desired strategy.
- Test the results, either using external validation or mock draft simulator, to ensure you're satisfied with the final rankings.