A wide receiver who contributed in a defined role. Their developmental reflects a career built on specific contributions rather than volume.
The full season-by-season grids, joined on one timeline. Every selected stat family stays visible at once—no tab hopping.
| Season | Age | Team | G | GS | Receiving | Snap Counts | Advanced (EPA) | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tgt | Rec | Yds | TD | Ctch% | Y/R | Y/Tgt | AirYd/T | 1D | Off | Off% | Def | Def% | ST | ST% | Pass EPA | Rush EPA | Rec EPA | Pass AirYd | Rec AirYd | |||||
| 2015 | — | NE | 3 | — | 3 | 1 | 6 | 0 | 33.3% | 6.0 | 2.0 | — | 0 | 67 | 21.6% | — | 0.0% | 9 | 12.5% | — | — | — | — | — |
| 2015 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -2.9 | 0 | 56 |
| 2016 | — | SF | 8 | — | 21 | 13 | 133 | 0 | 61.9% | 10.2 | 6.3 | — | 6 | 230 | 41.2% | — | 0.0% | 2 | 3.0% | — | — | — | — | — |
| 2016 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 8.2 | 0 | 141 |
| Career | — | 11 | — | 24 | 14 | 139 | 0 | 58.3% | 9.9 | 5.8 | — | 6 | 297 | 31.4% | — | 0.0% | 11 | 7.8% | — | — | 5.3 | 0 | 197 | |
| Season | Age | Team | G | GS | Tgt | Rec | Yds | TD | Ctch% | Y/R | Y/Tgt | AirYd/T | 1D | VAL |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2015 | 22 | NE | 3 | 0* | 3 | 1 | 6 | 0 | 33.3% | 6.0 | 2.0 | — | 0 | — |
| 2016 | 23 | SF | 8 | 0* | 21 | 13 | 133 | 0 | 61.9% | 10.2 | 6.3 | — | 6 | 2.1 |
| Career | 11 | 24 | 14 | 139 | 0 | 58.3% | 9.9 | 5.8 | — | 6 | 2.1 |
* GS not available from free sources — SG* estimated from snap share (nflverse 2012+)
| Season | Age | Team | G | GS | Off | Off% | Def | Def% | ST | ST% |
|---|---|---|---|---|---|---|---|---|---|---|
| 2015 | 22 | NE | 5 | 0* | 67 | 21.6% | — | 0.0% | 9 | 12.5% |
| 2016 | 23 | SF | 9 | 0* | 230 | 41.2% | — | 0.0% | 2 | 3.0% |
| Career | 14 | 297 | — | — | — | 11 | — |
* GS not available from free sources — SG* estimated from snap share (nflverse 2012+)
| Season | Age | Team | G | GS | Pass EPA | Rush EPA | Rec EPA | Pass AirYd | Rec AirYd |
|---|---|---|---|---|---|---|---|---|---|
| 2015 | 22 | — | — | 0* | — | — | -2.9 | 0 | 56 |
| 2016 | 23 | — | — | 0* | — | — | 8.2 | 0 | 141 |
| Career | — | — | — | 0 | 197 |
* GS not available from free sources — SG* estimated from snap share (nflverse 2012+)
A depth / rotational career by KV-H: a remarkably steady profile that scores 28 of 100, era-normalized against rec yds/g peers across 1 scored season, with a short career trimming the score.
Blend 39 × longevity 0.72 = KV-H 28· confidence 100%
Season-by-season quality (era-relative rec yds/g)
Reached 1% of the all-time Receptions leader — a rotational/depth all-time profile at the position.
A 0–100 scale where 100 = matched the all-time leaderat this position. Built only from visible encyclopedia data — career production vs. the all-time leader, plus efficiency (EPA) and comparable-player confidence — so it's a transparent context score, not a subjective rating. Tiers: Elite ≥ 85 · Strong ≥ 65 · Solid ≥ 45 · Depth < 45. Comparable-player confidence: 91%.
Production per snap — the box score normalized by opportunity. SIS is z-scored within wide receivers, shrinkage-regularized so small samples don't spike, over the NFL snap-count era (2012+).
College stats are not imported for this profile yet.
StatVault has the verified college attribution (California), but no parsed college box-score table is present in this profile artifact. The section stays here so every profile has a consistent college-stats landing point without fabricating unavailable rows.
Career teammates and draft class, derived from year-by-year rosters — every name is linked.
Statistical + physical similarity across every player in the database, position-relevant (0–100%).
Joined SF (from NE)
Last recorded season with SF
Entered the NFL with NE
StatVault's proprietary player intelligence, informed by full career data. How Knox works →
Era-normalized career quality — z-scored against 1-season peers. See all →
Career durability — games played vs. scheduled, across 2 seasons.
Composite score across availability, IR frequency, and injury severity. See all →
Rec Yds translated to the 2025NFL — each season's standing among its own-era peers, projected onto 2025's scoring environment. Modern-era (1999+) coverage.
| Season | Actual Rec Yds | Rec Yds/G | → 2025 Rec Yds | → 2025 /G |
|---|---|---|---|---|
| 2016 | 133 | 16.6 | 159+26 | 9.4 |
Data: nflverse:players, nflverse:player_stats, nflverse:snap_counts, nflverse:advanced-epa (CC-BY 4.0) · multi-source verified via the StatVault Oracle · updated 6/18/2026
Fan Rating
Rate Chris Harper — All-Time
Explore More
Similar Players
Jeff Ogden
WR
90% match
2015 Draft ClassmatesFull class →