The expected number of catches for a WR, TE or RB in one game, i.e. the average of a
count distribution, not an over/under pick. "Expected" can be a fraction (4.3 means "about 4,
with a real chance of 5–6"). The 80% range is where the actual number should land four times
out of five; it comes from a negative-binomial distribution around the projection, with
spread measured per position on past seasons.
What goes in
Only information known before kickoff: the player's last-4-game and season-to-date target
share, catch rate, depth of target, snap share, route participation and targets per route run; Next Gen Stats
separation and cushion; slot rate; teammates who are out (injury report, IR, cut or traded) or
returning this week; whether the player himself is coming back from missed games; QB changes; how many targets and catches this opponent has allowed to the player's usual
alignment (wide, slot, inline TE or backfield); opponent pressure rate and pace; the team's
implied point total and spread; neutral-situation pass rate; dome and rest days. Nothing from
the game being predicted is ever used.
The model
Built on nflverse play-by-play from 2016 onward. A Poisson regression and a gradient-boosted
tree model are both tested season by season: train on earlier seasons, then score the next one.
The better one goes live, and only if it beats two simple baselines (last-4-game average, and
team pass attempts × target share × catch rate). Current model: an average of both, bias-corrected on past seasons,
held-out error 1.23 catches per player-game vs
1.28 for the last-4 average.
Drivers
The drivers list the inputs that pushed this projection furthest from an average
player's, with the approximate % effect. "Target share ↑" means his recent share of the
team's targets is lifting the number.
When it updates
Data refreshes every morning and projections are re-scored, so Friday's final injury
report is reflected by the weekend. Use Games to narrow the table to one matchup. The model retrains every Tuesday. A projection assumes
the player suits up. If he's listed Out, the row is tagged.
Data through Oct 19, 2026
(latest game in the nflverse play-by-play) · projections refreshed Oct 22, 7:15 AM CT
· model trained Oct 20, 10:53 AM CT
Find a player
Model error1.23MAE, 8 held-out seasons
Last-4 avg1.28baseline MAE
80% range81%historical coverage
Pick a player from the search box or the table to see his projection, range and drivers.