# Christian Kirk — FootballQuants player source

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

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/4950",
  "retrieved_at": "2026-11-01T02:20:22.677836+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": "4950",
    "name": "Christian Kirk",
    "team": "SF",
    "pos": "WR",
    "age": 29,
    "exp": 8,
    "injury": null,
    "rookie": false,
    "value": 0.0,
    "ros_ppg": 1.02,
    "games_left": 9,
    "projection": {
      "ros_ppg": 1.02,
      "source": "sleeper_future",
      "captured_at": "2026-10-31T23:31:38.044520+00:00",
      "covered_weeks": [
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17
      ],
      "missing_weeks": [],
      "remaining_games": 9
    },
    "proj": 44,
    "adp": 692.7,
    "adp_pr": 455,
    "ly": {
      "pts": 43.9,
      "g": 11,
      "through_week": 18,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 0.0,
      "rushing_yards": 0.0,
      "rushing_tds": 0.0,
      "targets": 52.0,
      "receptions": 28.0,
      "receiving_yards": 239.0,
      "receiving_tds": 1.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 12.0,
      "fumbles_lost": 0.0,
      "tgt_share": 14.4,
      "ppg": 3.99,
      "ypc": null,
      "ypt": 4.6,
      "ypr": 8.5,
      "catch_pct": 53.8,
      "total_yd": 239.0,
      "ypg": 21.7,
      "touches": 28.0,
      "first_downs": 12.0,
      "xfp": 72.0,
      "xfp_diff": -28.1,
      "xfp_through_week": 18,
      "xfp_coverage": "complete"
    },
    "adv": {
      "snap_pct": 48.6,
      "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": 2.52,
      "rec_avg_cushion": 5.84,
      "rec_adot": 7.22,
      "rec_air_share": 8.24,
      "rec_yac_above_exp": -0.22,
      "rec_catch_pct": 53.85,
      "rec_drops": 3.0,
      "rec_broken_tackles": 1.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": 5.8
    },
    "ytd": null,
    "adv_ytd": {
      "snap_pct": 30.0,
      "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_drop_pct": null
    }
  },
  "profile": {
    "sleeper_id": "4950",
    "season": 2026,
    "as_of": "2026-11-01T02:20:22.680020+00:00",
    "freshness": {
      "writeup": "preseason_context",
      "news": "stale",
      "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": "Houston gave Christian Kirk a real chance at a bounce-back season in 2025 and mostly used him as a checkdown outlet. His usage was as shallow as it gets: a 7.2-yard aDOT in the 9th percentile at the position, an air-yards share in the 5th, and 4.6 yards per target that ranked dead last among qualified receivers. Normally a minus-28 gap between expected and actual points reads as a rebound flag, and his 72 expected points against 43.9 actual is a sizable one, but the gap here came from catching only 54 percent of easy targets rather than from bad luck on hard ones. Now he's in San Francisco at 29, fifth on the depth chart, in an offense Vegas likes at 25.4 implied points a game, seventh in the league. The consensus projection still sees WR78 and about 85 half-PPR points, while the market lets him go around WR98 near pick 229. That spread makes him a passable final-round flier in deep leagues, though a receiver who produced nothing downfield last year probably needs an injury above him before the environment matters.",
    "writeup_generated_at": "2026-07-22T02:44:42.345573+00:00",
    "news": {
      "digest": "Christian Kirk (calf) hopeful to return to practice next week — Kirk opened the season on injured reserve with a calf injury. ",
      "latest_at": "2026-10-07T07:12:24+00:00",
      "updated_at": "2026-10-07T19:00:23.532123+00:00",
      "llm_sentiment": 1,
      "llm_injury_trajectory": 1,
      "llm_severity": 2,
      "llm_weeks_out": 4.0,
      "llm_offfield_risk": 0,
      "llm_key_phrases": "calf injury; hopeful to return; return to practice; injured reserve",
      "llm_role_change": 0,
      "llm_usage_outlook": 0,
      "llm_team_context": 0,
      "llm_relevance": 0.9,
      "llm_inferred_at": "2026-10-09T09:34:10.495683+00:00",
      "llm_model": "gpt-oss-120b",
      "inference_status": "current"
    },
    "injury_outlook": {
      "status": "absent",
      "exp_miss_next6": 4.563580908816535,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    },
    "injury_outlook_last_captured": {
      "status": "absent",
      "exp_miss_next6": 4.563580908816535,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    }
  }
}
```
