# Brock Wright — FootballQuants player source

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

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/7891",
  "retrieved_at": "2026-11-01T02:19:58.110390+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": "7891",
    "name": "Brock Wright",
    "team": "DET",
    "pos": "TE",
    "age": 27,
    "exp": 5,
    "injury": null,
    "rookie": false,
    "value": 0.0,
    "ros_ppg": 1.35,
    "games_left": 10,
    "projection": {
      "ros_ppg": 1.3497000000000003,
      "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": 43,
    "adp": 697.6,
    "adp_pr": 248,
    "ly": {
      "pts": 29.8,
      "g": 8,
      "through_week": 12,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 0.0,
      "rushing_yards": 0.0,
      "rushing_tds": 0.0,
      "targets": 22.0,
      "receptions": 14.0,
      "receiving_yards": 108.0,
      "receiving_tds": 2.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 7.0,
      "fumbles_lost": 0.0,
      "tgt_share": 8.9,
      "ppg": 3.73,
      "ypc": null,
      "ypt": 4.9,
      "ypr": 7.7,
      "catch_pct": 63.6,
      "total_yd": 108.0,
      "ypg": 13.5,
      "touches": 14.0,
      "first_downs": 7.0,
      "xfp": 25.4,
      "xfp_diff": 4.4,
      "xfp_through_week": 12,
      "xfp_coverage": "complete"
    },
    "adv": {
      "snap_pct": 57.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": 0.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": 0.0
    },
    "ytd": {
      "pts": 5.6,
      "g": 5,
      "through_week": 5,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 0.0,
      "rushing_yards": 0.0,
      "rushing_tds": 0.0,
      "targets": 6.0,
      "receptions": 5.0,
      "receiving_yards": 31.0,
      "receiving_tds": 0.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 2.0,
      "fumbles_lost": 0.0,
      "tgt_share": 3.2,
      "ppg": 1.12,
      "ypc": null,
      "ypt": 5.2,
      "ypr": 6.2,
      "catch_pct": 83.3,
      "total_yd": 31.0,
      "ypg": 6.2,
      "touches": 5.0,
      "first_downs": 2.0,
      "xfp": 7.8,
      "xfp_diff": -2.2,
      "xfp_through_week": 5,
      "xfp_coverage": "complete"
    },
    "adv_ytd": {
      "snap_pct": 48.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": 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": 0.0
    }
  },
  "profile": {
    "sleeper_id": "7891",
    "season": 2026,
    "as_of": "2026-11-01T02:19:58.112961+00:00",
    "freshness": {
      "writeup": "preseason_context",
      "news": "unavailable",
      "news_inference": "unavailable",
      "injury_outlook": "current",
      "note": "Preseason reads are historical context. News dates describe the latest captured story, not a verified current availability report."
    },
    "writeup": "Detroit's offense projects second in the league by implied totals at 26.9 a game, and Wright holds a genuine piece of it, with a 57.6 percent snap share and 2.8 targets a game across the eight games he played in 2025. He caught 14 of 22 targets without a drop, scored twice, and ran slightly ahead of his expected points. The consensus 2026 line, about 41 points on 19 catches and 2.3 touchdowns, ranks him 51st among tight ends while his ADP sits at 460, 73rd at the position, so for once the projection is comfortably ahead of the price. Two cautions apply: he carries a questionable tag into camp, though he hasn't actually been missing games to this point, and the scoring depends on touchdowns from a role that produced 13.5 receiving yards a game. As last-round tight end insurance in the league's second-best scoring environment, he's a reasonable name to circle.",
    "writeup_generated_at": "2026-07-22T02:44:42.345573+00:00",
    "news": null,
    "injury_outlook": {
      "status": "absent",
      "exp_miss_next6": 3.697937500856865,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    },
    "injury_outlook_last_captured": {
      "status": "absent",
      "exp_miss_next6": 3.697937500856865,
      "as_of": "2026-10-31",
      "source": "curves-v1"
    }
  }
}
```
