Prop notes

Week 10 player prop notes: usage trends through Week 9

Quick answer: Over each team's last 3 games through Week 9, 60 skill players gained 10+ points of snap share on their earlier average and 35 lost that much. Biggest roles on the rise: Ollie Gordon II (46% to 79%), Germie Bernard (48% to 90%) and Omar Cooper Jr. (44% to 76%). With a teammate out, re-check Tutu Atwell (LAR) and Tyler Allgeier (ARI). These are usage trends to compare with your book's number, not picks.

Players compared
330
Trending up (+10 pts)
60
Trending down (−10 pts)
35
Out or Doubtful with a role
10

How did we measure it?

Every player prop starts with an assumption about playing time. These notes check it: 60 players' snap share is up 10+ points over their last 3 games and 35 are down that much, plus the Week 10 roles that open up because a teammate is out.

Snap share is the percentage of a team's offensive plays a player was on the field for, and it's the usage number that moves before the box score does. For every QB, RB, WR and TE we compared his average share over his team's last 3 games through Week 9 with his average in the games before them. Byes don't count, and a game he missed is left out rather than counted as 0%, so an injury doesn't read as a demotion. Trending up means he gained at least 10 points and averaged 40% or more in the last 3; trending down means he averaged 50% or more before and lost at least 10.

Every number comes from the GridIron API: /players, /snaps, /stats and /projections, with injury statuses as of Friday, November 13 at 3:54 pm ET. Projections appear only as a gap against recent output, never as a raw number. Nothing here is a pick: it's usage data to set against the number you're looking at. NYG and WAS already played Week 10, so their players are left out.

Whose snap share is trending up?

Snap share trending up: last 3 games vs earlier, through Week 9 (2026)
PlayerPosTeamEarlier avgLast 3 avgChangeWk 9Last 3 PPR avg
Shedeur SandersQBCLE1%53%+52100%11.4
Darius CooperWRPHI50%94%+4393%3.7
Jordan WatkinsWRSF34%76%+4277%10.1
Germie BernardWRPIT48%90%+42—13.1
Jonah ColemanRBDEN23%64%+4177%16.0
Kyle WilliamsWRNE28%67%+3878%3.8
Brevyn Spann-FordTEDAL36%70%+3470%4.7
Ollie Gordon IIRBMIA46%79%+3372%10.5
Omar Cooper Jr.WRNYJ44%76%+3286%12.1
Tory HortonWRSEA27%58%+3161%3.9

What it means for a prop model

  • Ollie Gordon II (RB, MIA) has played 79% of snaps over his team's last 3 games, up from 46% before that. He's averaged 10.5 PPR points in that stretch. A number set on his earlier role may not reflect this one.
  • Germie Bernard (WR, PIT) has played 90% of snaps over his team's last 3 games, up from 48% before that. He's averaged 13.1 PPR points in that stretch. A number set on his earlier role may not reflect this one.
  • Omar Cooper Jr. (NYJ) went from 44% to 76% of snaps over the last 3 games. He's averaged 12.1 PPR points in that stretch. Check whether the number you're shown has caught up with the role.
  • Jonah Coleman's snap share climbed from 23% to 64% across the last 3 games. He's averaged 16.0 PPR points in that stretch. That's a usage trend to compare with your book's number, not a pick.

Whose snap share is trending down?

Snap share trending down: last 3 games vs earlier, through Week 9 (2026)
PlayerPosTeamEarlier avgLast 3 avgChangeWk 9Status today
Marvin Harrison Jr.WRHOU74%29%-4546%Questionable
Aaron Jones Sr.RBMIN73%33%-4035%Healthy
Jake FergusonTEDAL69%32%-3734%Out
Isaiah WilliamsWRNYJ67%33%-3460%Healthy
Kevin Coleman Jr.WRMIA50%20%-3019%Healthy
Andrew ArmstrongWRKC69%41%-2833%Healthy
Jaylen WaddleWRDEN68%40%-2819%Questionable
Hunter HenryTENE74%46%-2849%Healthy

What it means for a prop model

  • Jaylen Waddle's role shrank: 68% of snaps earlier, 40% over the last 3 games. Listed Questionable today.
  • Aaron Jones Sr. (RB, MIN) is down from 73% to 33% of snaps over the last 3 games. If the number you're shown still assumes the old role, that's the gap to look at.
  • Hunter Henry's role shrank: 74% of snaps earlier, 46% over the last 3 games. Listed Healthy today.

Whose role grows because a teammate is out?

When a starter sits, his snaps don't disappear: someone at his position plays them, and that player's volume is the number most likely to be stale. The table lists fantasy-relevant players who are Doubtful, Out or on a reserve list for Week 10 after playing in at least one of their team's last 3 games, and the teammate in line for the work, from Week 9 snap share.

Week 10: who is out, and whose role grows (2026)
PlayerPosTeamStatusSeason snapsWho gets the work
Puka NacuaWRLARIR87%Next by Wk 9 snaps: Tutu Atwell (47%)
Jeremiyah LoveRBARIIR43%Tyler Allgeier filled in: 52% to 96% in Wk 9
Michael WilsonWRARIIR88%Next by Wk 9 snaps: Simi Fehoko (49%)
Josh JacobsRBGBOut46%Next by Wk 9 snaps: Pierre Strong Jr. (45%)
TreVeyon HendersonRBNEOut33%Next by Wk 9 snaps: Lan Larison (22%)
RJ HarveyRBDENIR39%Jonah Coleman filled in: 40% to 77% in Wk 9
Jake FergusonTEDALOut56%Next by Wk 9 snaps: Brevyn Spann-Ford (70%)
Chris BellWRMIADoubtful62%Next by Wk 9 snaps: Caleb Douglas (74%)
Kendrick BourneWRARIIR55%Simi Fehoko filled in: 15% to 49% in Wk 9
Cole KmetTECHIIR61%Sam Roush filled in: 25% to 52% in Wk 9

What it means for a prop model

  • Puka Nacua is on a reserve list; Tutu Atwell played 47% of snaps in Week 9 and is next in line for the work.
  • With Jeremiyah Love on a reserve list, look at Tyler Allgeier: the last time Jeremiyah Love sat (Week 9), Tyler Allgeier went from 52% to 96% of snaps.
  • Michael Wilson is on a reserve list; Simi Fehoko played 49% of snaps in Week 9 and is next in line for the work.
  • With Josh Jacobs out, Pierre Strong Jr. is next in line by Week 9 snaps (45%). His role is the one to re-check.
  • TreVeyon Henderson is out; Lan Larison played 22% of snaps in Week 9 and is next in line for the work.

Still Questionable for Week 10: Amon-Ra St. Brown (DET, 83% of snaps this season), George Pickens (DAL, 78% of snaps this season), A.J. Brown (NE, 70% of snaps this season), Kenneth Walker III (KC, 74% of snaps this season), Garrett Wilson (NYJ, 89% of snaps this season), Harold Fannin Jr. (CLE, 86% of snaps this season), Luther Burden III (CHI, 60% of snaps this season), Mike Evans (SF, 54% of snaps this season). Their status settles closer to kickoff; if one sits, the same teammate math applies.

What changed on the injury report this week?

162 status changes were recorded between Monday, November 9 at 3:55 pm ET and Friday, November 13 at 3:55 pm ET, from the Pro /injuries/changes feed. Each one can move a teammate's role.

Injury status changes this week, Week 10
PlayerPosTeamFromToDetected
AJ DillonRBCAROUTACTIVEMonday, November 9 at 4:00 pm ET
Bam KnightRBARIOUTQUESTIONABLEMonday, November 9 at 4:00 pm ET
Andy DaltonQBATLOUTACTIVEMonday, November 9 at 4:02 pm ET
Elijah SarrattWRBALOUTACTIVEMonday, November 9 at 4:02 pm ET
Jack StrandQBATLOUTACTIVEMonday, November 9 at 4:02 pm ET
Kedon SlovisQBBALOUTACTIVEMonday, November 9 at 4:02 pm ET
Zachariah BranchWRATLOUTDOUBTFULMonday, November 9 at 4:02 pm ET
George PickensWRDALOUTQUESTIONABLEMonday, November 9 at 4:04 pm ET
KaVontae TurpinWRDALOUTQUESTIONABLEMonday, November 9 at 4:04 pm ET
Luke SchoonmakerTEDALOUTQUESTIONABLEMonday, November 9 at 4:04 pm ET
Josh WhyleTEOUTQUESTIONABLEMonday, November 9 at 4:14 pm ET
Kyle MonangaiRBCHIOUTQUESTIONABLEMonday, November 9 at 4:14 pm ET
MarShawn LloydRBGBOUTQUESTIONABLEMonday, November 9 at 4:14 pm ET
Taylen GreenQBCLEOUTACTIVEMonday, November 9 at 4:14 pm ET
Cade StoverTEHOUOUTACTIVEMonday, November 9 at 4:16 pm ET

Where does the Week 10 projection disagree with recent output?

We compared each player's Week 10 projection with his PPR average over his team's last 3 games and kept the gaps of 4 points or more (179 players had a weekly projection and at least 2 recent games). Only the gap is shown; the projection itself is one call away in /projections/10.

Week 10 projection above recent output
PlayerPosTeamGap vs last 3 PPR avgGamesLast 3 snapsStatus
Derrick HenryRBBAL+8.2349%Healthy
Jared GoffQBDET+6.83100%Healthy
Justin JeffersonWRMIN+6.5396%Healthy
Reggie VirgilWRARI+6.3328%Active
Sam LaPortaTEDET+6.3393%Healthy
Tyler HigbeeTELAR+6.0379%Questionable
Jahmyr GibbsRBDET+5.9378%Healthy
Jalen CokerWRCAR+5.9378%Healthy
Week 10 projection below recent output
PlayerPosTeamGap vs last 3 PPR avgGamesLast 3 snapsStatus
Tony PollardRBTEN-12.3378%Healthy
Joe BurrowQBCIN-12.3398%Healthy
Rhamondre StevensonRBNE-11.1369%Questionable
Tee HigginsWRCIN-11.0381%Healthy
Jordan LoveQBGB-8.7396%Healthy
C.J. StroudQBHOU-8.4396%Healthy
Kirk CousinsQBLV-7.43100%Healthy
Braelon AllenRBNYJ-7.3373%Healthy

What it means: a projection well above recent output expects something to change: a bigger role, a softer matchup or a teammate's absence. If the snap trend above doesn't show the bigger role, the projection is leaning on something else, and that's worth knowing before you compare any number. Gaps below the average work the other way. Either way it's a question to ask, not an answer.

How can I pull this data myself?

Everything on this page is a few API calls away, so you can run the same numbers through your own model. /players returns every player's weekly snap share, so one paginated sweep gets the whole league and the trend math runs locally. This reproduces the trending-up table:

import requests
from collections import defaultdict

API = "https://api.gridirondata.com/api/v1"
H = {"x-api-key": "YOUR_KEY"}
SEASON, THROUGH, WINDOW = "2026", 9, 3

players, cursor = [], None
while True:                                   # about 18 requests for the whole league
    params = {"limit": 100, **({"cursor": cursor} if cursor else {})}
    body = requests.get(f"{API}/players", headers=H, params=params).json()
    players += body["players"]
    cursor = body.get("next_cursor")
    if not cursor:
        break

def snaps(p):
    return p.get("seasons", {}).get(SEASON, {}).get("snap_counts", {}).get("weekly", {})

team_weeks = defaultdict(set)                 # weeks each team played; byes drop out
for p in players:
    for wk, row in snaps(p).items():
        if int(wk) <= THROUGH:
            team_weeks[row["team"]].add(int(wk))

def avg(xs):
    xs = [x for x in xs if x]                 # a missed game is left out, not a 0
    return sum(xs) / len(xs) if xs else None

trends = []
for p in players:
    rows = snaps(p)
    last = rows.get(str(THROUGH))
    if p["position"] not in ("RB", "WR", "TE") or not last:
        continue
    weeks = sorted(team_weeks[last["team"]])
    share = lambda ws: avg([(rows.get(str(w)) or {}).get("offense_pct") for w in ws])
    recent, earlier = share(weeks[-WINDOW:]), share(weeks[:-WINDOW])
    if recent and earlier:
        trends.append((recent - earlier, earlier, recent, p["player_id"]))

for delta, before, after, pid in sorted(trends, reverse=True)[:10]:
    print(f"{delta:+5.0f}  {before:3.0f}% -> {after:3.0f}%  {pid}")

Then go player by player, or pull the rest of the week's inputs:

  • GET /snaps/{player_id}?trend=3: one player's weekly snap rows plus his recent and season averages, in one call.
  • GET /projections/10?source=weekly&position=WR: the week's projections by position; the gap table above compares them with recent PPR output from /stats.
  • GET /injuries/changes?since=... (Pro): just the players whose status flipped since a timestamp, so a teammate's role change reaches your model the same morning.
  • GET /props?player_id=...&stat=rec_yds&line=... and GET /defense?position=WR (Pro): turn a stat line into P(over/under) and a fair price, and rank matchups by what each defense allows.

/props (the probability a player goes over or under a stat line, with a fair price) and /defense (what each defense allows by position) are on the Pro plan ($29/month or $249/year), along with game lines on /schedule, per-stat projections on /projections and the injury-change feed. Free and Basic keys get a 403 pro_required answer for them.

The sweep is about 18 requests and runs on Basic ($5/month, 5,000 a month); the prop, defense and injury-change endpoints are part of Pro. A free key covers player lookups and this week's projections. See the snap share guide for the details of the snap data.

Frequently asked questions

Are these picks?

No. They're usage trends computed from actual NFL data: snap share, role changes when a teammate is out, and how far a projection sits from recent output. Nothing here says which side of any number to take. Compare the trend with the number you're shown and make your own call.

Why does snap share matter for player props?

Because volume comes from playing time. A receiver on the field for 85% of his team's plays has more chances at catches and yards than one at 50%, and snap share shifts before the box score does when a coach changes a role.

Why the last 3 games?

One game is noisy: a blowout, an early injury or one game plan can swing it. 3 games smooth that out while staying recent enough to catch a real role change. Byes and missed games are left out of the average.

Where does the injury data come from?

Statuses come from /players, which refreshes on a schedule through the week, and status flips from the Pro /injuries/changes feed. This page shows them as of Friday, November 13 at 3:54 pm ET and isn't updated after it's published.

Can I use this data in my own model?

Yes. Every number here comes from the GridIron API. The snap and stats data behind it takes Basic ($5/month, 5,000 requests a month), where a full-league /players sweep is about 18 requests. The /props and /defense endpoints, game lines on /schedule and per-stat projections are on Pro ($29/month or $249/year). A free key covers player lookups and this week's projections.