Everyone has a WR ranking. Underdog has one, KTC has one, FantasyCalc has one, the industry analysts have one, your friend who won last year has one. What most of them do not have is a defensible metric that predicts future performance better than draft position does. That is what we tried to build with Receiver Score.
The core problem with WR evaluation is that the counting stats (targets, catches, yards, TDs) reward volume more than skill. A WR on a good passing offense will beat a WR on a bad passing offense even if the second guy is more talented, because volume creates opportunity. The advanced metrics (YPRR, WOPR, aDOT, separation) each capture a piece of the picture but individually miss things.
What we wanted: a single 100-point score for every WR that combines the useful signal from all of these, weighted by how predictive each one actually is, so we can rank WRs by expected forward performance rather than backward-looking counting stats.
A weighted composite of four component scores, each on a 0-100 scale:
Weights were tuned empirically against a 5-year sample of next-year finish. We tried equal-weight (worse), opportunity-only (worse), efficiency-only (much worse), and the current 40/30/20/10 (best in our sample).
Testing against 2020-2024 seasons (predict year N+1 fantasy PPG from year N Receiver Score):
| Method | R² (next-year PPG) | Top-24 hit rate |
|---|---|---|
| ADP alone | 0.31 | 48% |
| Previous year PPG | 0.37 | 54% |
| YPRR alone | 0.29 | 47% |
| WOPR alone | 0.34 | 51% |
| Receiver Score | 0.44 | 61% |
To be clear: 0.44 R² is not "solved". Fantasy is inherently noisy — coaching changes, offensive line shifts, injuries, and target competition all move the needle. But 0.44 vs ADP's 0.31 means Receiver Score explains ~40% more of the variance than the market. That gap is the edge.
Being honest about what does not work is more useful than the wins.
Receiver Score needs a full season of NFL data to compute, so it says nothing about rookies. We use a separate rookie model (draft capital, college production, athletic profile) for those.
Second-year WRs on new offenses (new QB, new OC, or first year with expanded snap share) systematically outperform their year-1 Receiver Score. The model does not currently know about coaching-change context. Working on it.
If a WR's team upgrades from a bottom-tier QB to a top-tier one, they get a positive tailwind we do not capture. Same for downgrades. Any offseason QB change is a manual adjustment.
A WR who played 6 games has a noisy score. We flag any player under 10 games as low-confidence. Use their season-2 score with caution.
Every WR profile on tradyr.app shows the current Receiver Score plus the component breakdown. The Receiver Lab shows the full board with sortable columns for each component. Both are free.
Feedback welcome. If you find a case where the score is obviously wrong, DM me on Twitter and I will look at what the model is missing.