FOOTBALLQUANTS

Player sourcebook / WR · ATL

Jahan Dotson

Read as Markdown · JSON · Interactive board

Season / week
2026 / 8
Scoring
HALF · 12 teams · 1 QB
Source freshness
partial
Observed season stats
Through week 8; complete through week 7. The latest week may be partial.

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.

outcomes
ready
Captured 2026-10-31T23:03:40.760224+00:00; complete through week 7
season projection
preseason prior
Captured Unknown
draft adp
preseason context
Captured Unknown
advanced stats
coverage not verified
Captured Unknown
Model version and retrieval details

Model generated: 2026-11-01T00:32:50.841496+00:00. Model generation time does not establish source freshness.

Model version: trade-value-sleeper-ros-v1

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

Retrieved 2026-11-01T01:40:28.880449+00:00. This is the page retrieval time, not a source update.

Scroll the table to see every column.

Alphabetical player research. Observed points use posted games; future estimates cover unstarted games through Week 17. Open a player for forecast dates and missing weeks. Trade values are model units.
PlayerPosTeamObserved points/gameGames playedEstimated future points/gameTrade value
Jahan Dotson WRATL 6.0374.520

Future projection context

These estimates cover unstarted games through Week 17. They do not identify who to start this week; use your league's lineup tool for that decision.

Forecast source
Captured Sleeper future projections
Forecast captured
2026-10-31T23:31:38.044520+00:00
Unstarted games through Week 17
9
Weeks with provider forecasts
8, 9, 10, 12, 13, 14, 15, 16, 17
Weeks using model fallback
None recorded

Draft context

Historical context, not a weekly ranking or remaining-season forecast.

Full-season preseason projection
75
Draft average position
686.3

Observed production

Observed statistics are separate from model estimates. A missing season block means unavailable data.

This season

Fantasy points
42.2
Games played
7
Observed through week
7
passing yards
0
passing tds
0
interceptions
0
carries
0
rushing yards
0
rushing tds
0
targets
25
receptions
12
receiving yards
242
receiving tds
2
passing first downs
0
rushing first downs
0
receiving first downs
11
fumbles lost
0
Target share in observed games (%)
13
Fantasy points per game
6.03
Yards per carry
Unavailable
Yards per target
9.7
Yards per reception
20.2
Catch rate (%)
48
Total yards
242
Yards per game
34.6
touches
12
first downs
11
Expected rushing/receiving half-PPR points
42.8
Actual minus expected rushing/receiving half-PPR points
-0.6
Opportunity observed through week
7
Opportunity coverage
complete

Previous season

Fantasy points
41.2
Games played
15
Observed through week
18
passing yards
0
passing tds
0
interceptions
0
carries
0
rushing yards
0
rushing tds
0
targets
36
receptions
18
receiving yards
262
receiving tds
1
passing first downs
0
rushing first downs
0
receiving first downs
10
fumbles lost
0
Target share in observed games (%)
8.5
Fantasy points per game
2.75
Yards per carry
Unavailable
Yards per target
7.3
Yards per reception
14.6
Catch rate (%)
50
Total yards
262
Yards per game
17.5
touches
18
first downs
10
Expected rushing/receiving half-PPR points
55.6
Actual minus expected rushing/receiving half-PPR points
-14.4
Opportunity observed through week
18
Opportunity coverage
complete

This season: advanced statistics

Snap share (%)
67.7
Time to throw (seconds)
Unavailable
Average depth of pass target (yards)
Unavailable
pass aggressiveness
Unavailable
Completion percentage above expectation
Unavailable
pass air to sticks
Unavailable
pass rating
Unavailable
rush stacked box pct
Unavailable
rush time to los
Unavailable
Rushing yards above expectation per attempt
Unavailable
rush efficiency
Unavailable
rush pct over expected
Unavailable
rec avg separation
2.47
rec avg cushion
6.02
Average depth of receiving target (yards)
16.62
rec air share
33.65
Receiving yards after catch above expectation
0.52
rec catch pct
46.15
rec drops
3
rec broken tackles
0
Rushing yards before contact per attempt
Unavailable
Rushing yards after contact per attempt
Unavailable
rush broken tackles
Unavailable
pass pressured pct
Unavailable
pass bad throw pct
Unavailable
rec drop pct
12

Previous season: advanced statistics

Snap share (%)
56.9
Time to throw (seconds)
Unavailable
Average depth of pass target (yards)
Unavailable
pass aggressiveness
Unavailable
Completion percentage above expectation
Unavailable
pass air to sticks
Unavailable
pass rating
Unavailable
rush stacked box pct
Unavailable
rush time to los
Unavailable
Rushing yards above expectation per attempt
Unavailable
rush efficiency
Unavailable
rush pct over expected
Unavailable
rec avg separation
Unavailable
rec avg cushion
Unavailable
Average depth of receiving target (yards)
Unavailable
rec air share
Unavailable
Receiving yards after catch above expectation
Unavailable
rec catch pct
Unavailable
rec drops
0
rec broken tackles
1
Rushing yards before contact per attempt
Unavailable
Rushing yards after contact per attempt
Unavailable
rush broken tackles
Unavailable
pass pressured pct
Unavailable
pass bad throw pct
Unavailable
rec drop pct
0

Player narrative and news

Generated narrative is context, not a verified injury forecast or a weekly recommendation. Inspect its own dates before using it.

Write-up generated: 2026-07-22T02:44:42.345573+00:00

Dotson is one of those quiet gaps where the projection likes a player more than the room does, WR99 at 68 points against drafters taking him 332nd overall as WR118, and the disagreement comes down to whether a fourth-receiver job in Atlanta means anything. His Philadelphia year argues for the market's side. On 36 targets he produced 74 percent of what that usage was worth, a bottom-quartile conversion, and his 2.7 points per game ranked in the bottom tenth of qualified receivers even though he stayed available for 15 games. Environment won't rescue the optimists either, since Atlanta's early implied totals average 20.7 points, 26th in the league, so even a real target bump would land in a low-scoring offense. He's still 26, which is why teams keep giving him jobs, but the efficiency numbers give no hint that the role was ever the thing holding him back.

Latest stored news context

{
  "digest": "Jahan Dotson hauls in touchdown Monday — Dotson contributed well in Week 4, logging over 50 yards and getting into the end zone in a blowout win over the Saints. This was a good game for the veteran, but fantasy managers shouldn't expect him to have consistent value moving forward.",
  "latest_at": "2026-10-06T12:03:27+00:00",
  "updated_at": "2026-10-06T19:00:45.612292+00:00",
  "llm_sentiment": -1,
  "llm_injury_trajectory": 0,
  "llm_severity": 0,
  "llm_weeks_out": null,
  "llm_offfield_risk": 0,
  "llm_key_phrases": "hauls in touchdown; logging over 50 yards; good game for the veteran; shouldn't expect consistent value; blowout win",
  "llm_role_change": 0,
  "llm_usage_outlook": 0,
  "llm_team_context": 0,
  "llm_relevance": 0.9,
  "llm_inferred_at": "2026-10-06T19:13:32.762944+00:00",
  "llm_model": "gpt-oss-120b",
  "inference_status": "current"
}

Profile freshness: {"writeup": "preseason_context", "news": "stale", "news_inference": "current", "injury_outlook": "unavailable", "note": "Preseason reads are historical context. News dates describe the latest captured story, not a verified current availability report."}

Complete source evidence
{
  "schema_version": "public-sources.v1",
  "canonical_url": "https://footballquants.com/sources/players/8119",
  "retrieved_at": "2026-11-01T01:40:28.880449+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": "8119",
    "name": "Jahan Dotson",
    "team": "ATL",
    "pos": "WR",
    "age": 26,
    "exp": 4,
    "injury": null,
    "rookie": false,
    "value": 0.0,
    "ros_ppg": 4.52,
    "games_left": 9,
    "projection": {
      "ros_ppg": 4.517333333333334,
      "source": "sleeper_future",
      "captured_at": "2026-10-31T23:31:38.044520+00:00",
      "covered_weeks": [
        8,
        9,
        10,
        12,
        13,
        14,
        15,
        16,
        17
      ],
      "missing_weeks": [],
      "remaining_games": 9
    },
    "proj": 75,
    "adp": 686.3,
    "adp_pr": 431,
    "ly": {
      "pts": 41.2,
      "g": 15,
      "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": 36.0,
      "receptions": 18.0,
      "receiving_yards": 262.0,
      "receiving_tds": 1.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 10.0,
      "fumbles_lost": 0.0,
      "tgt_share": 8.5,
      "ppg": 2.75,
      "ypc": null,
      "ypt": 7.3,
      "ypr": 14.6,
      "catch_pct": 50.0,
      "total_yd": 262.0,
      "ypg": 17.5,
      "touches": 18.0,
      "first_downs": 10.0,
      "xfp": 55.6,
      "xfp_diff": -14.4,
      "xfp_through_week": 18,
      "xfp_coverage": "complete"
    },
    "adv": {
      "snap_pct": 56.9,
      "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": 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": 0.0
    },
    "ytd": {
      "pts": 42.2,
      "g": 7,
      "through_week": 7,
      "passing_yards": 0.0,
      "passing_tds": 0.0,
      "interceptions": 0.0,
      "carries": 0.0,
      "rushing_yards": 0.0,
      "rushing_tds": 0.0,
      "targets": 25.0,
      "receptions": 12.0,
      "receiving_yards": 242.0,
      "receiving_tds": 2.0,
      "passing_first_downs": 0.0,
      "rushing_first_downs": 0.0,
      "receiving_first_downs": 11.0,
      "fumbles_lost": 0.0,
      "tgt_share": 13.0,
      "ppg": 6.03,
      "ypc": null,
      "ypt": 9.7,
      "ypr": 20.2,
      "catch_pct": 48.0,
      "total_yd": 242.0,
      "ypg": 34.6,
      "touches": 12.0,
      "first_downs": 11.0,
      "xfp": 42.8,
      "xfp_diff": -0.6,
      "xfp_through_week": 7,
      "xfp_coverage": "complete"
    },
    "adv_ytd": {
      "snap_pct": 67.7,
      "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.47,
      "rec_avg_cushion": 6.02,
      "rec_adot": 16.62,
      "rec_air_share": 33.65,
      "rec_yac_above_exp": 0.52,
      "rec_catch_pct": 46.15,
      "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": 12.0
    }
  },
  "profile": {
    "sleeper_id": "8119",
    "season": 2026,
    "as_of": "2026-11-01T01:40:28.883124+00:00",
    "freshness": {
      "writeup": "preseason_context",
      "news": "stale",
      "news_inference": "current",
      "injury_outlook": "unavailable",
      "note": "Preseason reads are historical context. News dates describe the latest captured story, not a verified current availability report."
    },
    "writeup": "Dotson is one of those quiet gaps where the projection likes a player more than the room does, WR99 at 68 points against drafters taking him 332nd overall as WR118, and the disagreement comes down to whether a fourth-receiver job in Atlanta means anything. His Philadelphia year argues for the market's side. On 36 targets he produced 74 percent of what that usage was worth, a bottom-quartile conversion, and his 2.7 points per game ranked in the bottom tenth of qualified receivers even though he stayed available for 15 games. Environment won't rescue the optimists either, since Atlanta's early implied totals average 20.7 points, 26th in the league, so even a real target bump would land in a low-scoring offense. He's still 26, which is why teams keep giving him jobs, but the efficiency numbers give no hint that the role was ever the thing holding him back.",
    "writeup_generated_at": "2026-07-22T02:44:42.345573+00:00",
    "news": {
      "digest": "Jahan Dotson hauls in touchdown Monday — Dotson contributed well in Week 4, logging over 50 yards and getting into the end zone in a blowout win over the Saints. This was a good game for the veteran, but fantasy managers shouldn't expect him to have consistent value moving forward.",
      "latest_at": "2026-10-06T12:03:27+00:00",
      "updated_at": "2026-10-06T19:00:45.612292+00:00",
      "llm_sentiment": -1,
      "llm_injury_trajectory": 0,
      "llm_severity": 0,
      "llm_weeks_out": null,
      "llm_offfield_risk": 0,
      "llm_key_phrases": "hauls in touchdown; logging over 50 yards; good game for the veteran; shouldn't expect consistent value; blowout win",
      "llm_role_change": 0,
      "llm_usage_outlook": 0,
      "llm_team_context": 0,
      "llm_relevance": 0.9,
      "llm_inferred_at": "2026-10-06T19:13:32.762944+00:00",
      "llm_model": "gpt-oss-120b",
      "inference_status": "current"
    },
    "injury_outlook": null,
    "injury_outlook_last_captured": null
  }
}

Use this source carefully