FOOTBALLQUANTS

Player sourcebook / WR · TEN

Calvin Ridley

Read as Markdown · JSON · Interactive board

Season / week
2026 / 8
Scoring
HALF · 12 teams · 1 QB
Source freshness
partial
Observed season stats
Through week 8; complete through week 7. The latest week may be partial.

Generation time is not source freshness. Individual future-projection capture dates and coverage are provided per player; not every input has an independent capture receipt.

outcomes
ready
Captured 2026-10-31T23:03:40.760224+00:00; complete through week 7
season projection
preseason prior
Captured Unknown
draft adp
preseason context
Captured Unknown
advanced stats
coverage not verified
Captured Unknown
Model version and retrieval details

Model generated: 2026-11-01T00:32:50.841496+00:00. Model generation time does not establish source freshness.

Model version: trade-value-sleeper-ros-v1

Data version: board:v4:fp:1788548817:m:1788548832:r:1788548848:s:27180:12104087.300:weekly:2026-10-31 23:35:25.223816+00:00:xfp:2026-10-31 23:04:30.678931+00:00:registry:2026-10-31 23:03:48.108384+00:00:kickoff:2026-10-30 00:15:00+00:00:expired:False:fp:1788548817:r:1788548848:weekly:2026-10-31 23:33:41.151983+00:00:completed:7:outcomes:ready:schedule:8

Retrieved 2026-11-01T01:40:13.661948+00:00. This is the page retrieval time, not a source update.

Scroll the table to see every column.

Alphabetical player research. Observed points use posted games; future estimates cover unstarted games through Week 17. Open a player for forecast dates and missing weeks. Trade values are model units.
PlayerPosTeamObserved points/gameGames playedEstimated future points/gameTrade value
Calvin Ridley WRTEN 2.1252.850

Future projection context

These estimates cover unstarted games through Week 17. They do not identify who to start this week; use your league's lineup tool for that decision.

Forecast source
Captured Sleeper future projections
Forecast captured
2026-10-31T23:31:38.044520+00:00
Unstarted games through Week 17
9
Weeks with provider forecasts
8, 10, 11, 12, 13, 14, 15, 16, 17
Weeks using model fallback
None recorded

Draft context

Historical context, not a weekly ranking or remaining-season forecast.

Full-season preseason projection
125
Draft average position
250.7

Observed production

Observed statistics are separate from model estimates. A missing season block means unavailable data.

This season

Fantasy points
10.6
Games played
5
Observed through week
6
passing yards
0
passing tds
0
interceptions
0
carries
0
rushing yards
0
rushing tds
0
targets
10
receptions
5
receiving yards
81
receiving tds
0
passing first downs
0
rushing first downs
0
receiving first downs
5
fumbles lost
0
Target share in observed games (%)
7.3
Fantasy points per game
2.12
Yards per carry
Unavailable
Yards per target
8.1
Yards per reception
16.2
Catch rate (%)
50
Total yards
81
Yards per game
16.2
touches
5
first downs
5
Expected rushing/receiving half-PPR points
13.3
Actual minus expected rushing/receiving half-PPR points
-2.7
Opportunity observed through week
6
Opportunity coverage
complete

Previous season

Fantasy points
38.8
Games played
7
Observed through week
11
passing yards
0
passing tds
0
interceptions
0
carries
0
rushing yards
0
rushing tds
0
targets
36
receptions
17
receiving yards
303
receiving tds
0
passing first downs
0
rushing first downs
0
receiving first downs
13
fumbles lost
0
Target share in observed games (%)
16.4
Fantasy points per game
5.54
Yards per carry
Unavailable
Yards per target
8.4
Yards per reception
17.8
Catch rate (%)
47.2
Total yards
303
Yards per game
43.3
touches
17
first downs
13
Expected rushing/receiving half-PPR points
50.7
Actual minus expected rushing/receiving half-PPR points
-11.9
Opportunity observed through week
11
Opportunity coverage
complete

This season: advanced statistics

Snap share (%)
53.8
Time to throw (seconds)
Unavailable
Average depth of pass target (yards)
Unavailable
pass aggressiveness
Unavailable
Completion percentage above expectation
Unavailable
pass air to sticks
Unavailable
pass rating
Unavailable
rush stacked box pct
Unavailable
rush time to los
Unavailable
Rushing yards above expectation per attempt
Unavailable
rush efficiency
Unavailable
rush pct over expected
Unavailable
rec avg separation
Unavailable
rec avg cushion
Unavailable
Average depth of receiving target (yards)
Unavailable
rec air share
Unavailable
Receiving yards after catch above expectation
Unavailable
rec catch pct
Unavailable
rec drops
3
rec broken tackles
0
Rushing yards before contact per attempt
Unavailable
Rushing yards after contact per attempt
Unavailable
rush broken tackles
Unavailable
pass pressured pct
Unavailable
pass bad throw pct
Unavailable
rec drop pct
30

Previous season: advanced statistics

Snap share (%)
57.1
Time to throw (seconds)
Unavailable
Average depth of pass target (yards)
Unavailable
pass aggressiveness
Unavailable
Completion percentage above expectation
Unavailable
pass air to sticks
Unavailable
pass rating
Unavailable
rush stacked box pct
Unavailable
rush time to los
Unavailable
Rushing yards above expectation per attempt
Unavailable
rush efficiency
Unavailable
rush pct over expected
Unavailable
rec avg separation
Unavailable
rec avg cushion
Unavailable
Average depth of receiving target (yards)
Unavailable
rec air share
Unavailable
Receiving yards after catch above expectation
Unavailable
rec catch pct
Unavailable
rec drops
4
rec broken tackles
0
Rushing yards before contact per attempt
Unavailable
Rushing yards after contact per attempt
Unavailable
rush broken tackles
Unavailable
pass pressured pct
Unavailable
pass bad throw pct
Unavailable
rec drop pct
11.1

Player narrative and news

Generated narrative is context, not a verified injury forecast or a weekly recommendation. Inspect its own dates before using it.

Write-up generated: 2026-07-22T02:44:42.345573+00:00

Projection and market have rarely disagreed about a veteran this sharply. Consensus scores Ridley at 128 points and WR54 on a 785-yard line, while half-PPR drafters let him slide to WR84 at pick 214 (standard rooms are friendlier at WR74). The market's case is easy to state: he is 31, he played seven games last year, and the role had already eroded to a 6.8 percent target share with zero touchdowns and a 23 percent shortfall against even that modest usage. Tennessee offers no tailwind either, carrying a 20.2-point average implied total that ranks 27th. On the other side sits a resume that says a healthy Ridley has never finished anywhere near WR84, and a projection crediting him with 48 catches and nearly 800 yards despite everything above. An 18th-round pick does not require resolving the argument, it just collects the asymmetry, since a bench stash either becomes a weekly starter by October or costs a roster spot you were not using anyway.

Latest stored news context

{
  "digest": "Calvin Ridley (hip) listed questionable Sunday  — Ridley remains off the fantasy radar when he is healthy. ",
  "latest_at": "2026-10-30T20:48:44+00:00",
  "updated_at": "2026-10-31T23:04:06.851848+00:00",
  "llm_sentiment": -1,
  "llm_injury_trajectory": -1,
  "llm_severity": 1,
  "llm_weeks_out": 0.5,
  "llm_offfield_risk": 0,
  "llm_key_phrases": "hip listed questionable; questionable sunday; off the fantasy radar",
  "llm_role_change": 0,
  "llm_usage_outlook": 0,
  "llm_team_context": 0,
  "llm_relevance": 0.9,
  "llm_inferred_at": "2026-10-31T23:07:02.559357+00:00",
  "llm_model": "gpt-oss-120b",
  "inference_status": "current"
}

Profile freshness: {"writeup": "preseason_context", "news": "current", "news_inference": "current", "injury_outlook": "current", "note": "Preseason reads are historical context. News dates describe the latest captured story, not a verified current availability report."}

Stored injury context

{
  "status": "questionable",
  "exp_miss_next6": 2.157182798348736,
  "as_of": "2026-10-31",
  "source": "curves-v1"
}
Complete source evidence
{
  "schema_version": "public-sources.v1",
  "canonical_url": "https://footballquants.com/sources/players/4981",
  "retrieved_at": "2026-11-01T01:40:13.661948+00:00",
  "season": 2026,
  "week": 8,
  "last_season": 2025,
  "fmt": "half",
  "teams": 12,
  "qb": 1,
  "mode": "inseason",
  "data_version": "board:v4:fp:1788548817:m:1788548832:r:1788548848:s:27180:12104087.300:weekly:2026-10-31 23:35:25.223816+00:00:xfp:2026-10-31 23:04:30.678931+00:00:registry:2026-10-31 23:03:48.108384+00:00:kickoff:2026-10-30 00:15:00+00:00:expired:False:fp:1788548817:r:1788548848:weekly:2026-10-31 23:33:41.151983+00:00:completed:7:outcomes:ready:schedule:8",
  "model_version": "trade-value-sleeper-ros-v1",
  "generated_at": "2026-11-01T00:32:50.841496+00:00",
  "freshness": {
    "status": "partial",
    "expected_season": 2026,
    "served_season": 2026,
    "expected_week": 8,
    "warnings": [],
    "sources": {
      "outcomes": {
        "status": "ready",
        "captured_at": "2026-10-31T23:03:40.760224+00:00",
        "completed_through_week": 7
      },
      "season_projection": {
        "status": "preseason_prior",
        "captured_at": null
      },
      "draft_adp": {
        "status": "preseason_context",
        "captured_at": null
      },
      "advanced_stats": {
        "status": "coverage_not_verified",
        "captured_at": null
      }
    },
    "note": "Generation time is not source freshness. Individual future-projection capture dates and coverage are provided per player; not every input has an independent capture receipt."
  },
  "outcome_readiness": {
    "completed_week": 7,
    "fresh": true,
    "checked_at": "2026-10-31T23:03:40.760224+00:00",
    "status": "ready"
  },
  "valuation_context": {
    "phase": "sleeper_future_with_model_fallback",
    "fallback_phase": "in_season_blend",
    "fallback_outcomes_through_week": 7,
    "fallback_weekly_projection_eligible": true,
    "advanced_stats_priced": false,
    "injury_outlook": "annotation_only",
    "remaining_games_policy": "exclude_started_games"
  },
  "value_locked": null,
  "ytd_through_week": 8,
  "ytd_complete_through_week": 7,
  "sources": [
    {
      "name": "FootballQuants public Player Research board",
      "url": "https://footballquants.com/api/v1/players/board"
    }
  ],
  "limitations": [
    "Model estimates are not guaranteed outcomes. An unavailable value is null, never zero.",
    "generated_at describes model generation; retrieved_at describes this response, not a source update.",
    "Season projections are full-season estimates, not this week's points. ADP describes draft markets, not a weekly ranking.",
    "Half-PPR trade values are public. Standard and PPR trade values require an eligible paid account and are omitted here.",
    "League-family estimates use the stated scoring format, team count and quarterback slots; they are not custom league scoring."
  ],
  "metric_definitions": {
    "proj": "Full-season preseason projected fantasy points in the selected format; not points remaining or this week's forecast.",
    "adp": "Stored average draft position; historical draft-market context, not a current trade price.",
    "ytd.ppg": "Observed fantasy points per game in the selected format. Read ytd.g and the observed/completed weeks; partial weeks can make totals uneven.",
    "tgt_share": "Share of team targets in the player's observed games, matched by season, week and team, including recorded zero-target appearances. Byes and missing appearances do not count as zero games.",
    "ros_ppg": "Estimated points per unstarted game through Week 17 in the selected format. Uses captured Sleeper future stat lines where present and a model fallback where absent. Not a weekly start/sit recommendation.",
    "projection": "Future-source provenance: source, captured_at, covered_weeks, missing_weeks and remaining_games. Missing weeks use fallback; null remaining_games means the schedule is not verified.",
    "value": "Rest-of-season value above positional replacement in model comparison units, not projected fantasy points or trade acceptance probability.",
    "xfp": "Expected rushing and receiving half-PPR points from observed opportunity. Excludes passing, fumbles and scoring bonuses regardless of selected scoring.",
    "xfp_diff": "Observed rushing/receiving half-PPR points minus xFP for matching covered weeks. Unavailable when opportunity and production coverage differ; not proof of future regression."
  },
  "access": {
    "public": true,
    "pro_url": "https://footballquants.com/app",
    "connect_url": "https://footballquants.com/connect"
  },
  "player": {
    "sleeper_id": "4981",
    "name": "Calvin Ridley",
    "team": "TEN",
    "pos": "WR",
    "age": 31,
    "exp": 8,
    "injury": "Questionable",
    "rookie": false,
    "value": 0.0,
    "ros_ppg": 2.85,
    "games_left": 9,
    "projection": {
      "ros_ppg": 2.8516666666666666,
      "source": "sleeper_future",
      "captured_at": "2026-10-31T23:31:38.044520+00:00",
      "covered_weeks": [
        8,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17
      ],
      "missing_weeks": [],
      "remaining_games": 9
    },
    "proj": 125,
    "adp": 250.7,
    "adp_pr": 93,
    "ly": {
      "pts": 38.8,
      "g": 7,
      "through_week": 11,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 0.0,
      "rushing_yards": 0.0,
      "rushing_tds": 0.0,
      "targets": 36.0,
      "receptions": 17.0,
      "receiving_yards": 303.0,
      "receiving_tds": 0.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 13.0,
      "fumbles_lost": 0.0,
      "tgt_share": 16.4,
      "ppg": 5.54,
      "ypc": null,
      "ypt": 8.4,
      "ypr": 17.8,
      "catch_pct": 47.2,
      "total_yd": 303.0,
      "ypg": 43.3,
      "touches": 17.0,
      "first_downs": 13.0,
      "xfp": 50.7,
      "xfp_diff": -11.9,
      "xfp_through_week": 11,
      "xfp_coverage": "complete"
    },
    "adv": {
      "snap_pct": 57.1,
      "pass_time_to_throw": null,
      "pass_adot": null,
      "pass_aggressiveness": null,
      "pass_cpoe": null,
      "pass_air_to_sticks": null,
      "pass_rating": null,
      "rush_stacked_box_pct": null,
      "rush_time_to_los": null,
      "rush_ryoe_per_att": null,
      "rush_efficiency": null,
      "rush_pct_over_expected": null,
      "rec_avg_separation": null,
      "rec_avg_cushion": null,
      "rec_adot": null,
      "rec_air_share": null,
      "rec_yac_above_exp": null,
      "rec_catch_pct": null,
      "rec_drops": 4.0,
      "rec_broken_tackles": 0.0,
      "rush_ybc_att": null,
      "rush_yac_att": null,
      "rush_broken_tackles": null,
      "pass_pressured_pct": null,
      "pass_bad_throw_pct": null,
      "rec_drop_pct": 11.1
    },
    "ytd": {
      "pts": 10.6,
      "g": 5,
      "through_week": 6,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 0.0,
      "rushing_yards": 0.0,
      "rushing_tds": 0.0,
      "targets": 10.0,
      "receptions": 5.0,
      "receiving_yards": 81.0,
      "receiving_tds": 0.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 5.0,
      "fumbles_lost": 0.0,
      "tgt_share": 7.3,
      "ppg": 2.12,
      "ypc": null,
      "ypt": 8.1,
      "ypr": 16.2,
      "catch_pct": 50.0,
      "total_yd": 81.0,
      "ypg": 16.2,
      "touches": 5.0,
      "first_downs": 5.0,
      "xfp": 13.3,
      "xfp_diff": -2.7,
      "xfp_through_week": 6,
      "xfp_coverage": "complete"
    },
    "adv_ytd": {
      "snap_pct": 53.8,
      "pass_time_to_throw": null,
      "pass_adot": null,
      "pass_aggressiveness": null,
      "pass_cpoe": null,
      "pass_air_to_sticks": null,
      "pass_rating": null,
      "rush_stacked_box_pct": null,
      "rush_time_to_los": null,
      "rush_ryoe_per_att": null,
      "rush_efficiency": null,
      "rush_pct_over_expected": null,
      "rec_avg_separation": null,
      "rec_avg_cushion": null,
      "rec_adot": null,
      "rec_air_share": null,
      "rec_yac_above_exp": null,
      "rec_catch_pct": null,
      "rec_drops": 3.0,
      "rec_broken_tackles": 0.0,
      "rush_ybc_att": null,
      "rush_yac_att": null,
      "rush_broken_tackles": null,
      "pass_pressured_pct": null,
      "pass_bad_throw_pct": null,
      "rec_drop_pct": 30.0
    }
  },
  "profile": {
    "sleeper_id": "4981",
    "season": 2026,
    "as_of": "2026-11-01T01:40:13.665218+00:00",
    "freshness": {
      "writeup": "preseason_context",
      "news": "current",
      "news_inference": "current",
      "injury_outlook": "current",
      "note": "Preseason reads are historical context. News dates describe the latest captured story, not a verified current availability report."
    },
    "writeup": "Projection and market have rarely disagreed about a veteran this sharply. Consensus scores Ridley at 128 points and WR54 on a 785-yard line, while half-PPR drafters let him slide to WR84 at pick 214 (standard rooms are friendlier at WR74). The market's case is easy to state: he is 31, he played seven games last year, and the role had already eroded to a 6.8 percent target share with zero touchdowns and a 23 percent shortfall against even that modest usage. Tennessee offers no tailwind either, carrying a 20.2-point average implied total that ranks 27th. On the other side sits a resume that says a healthy Ridley has never finished anywhere near WR84, and a projection crediting him with 48 catches and nearly 800 yards despite everything above. An 18th-round pick does not require resolving the argument, it just collects the asymmetry, since a bench stash either becomes a weekly starter by October or costs a roster spot you were not using anyway.",
    "writeup_generated_at": "2026-07-22T02:44:42.345573+00:00",
    "news": {
      "digest": "Calvin Ridley (hip) listed questionable Sunday  — Ridley remains off the fantasy radar when he is healthy. ",
      "latest_at": "2026-10-30T20:48:44+00:00",
      "updated_at": "2026-10-31T23:04:06.851848+00:00",
      "llm_sentiment": -1,
      "llm_injury_trajectory": -1,
      "llm_severity": 1,
      "llm_weeks_out": 0.5,
      "llm_offfield_risk": 0,
      "llm_key_phrases": "hip listed questionable; questionable sunday; off the fantasy radar",
      "llm_role_change": 0,
      "llm_usage_outlook": 0,
      "llm_team_context": 0,
      "llm_relevance": 0.9,
      "llm_inferred_at": "2026-10-31T23:07:02.559357+00:00",
      "llm_model": "gpt-oss-120b",
      "inference_status": "current"
    },
    "injury_outlook": {
      "status": "questionable",
      "exp_miss_next6": 2.157182798348736,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    },
    "injury_outlook_last_captured": {
      "status": "questionable",
      "exp_miss_next6": 2.157182798348736,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    }
  }
}

Use this source carefully