Season-by-season production from Pro Football Reference, with fantasy points computed under Superflex PPR (1 PPR · 4 pt pass TD · 6 pt rush/rec TD · −2 INT · −2 fumble). Career totals on the bottom row.
| Year | Team | GP | Tgt | Rec | Rec Yds | Rec TD | Rush Att | Rush Yds | FP |
|---|---|---|---|---|---|---|---|---|---|
| 2019 | SFO | 15 | 81 | 57 | 802 | 3 | 14 | 159 | 185.1 |
| 2020 | SFO | 7 | 44 | 33 | 391 | 1 | 8 | 26 | 80.7 |
| 2021 | SFO | 16 | 121 | 77 | 1405 | 6 | 59 | 365 | 330.0 |
| 2022 | SFO | 13 | 94 | 56 | 632 | 2 | 42 | 232 | 166.4 |
| 2023 | SFO | 15 | 89 | 60 | 892 | 7 | 37 | 225 | 241.7 |
| 2024 | SFO | 15 | 81 | 51 | 670 | 3 | 42 | 136 | 151.6 |
| 2025 | WAS | 15 | 94 | 70 | 707 | 5 | 15 | 74 | 180.1 |
| Career | — | 96 | 604 | 404 | 5499 | 27 | 217 | 1217 | 1335.6 |
The top-10 most similar long-arc NFL players matched by fantasy-point production curve at this career stage. Each comp's "Peak 3yr fp/g" is their best 3-season fp/g average under Superflex PPR (era-pace-adjusted to modern). Similarity is bounded in (0, 1] — 1.0 means an identical career-stage profile vector. "Career" notes the comp's NFL longevity; the washed out badge flags comps whose career ended by age 30 with fewer than 8 NFL seasons (the engine’s bust definition). The ⏳ 1985 badge marks comps whose snapshot season predates 1999 — the corpus now spans 1980-2025, so Payton, Emmitt, Marcus Allen, Rice, Marino-era greats are eligible matches. Pre-1999 comps carry a 0.9× confidence haircut because era-pace adjustment is principled but not perfect.
| Comparable | Pos | Last season | Similarity | Peak 3yr fp/g | Career | Post-age seasons | Career fp | Projected pts |
|---|---|---|---|---|---|---|---|---|
| Demaryius Thomas | WR | 2019 | 0.740 | 17.5 | 10 seasons · ended age 32 | 3 | 1853 | 394 |
| Dez Bryant | WR | 2020 | 0.700 | 16.6 | 9 seasons · ended age 32 | 1 | 1544 | 23 |
| Anquan Boldin | WR | 2016 | 0.686 | 15.7 | 14 seasons · ended age 36 | 7 | 2557 | 1024 |
| Steve Smith | WR | 2016 | 0.682 | 16.4 | 15 seasons · ended age 37 | 8 | 2603 | 1118 |
| Jerry Rice ⏳ 1991 | WR | 2004 | 0.659 | 17.1 | 19 seasons · ended age 42 | 12 | 3719 | 1802 |
| A.J. Green | WR | 2022 | 0.658 | 16.3 | 11 seasons · ended age 34 | 4 | 2002 | 435 |
| Andre Johnson | WR | 2016 | 0.645 | 17.7 | 14 seasons · ended age 35 | 6 | 2484 | 802 |
| Torry Holt | WR | 2009 | 0.639 | 15.7 | 11 seasons · ended age 33 | 4 | 2112 | 669 |
| Alshon Jeffery | WR | 2020 | 0.638 | 15.2 | 9 seasons · ended age 30 | 1 | 1300 | 24 |
| Marques Colston | WR | 2015 | 0.635 | 15.2 | 10 seasons · ended age 32 | 3 | 1866 | 423 |
Every component below is sourced from the engine output
(engine_rankings.json) and the displayed comp table. The
final production score is 906.
fantasy_arc_v2
Projection path: peak_anchored
Comps: 25
Avg similarity (top 20): 0.645
Comp pool washed-out rate: 0% (0/20)
| Step | Value | What it is |
|---|---|---|
| Comp-weighted projection (v3.3 primary) | 664 | Σ (simi × post-age-fpi) / Σ simi. Sanity check from the top-20 row data on this page: 688. This is the “weighted average of the comparable players’ actual realised post-age fantasy points” — Phil's 2026-05-28 brief. |
| Peak-anchored projection | 1,096 | The player's own peak-3yr-fp/g × expected games × horizon × 5%/yr time discount, capped at 1.25× the top single-comp projection. Used as a soft blend for elite-tier producers (60/40 comp-weighted / capped peak) so a Mahomes / Allen isn't fully dragged to the comp-pool mean. |
| Banked-credit floor (diagnostic only) | 1,115 | The v3.1 “dynasty equity” floor = career_total_fp × yrs-rem-weight + recent rate × short forward window. v3.3 no longer lets this override the projection — banked production is already realised, not “remaining.” Shown for transparency. |
| Raw projection (pre-penalty) | 923 | Blended comp-weighted + capped peak-anchored, per the v3.3 methodology described above. |
| × Survival | 0.981 | Multiplier reflecting how many comps washed out by age 30. Today: 1 − 0.5 × bust_rate. |
| × Sample confidence | 1.000 | Shrinks small-sample projections toward the position-tier baseline when raw > baseline; multiplies straight otherwise. = max(906 × confidence + baseline × (1−conf), or 906 × 1.000) when below baseline. |
| × Late-breakout penalty | 1.000 | QB-only. Scales by confidence so unproven late-breakout rookies only pay a fraction of the discount. |
| × Missed-season penalty (v3.3) | 1.000 | Multiplicative haircut for players who didn't play (or only played a partial slate) in the most recent NFL season. 0.70 for a full missed season, 0.85 for <8 games, 0.45 for two+ full missed seasons. played full most-recent season |
| = Final production score | 906 | Drives the player's rank on the Similarity Scores page. |
Want this player ranked under your league's specific scoring + roster rules? Head to Dynasty Rankings.