# Cam Skattebo — FootballQuants player source

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

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/12481",
  "retrieved_at": "2026-11-01T02:20:24.705850+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": "12481",
    "name": "Cam Skattebo",
    "team": "NYG",
    "pos": "RB",
    "age": 24,
    "exp": 1,
    "injury": "Questionable",
    "rookie": false,
    "value": 19.8,
    "ros_ppg": 8.53,
    "games_left": 9,
    "projection": {
      "ros_ppg": 8.528111111111112,
      "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": 213,
    "adp": 37.4,
    "adp_pr": 18,
    "ly": {
      "pts": 113.7,
      "g": 8,
      "through_week": 8,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 101.0,
      "rushing_yards": 410.0,
      "rushing_tds": 5.0,
      "targets": 32.0,
      "receptions": 24.0,
      "receiving_yards": 207.0,
      "receiving_tds": 2.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 27.0,
      "receiving_first_downs": 11.0,
      "fumbles_lost": 1.0,
      "tgt_share": 13.2,
      "ppg": 14.21,
      "ypc": 4.1,
      "ypt": 6.5,
      "ypr": 8.6,
      "catch_pct": 75.0,
      "total_yd": 617.0,
      "ypg": 77.1,
      "touches": 125.0,
      "first_downs": 38.0,
      "xfp": 111.2,
      "xfp_diff": 4.5,
      "xfp_through_week": 8,
      "xfp_coverage": "complete"
    },
    "adv": {
      "snap_pct": 52.2,
      "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": 23.76,
      "rush_time_to_los": 2.57,
      "rush_ryoe_per_att": 0.43,
      "rush_efficiency": 3.74,
      "rush_pct_over_expected": 0.45,
      "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": 0.0,
      "rec_broken_tackles": 4.0,
      "rush_ybc_att": 2.16,
      "rush_yac_att": 1.9,
      "rush_broken_tackles": 7.0,
      "pass_pressured_pct": null,
      "pass_bad_throw_pct": null,
      "rec_drop_pct": 0.0
    },
    "ytd": {
      "pts": 64.9,
      "g": 6,
      "through_week": 7,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 98.0,
      "rushing_yards": 418.0,
      "rushing_tds": 2.0,
      "targets": 13.0,
      "receptions": 11.0,
      "receiving_yards": 76.0,
      "receiving_tds": 0.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 22.0,
      "receiving_first_downs": 3.0,
      "fumbles_lost": 1.0,
      "tgt_share": 6.8,
      "ppg": 10.82,
      "ypc": 4.3,
      "ypt": 5.8,
      "ypr": 6.9,
      "catch_pct": 84.6,
      "total_yd": 494.0,
      "ypg": 82.3,
      "touches": 109.0,
      "first_downs": 25.0,
      "xfp": 70.5,
      "xfp_diff": -3.6,
      "xfp_through_week": 7,
      "xfp_coverage": "complete"
    },
    "adv_ytd": {
      "snap_pct": 55.4,
      "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": 21.43,
      "rush_time_to_los": 2.66,
      "rush_ryoe_per_att": 0.07,
      "rush_efficiency": 3.72,
      "rush_pct_over_expected": 0.36,
      "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": 2.0,
      "rec_broken_tackles": 1.0,
      "rush_ybc_att": 2.21,
      "rush_yac_att": 2.05,
      "rush_broken_tackles": 5.0,
      "pass_pressured_pct": null,
      "pass_bad_throw_pct": null,
      "rec_drop_pct": 15.4
    }
  },
  "profile": {
    "sleeper_id": "12481",
    "season": 2026,
    "as_of": "2026-11-01T02:20:24.708813+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": "Eight games was all we got from Skattebo's rookie year, and the per-game version was close to an RB1: 14.2 points per game (half-PPR) in the 87th percentile, built on 12.6 carries and four targets a week, not on efficiency, since his 4.1 yards per carry sat in the 38th percentile. His style shows up clearly in the tracking data. He hit the line faster than nearly anyone and beat the expected yardage on a higher share of his carries than 96 percent of the position, a steady-gains runner who wins in three-yard increments instead of breakaways. What the ADP of 44 is really pricing is the ankle. The injury that ended his season was gruesome, and while he is reportedly ready for training camp, confident enough to attempt a backflip at a fan event, the Questionable tag has not come off yet. The projection puts him at RB17 with 221 points, four spots ahead of his market cost, so a real discount exists for taking on the medical uncertainty, just not a dramatic one. Given that he was already commanding lead-back volume at 24, that trade is worth considering.",
    "writeup_generated_at": "2026-07-22T02:44:42.345573+00:00",
    "news": {
      "digest": "Cam Skattebo (shoulder) will play Sunday  — Skattebo said he had a \"little muscle tightness\" in his shoulder. It's why he wore a red no-contact jersey on Wednesday. He'll remain a steady RB2 play. ",
      "latest_at": "2026-10-09T17:43:44+00:00",
      "updated_at": "2026-10-10T19:00:24.170294+00:00",
      "llm_sentiment": 1,
      "llm_injury_trajectory": 1,
      "llm_severity": 1,
      "llm_weeks_out": 0.0,
      "llm_offfield_risk": 0,
      "llm_key_phrases": "little muscle tightness; red no-contact jersey; will play sunday; steady rb2 play",
      "llm_role_change": 0,
      "llm_usage_outlook": 0,
      "llm_team_context": 0,
      "llm_relevance": 0.9,
      "llm_inferred_at": "2026-10-10T19:03:29.012670+00:00",
      "llm_model": "gpt-oss-120b",
      "inference_status": "current"
    },
    "injury_outlook": {
      "status": "questionable",
      "exp_miss_next6": 1.6780349575271793,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    },
    "injury_outlook_last_captured": {
      "status": "questionable",
      "exp_miss_next6": 1.6780349575271793,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    }
  }
}
```
