# Ty Johnson — FootballQuants player source

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

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/6039",
  "retrieved_at": "2026-11-01T02:31:41.906667+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": "6039",
    "name": "Ty Johnson",
    "team": "BUF",
    "pos": "RB",
    "age": 29,
    "exp": 7,
    "injury": null,
    "rookie": false,
    "value": 0.0,
    "ros_ppg": 4.55,
    "games_left": 10,
    "projection": {
      "ros_ppg": 4.5525,
      "source": "sleeper_future",
      "captured_at": "2026-10-31T23:31:38.044520+00:00",
      "covered_weeks": [
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17
      ],
      "missing_weeks": [],
      "remaining_games": 10
    },
    "proj": 83,
    "adp": 668.0,
    "adp_pr": 253,
    "ly": {
      "pts": 88.3,
      "g": 17,
      "through_week": 18,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 50.0,
      "rushing_yards": 200.0,
      "rushing_tds": 3.0,
      "targets": 33.0,
      "receptions": 24.0,
      "receiving_yards": 263.0,
      "receiving_tds": 2.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 13.0,
      "receiving_first_downs": 11.0,
      "fumbles_lost": 0.0,
      "tgt_share": 6.9,
      "ppg": 5.19,
      "ypc": 4.0,
      "ypt": 8.0,
      "ypr": 11.0,
      "catch_pct": 72.7,
      "total_yd": 463.0,
      "ypg": 27.2,
      "touches": 74.0,
      "first_downs": 24.0,
      "xfp": 77.7,
      "xfp_diff": 10.6,
      "xfp_through_week": 18,
      "xfp_coverage": "complete"
    },
    "adv": {
      "snap_pct": 29.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": 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": 4.0,
      "rush_ybc_att": 2.58,
      "rush_yac_att": 1.42,
      "rush_broken_tackles": 2.0,
      "pass_pressured_pct": null,
      "pass_bad_throw_pct": null,
      "rec_drop_pct": 6.1
    },
    "ytd": {
      "pts": 22.1,
      "g": 4,
      "through_week": 6,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 2.0,
      "rushing_yards": 6.0,
      "rushing_tds": 0.0,
      "targets": 12.0,
      "receptions": 12.0,
      "receiving_yards": 155.0,
      "receiving_tds": 0.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 8.0,
      "fumbles_lost": 0.0,
      "tgt_share": 11.5,
      "ppg": 5.53,
      "ypc": 3.0,
      "ypt": 12.9,
      "ypr": 12.9,
      "catch_pct": 100.0,
      "total_yd": 161.0,
      "ypg": 40.2,
      "touches": 14.0,
      "first_downs": 8.0,
      "xfp": 13.4,
      "xfp_diff": 8.7,
      "xfp_through_week": 6,
      "xfp_coverage": "complete"
    },
    "adv_ytd": {
      "snap_pct": 23.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": 0.0,
      "rec_broken_tackles": 2.0,
      "rush_ybc_att": null,
      "rush_yac_att": null,
      "rush_broken_tackles": 0.0,
      "pass_pressured_pct": null,
      "pass_bad_throw_pct": null,
      "rec_drop_pct": 0.0
    }
  },
  "profile": {
    "sleeper_id": "6039",
    "season": 2026,
    "as_of": "2026-11-01T02:31:41.910877+00:00",
    "freshness": {
      "writeup": "preseason_context",
      "news": "stale",
      "news_inference": "current",
      "injury_outlook": "stale",
      "note": "Preseason reads are historical context. News dates describe the latest captured story, not a verified current availability report."
    },
    "writeup": "Everything valuable in Ty Johnson's 2025 arrived through the air. He caught 24 of 33 targets for 263 yards, 73rd percentile at the position, ranked in the high 70s for both receiving touchdowns and receiving first downs, and broke four tackles as a receiver. His rushing line leaned almost entirely on the blocking, 2.58 yards before contact against 1.42 after, that second figure fourth percentile among qualifiers, so treat him strictly as a passing-game piece. He also beat his expected points by 10.6, an 83rd-percentile overperformance of the kind that usually shrinks, though the receiving skill underneath it looks real enough. The 2026 consensus essentially projects a rerun, RB57 with 84 half-PPR points on 25 catches, inside a Buffalo offense holding the fifth-highest implied totals at 25.6 points a game. Drafts are letting that projected top-60 finish go at pick 253. A 28-year-old with a proven passing-down role in one of the league's best offenses, available with your last pick, is precisely the bench profile worth stashing.",
    "writeup_generated_at": "2026-07-22T02:44:42.345573+00:00",
    "news": {
      "digest": "Ty Johnson goes for 72 receiving yards in Week 5 — Johnson didn't see a carry in the contest but he finished second on the Bills in receiving yards in the exciting win. The veteran running back continues to be a threat in the passing attack as this was his second game this season with at least 50 receiving yards. Johnson will now prepare to take on the Raiders in Week 6.",
      "latest_at": "2026-10-13T09:30:29+00:00",
      "updated_at": "2026-10-14T09:00:25.040518+00:00",
      "llm_sentiment": 1,
      "llm_injury_trajectory": 0,
      "llm_severity": 0,
      "llm_weeks_out": null,
      "llm_offfield_risk": 0,
      "llm_key_phrases": "72 receiving yards; second on bills; second game 50 receiving; threat in passing attack; no carry",
      "llm_role_change": 0,
      "llm_usage_outlook": 1,
      "llm_team_context": 0,
      "llm_relevance": 0.9,
      "llm_inferred_at": "2026-10-14T09:06:36.056800+00:00",
      "llm_model": "gpt-oss-120b",
      "inference_status": "current"
    },
    "injury_outlook": null,
    "injury_outlook_last_captured": {
      "status": "absent",
      "exp_miss_next6": 4.21601620415637,
      "as_of": "2026-09-28",
      "source": "curves-v1"
    }
  }
}
```
