All articles

What Receiver Score Actually Predicts — The Metric That Beat ADP

EN Eric Nelson · @Eric_Nelson__ · · 8 min read

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.

What we were trying to solve

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.

What Receiver Score is

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).

What it predicts, in numbers

Testing against 2020-2024 seasons (predict year N+1 fantasy PPG from year N Receiver Score):

MethodR² (next-year PPG)Top-24 hit rate
ADP alone0.3148%
Previous year PPG0.3754%
YPRR alone0.2947%
WOPR alone0.3451%
Receiver Score0.4461%

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.

Where the model still misses

Being honest about what does not work is more useful than the wins.

Rookies

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 breakouts

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.

QB changes

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.

Injury-shortened seasons

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.

How to actually use it

Where to find it

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.

Related

Share: Twitter Feedback to @Eric_Nelson__