THE LINENFL Closing Lines
MLBNFL
HomeThe WeekMatchupsFantasyStats
☕
Home
The Week
Matchups
Fantasy
Stats

SALCI © 2026— For informational and entertainment purposes only. Not financial or betting advice.

21+ only · Gambling problem? Call 1-800-GAMBLER.

Terms·Privacy·Refunds·How it works·Receipts
Week Replay·What a parlay costs·How the model works

Not affiliated with, endorsed by, or sponsored by Major League Baseball, MLB Advanced Media, or any MLB club, the National Football League, the NFLPA, or any NFL club. All team names, logos, and marks are the property of their respective owners and are used here for identification and factual reference only.

@salciMLB on X • #SALCI

☕ Buy me a coffee

What is actually stable in the NFL

How many games a statistic needs before it describes a player rather than the noise around him. Snap share gets there in one game. Yards per carry needs more than a season. Touchdowns per target never arrive.

39 metrics, 1,000 bootstrap resamples, measured at exactly n games rather than extrapolated from one half. As far as we can find, this is the first split-half stabilization table published for NFL player metrics — the data has been free for a decade and nobody had done it.

Reliable is not the same as predictive

Every number here says how consistently a statistic describes the same player withina season. It does not say the statistic predicts anything. We measured that separately: a quarterback's passing touchdown rate is the more reliable of two scoring metrics and was worth nothing at ranking the following week. A stat can be measured perfectly and still tell you nothing about what happens next.

WR/TE — fastest to slowest

  • Target share1.0 games
    r at 4 games 0.79895% CI [0.79, 0.81]n = 6,565 player-seasons
  • Targets per game1.0 games
    r at 4 games 0.77095% CI [0.76, 0.78]n = 6,565 player-seasons
  • Air-yards share1.0 games
    r at 4 games 0.77395% CI [0.76, 0.79]n = 5,509 player-seasons
  • Snap share1.0 games
    r at 4 games 0.86595% CI [0.85, 0.88]n = 3,388 player-seasons

    Share of his team's offensive snaps, from PFR via nflverse. A coaching decision rather than a play outcome — the closest football has to being written into the lineup.

  • Pass snaps per game (inferred routes)1.0 games
    r at 4 games 0.82895% CI [0.82, 0.84]n = 3,380 player-seasons

    INFERRED, and an upper bound: pass plays he was on the field for, which counts anyone who stayed in to block. It is here because YPRR's reliability cannot be read without its denominator's.

  • Receiving yards per game1.7 games
    r at 4 games 0.66995% CI [0.65, 0.69]n = 6,605 player-seasons
  • PPR per game1.8 games
    r at 4 games 0.66295% CI [0.64, 0.68]n = 6,605 player-seasons
  • Targets per route run (inferred)2.7 games
    r at 4 games 0.60295% CI [0.57, 0.63]61 pass snaps (inferred routes)n = 3,014 player-seasons

    Inferred denominator, per wr_routes_pg. Deflated against a true route count by the same factor as YPRR.

  • aDOT2.8 games
    r at 4 games 0.60095% CI [0.57, 0.62]9 targetsn = 5,509 player-seasons
  • Yards per route run (inferred)4.6 games
    r at 4 games 0.46595% CI [0.43, 0.50]105 pass snaps (inferred routes)n = 3,014 player-seasons

    Inferred: the denominator is pass snaps, not charted routes, so every value sits BELOW its true YPRR — Ja'Marr Chase 2024 reads 2.49 here against ~2.85 charted. A level to be compared within this study, never quoted beside a published YPRR.

  • Catch rate>9.3 games
    r at 4 games 0.24995% CI [0.22, 0.28]>29 targetsn = 6,565 player-seasons
  • YAC per reception>10.3 games
    r at 4 games 0.21395% CI [0.18, 0.25]>23 receptionsn = 5,292 player-seasons
  • Yards per target>21.6 games
    r at 4 games 0.15295% CI [0.12, 0.18]>67 targetsn = 6,565 player-seasons
  • xTD per target>24.6 games
    r at 4 games 0.14295% CI [0.10, 0.18]n = 5,509 player-seasons

    Expected touchdowns from field position, down, distance and where the ball was thrown, with the player removed. Model xtd-v1; the air-yards term is what a field-position lookup cannot have.

  • TDs per target>42.2 games
    r at 4 games 0.08795% CI [0.05, 0.13]>130 targetsn = 6,565 player-seasons

21 seasons (1999–2025, excluding 2003–2008) — nflverse carries no targets for 2003–2008 (confirmed upstream)

RB — fastest to slowest

  • Carries per game1.0 games
    r at 4 games 0.80695% CI [0.79, 0.82]n = 3,666 player-seasons
  • Snap share1.0 games
    r at 4 games 0.83895% CI [0.81, 0.86]n = 1,419 player-seasons

    Share of his team's offensive snaps. For a back this is the committee question stated directly.

  • Rushing yards per game1.6 games
    r at 4 games 0.69495% CI [0.67, 0.72]n = 3,666 player-seasons
  • Targets per game1.8 games
    r at 4 games 0.68295% CI [0.65, 0.71]n = 2,915 player-seasons
  • PPR per game1.9 games
    r at 4 games 0.64295% CI [0.61, 0.67]n = 3,666 player-seasons
  • Yards per carry>16.0 games
    r at 4 games 0.15395% CI [0.10, 0.20]>116 carriesn = 3,588 player-seasons
  • xTD per carry>17.2 games
    r at 4 games 0.21095% CI [0.15, 0.27]n = 2,163 player-seasons

    Expected touchdowns from field position, down and distance, with the player removed. Model xtd-v1, calibration on held-out seasons in src/data/nfl-xtd-model.json.

  • TDs per carry>22.9 games
    r at 4 games 0.16595% CI [0.10, 0.24]>165 carriesn = 3,588 player-seasons

27 seasons (1999–2025) — carries and rushing yards are complete back to 1999

QB — fastest to slowest

  • Carries per game1.3 games
    r at 4 games 0.75995% CI [0.72, 0.79]n = 1,690 player-seasons
  • Rushing yards per game1.5 games
    r at 4 games 0.75595% CI [0.71, 0.79]n = 1,690 player-seasons
  • Rushing xTD per game5.2 games
    r at 4 games 0.41295% CI [0.30, 0.52]n = 1,051 player-seasons

    Expected touchdowns from his own carries. ⚠️ A game with no carries is a real zero, not a missing value — he had no rushing scoring chances, which is exactly the thing being measured.

  • Attempts per game5.7 games
    r at 4 games 0.40595% CI [0.35, 0.46]n = 1,690 player-seasons
  • Completion %6.1 games
    r at 4 games 0.43495% CI [0.38, 0.49]185 attemptsn = 1,690 player-seasons
  • Sack rate6.1 games
    r at 4 games 0.39495% CI [0.33, 0.45]200 dropbacksn = 1,690 player-seasons
  • Rushing xTD per carry>8.4 games
    r at 4 games 0.15195% CI [0.02, 0.29]n = 943 player-seasons

    Where his runs happen rather than how many. Nearly orthogonal to carries per game, which is why it is measured separately.

  • Yards per attempt>9.9 games
    r at 4 games 0.34095% CI [0.28, 0.40]>303 attemptsn = 1,690 player-seasons
  • Passing EPA per game>10.0 games
    r at 4 games 0.36695% CI [0.29, 0.43]n = 1,051 player-seasons
  • CPOE>12.0 games
    r at 4 games 0.32695% CI [0.25, 0.40]n = 1,051 player-seasons
  • Passing xTD per attempt>20.4 games
    r at 4 games 0.20595% CI [0.12, 0.28]n = 1,048 player-seasons

    The expected touchdowns his throws created, credited to him as well as to his receivers. Never summed with rec_xtd — see migration 079.

27 seasons (1999–2025) — carries and rushing yards are complete back to 1999

Why these numbers are higher than the ones you have seen

Every published NFL reliability figure we could find is a year-over-year correlation. That instrument confounds three different things: measurement noise, real change in the player, and real change in his environment. A receiver whose target share moved because he changed teams is not evidence that target share is a noisy statistic.

Splitting a single season holds the environment fixed. Measured on the same players, both ways, and projected to the same length: split-half reads higher on 39 of 39 metrics, by as much as +0.307 (QB rushing xtd per carry). The gap is a measure of how much of a player's year-to-year change is the player, and how much is everything around him.

Yards per carry is the clearest case. Its published year-over-year R² of ~0.11 is real — but split-half puts it at 0.500 at season length. It is measured far better than year-over-year implies, and still needs a full season before it says anything.

Expected touchdowns, and the one place they fail

Raw touchdowns are the least stable thing in football, so we replaced them with expected touchdowns — the chance each carry or target had of scoring, from where and when it happened, with the player removed. Each one is measured against the raw rate it replaces, on identical rows.

  • TDs per target (matched baseline)r 0.078 · >44.0 games
  • TDs per carry (matched baseline)r 0.143 · >30.1 games
  • Passing TDs per attempt (matched baseline)r 0.244 · >15.4 games
  • Rushing TDs per game (matched baseline)r 0.341 · 6.6 games
  • Rushing TDs per carry (matched baseline)r 0.132 · >10.3 games

It works for receivers and running backs, roughly halving the sample needed. It fails for a quarterback's throws: his raw passing touchdown rate is more reliable than the expected version. A passer's touchdown rate carries skill that field position cannot see — which is exactly what the expected version removes by design.

Split-half: for each player-season with at least 2n eligible games, draw 2n at random, split into two disjoint sets of n, compute the metric on each, correlate across players. Repeated 1,000times. Stabilization is the n at which reliability reaches 0.5 — Carleton's convention. A figure marked >is extrapolated beyond the measured range and means “not within a season”.

Every row carries its own sample and its own coverage window. Source data: nflverse, 1999–2025. Everything else we have measured, including what failed.