# Calvin Ridley — FootballQuants player source

Canonical source: https://footballquants.com/sources/players/4981

Use the season, week, scoring, freshness and limitations below when citing this source. Model estimates are not observed outcomes.

```json
{
  "schema_version": "public-sources.v1",
  "canonical_url": "https://footballquants.com/sources/players/4981",
  "retrieved_at": "2026-11-01T02:21:07.221464+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-01T02:21:07.225920+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"
    }
  }
}
```
