? Situational Presets
Team EPA comparison
Loading...
EPA and market rankings
Loading...
Dataset summary
Roster and matchup analysis

Roster and matchup analysis

Create a roster scenario, review contract and draft assets, set the depth chart, and compare the lineup with opponent data.

01 / Scenario

Scenario settings

Changes apply only to this scenario and do not affect the Team Planning roster.

Staff details

Upload only an image you have permission to use. It is processed transiently for this session and is not retained in the app database.

02 / Roster

Roster and assets

Roster media is sourced from the latest local nflverse roster snapshot.

Player directory Roster additions
Contracts APY and current-year detail
Draft assets Draft-pick inventory

Scenario assets only — not a claim about the club's real pick ownership.

Roster actions Remove players or reset the roster
Trade scenario Player and pick exchange
Estimated values
03 / Depth chart

Depth chart

The lineup analysis uses the selected starters. Apply any changes after reordering a position group.

Every player on the scenario roster, in chart order. Acquiring or removing a player re-files this table immediately; depth positions you set by hand are kept.

04 / Lineup fit

Lineup and concept fit

Compatibility blends coverage exposure with shrunk QB and receiver route residuals.

Field view Selected concept and highest-share charted coverage

Analysis appears after the data loads.

Concept selection Concept and sheet frequency
Lineup fit Frequency-weighted compatibility
Concept comparison Opponent-adjusted concept results
Select a row to view the concept
Loading...
05 / Opponent analysis

Opponent tendencies and concept results

Opponent defense

Observed defensive results

Opponent defensive outcomes · lineup-adjusted concepts
Opponent offense

Observed offensive results

Concept allocation Illustrative calls, frequency, and evidence
Loading...
Custom allocation User-defined frequency
Defensive analysis Illustrative tendency-weighted allocation
Coverage, rush-count and run-front proxies
Loading...
Export Scenario summary and data
06 / Scouting report

Scouting report

A printable situational sheet, built from charted data on this server.

Download PDF
Loading...
Loading...
Loading...
Coverage by Down & Distance

Coverage usage and EPA by down-and-distance situation.

Loading...

Quarterback performance by selected coverage scheme. Coverage selection is in the sidebar.

Loading...
Loading...
Coverage Mix Over Time

Weekly coverage mix by season.

Loading...
Loading...
Loading...

Pressure rate, pressure without a blitz, and production by number of pass rushers. Quarterback results under pressure are available on the Quarterbacks tab in the Pressure × Time to Throw view.

Loading...
Loading...
Definitions: pressure = FTN-charted pressure on the dropback (pressures / opposing dropbacks) . “Blitz (5+ rushers)” counts total pass rushers (n_pass_rushers ≥ 5) ; “Blitzers (2nd-level) ≥ 1” counts FTN's n_blitzers, which tallies only second-level rushers — the two blitz definitions differ by construction and are shown side by side, never blended. “Pressure w/o Blitz” = pressures on ≤4-rusher dropbacks over ≤4-rusher dropbacks . QB-fault sacks per FTN charting .
Loading...
Loading...

This view compares a defense's coverage and personnel identity with the league and tracks weekly changes. Uniqueness measures difference from the league, not quality : across the 128 defense-seasons in our data it is essentially uncorrelated with EPA allowed per dropback (Spearman ρ = −0.01 combined, −0.06 coverage, +0.01 personnel; none significant). The scatter below shows this relationship.

Uniqueness vs Defensive EPA

Every defense-season in range is scored against its own season's league norm. The sidebar controls the identity block and whether rows represent defense-seasons or play-callers.

Loading...
Loading...
Loading...
Weekly Identity Change
Loading...
Archetype Probabilities

The frozen mixture contains two components. One component was unstable in bootstrap validation (Jaccard 0.41), and 110 of 128 defense-seasons fall in the “Mainstream” cluster. ICL and BIC selected this two-component fit over three to six components. The available feature space therefore supports one mainstream identity and an unstable fringe component. Posterior probabilities saturate by construction: in 11 dimensions the median team-season is 6.9 nats from the other component, equivalent to 99.9% before evidence specific to that defense is considered. A value of 100% indicates the mainstream side of the model boundary; it does not establish certain archetype membership. The uniqueness view above provides a graded measure of distance from the league norm.

Loading...
Similar Defenses
Loading...

Loading...
Loading...

Loading...
Player 1
Loading...
Player 2
Loading...
Head-to-Head Comparison

Passing Concepts

Observed route-concept results by coverage, field-zone targeting, and read progression from public charting data. No model predictions are shown.

Coverage Selection Observed route-family results for the selected quarterback and coverage.
Loading...
Route Detail Individual targeted routes behind the family ranks (minimum 3 targets)
Loading...
Game Situation
Field-Zone Results Select a field zone to view observed EPA in similar situations

Loading field...


Observed EPA by Target Area
Loading...
EPA by Read
Loading...
Read Distribution
Loading...
Read × Receiver Breakdown
Loading...
Game Planner

Matchup analysis and call sheet

Configure the matchup and situation, review opponent tendencies, design plays, and organize calls into a script.

Setup Matchup & situation
Call situation Down, distance, and field position
Editor Play designer

Loading field…

Projected coverage mix
Loading...
Passing quadrants
Loading...
Running quadrants

EPA by the gap a scheme is blocked to hit against the number of defenders the charting data counted in the box.

Loading...
Concepts against this coverage
Loading...
Opponent tendencies
Receiver route fit
Calls Call sheet
Current play
With the selected call:

Every estimate is re-derived from current charting data each time the script is viewed — a script stores calls, never numbers.


Script notes

Scripts persist in this browser only . Their inputs are processed transiently by the app server when you edit or reopen them, but are not stored in an app database. Use Export for a file you can post or send, and Share as text for a version anyone can read without the site.

Script library Browser storage

Methodology and limitations
  • The drawing is a schematic. There is no player-tracking data in public sources. Alignments, routes and coverage shells are the coaching definition drawn to scale — never an observed position, path, or zone landmark.
  • Concepts are not charted. Public data labels the ROUTE a target ran, never the concept the play was. A concept's number is the read-weighted mean of its component route families' observed results, with the read decay declared rather than fitted.
  • The quadrant grids describe thrown balls and charted runs. Sacks and scrambles carry no air yards, so they are absent from the passing grid by construction; runs without a charted box count are dropped rather than imputed.
  • Descriptive, not causal. Every figure reflects who ran it, when, and against whom. A concept ranking high is not a prediction that calling it will produce that EPA.
  • Charting-era caveat. 2022 coverage and route labels come from NGS participation; 2023+ are FTN. Pooling all charted seasons mixes the two vocabularies.
2026 redraft workspace

Build a board with the role behind the rank

Start with live market cost and draft dispersion. Then inspect the volume, scheme, situations, connections, games, and availability evidence that can change a pick.

Decision aid, not a forecast. Market and historical evidence do not guarantee outcomes. Verify your league settings and current player status before drafting.
Market board
Loading...
1st-read share is the player's share of all team first-read targets across games appeared. Receiving metrics apply to WR/TE; rushing metrics apply to RB.

How the role is deployed

Switch dimensions to see where observed opportunities and results came from. Every table reports its sample and charting coverage.

Targeted route mix

Shares are among charted targets—not routes run. Missing route labels remain outside the denominator and coverage is shown in the caption.

Quarterback connection

Selected scheme split

Where opportunities arrive

Use counts and shares for role; use per-event results as context. Thin situational efficiency is descriptive and should not drive a projection by itself.

Game-by-game floor, ceiling, and volume

Actual scoring is recomputed for the active format; expected scoring uses the same reception bonus.

Historical weekly reports

Weekly adjustment, not a draft ranking. This preserved matchup view grades how a player's targeted route mix aligns with an opponent's coverage results. It does not measure every route run.

Receiver Matchup Analysis

WR, TE, and RB grades derived from target distribution and opponent coverage results.

Loading...
Route vs Coverage Breakdown
Loading...

Loading...
Transparent by design

What each fantasy signal means

The board separates what drafters are doing from what the player's observed NFL role supports. Neither is presented as certainty.

Market ADP · default order

Average selection in 12-team human mock drafts from Fantasy Football Calculator. It measures acquisition cost, not player quality. PPR, half-PPR, and standard markets remain separate.

FFC methodology and API terms

Kneel Down evidence · observed role

Fantasy points are recomputed for the selected scoring format. Expected points come from ffopportunity's play-context model. Volume, targets, carries, team shares, first-read target rate, formations, coverage, game state, and efficiency are descriptive history—not a proprietary projection.

ffopportunity model and data

Availability · historical reports only

The public injury artifact records completed-season practice and game-status reports. It does not establish injury cause, medical severity, recurrence probability, games missed, or current-season status. Current decisions require an official or licensed live feed.

nflverse availability schedule
Sources, licenses, and independence
  • ADP data provided by Fantasy Football Calculator ; its REST API permits personal and commercial use with requested attribution.
  • Play-by-play and related nflverse data are used under CC BY 4.0 ; Kneel Down aggregates and reformats the source records.
  • Expected-points material from ffopportunity and FTN Data via nflverse are used under CC BY-SA 4.0 ; displayed adaptations are offered under the same license.

Kneel Down is independent and is not affiliated with or endorsed by the NFL, NFLPA, any club, Fantasy Football Calculator, FTN, or ffopportunity. Player and team names are used only to identify factual sports data. This tool is informational, not medical or wagering advice.

Why these metrics lead

Year-over-year practitioner studies consistently favor repeatable opportunity over touchdown rate: quarterback rushing, running-back receiving work, and receiver/tight-end targets, yards, target rate, and yards per route are more stable or more predictive than prior touchdown efficiency.

Route labels in this app describe targeted plays. The open play-by-play sample does not contain every route run, so the app never turns target-route share into route participation. Rookies and players without an NFL sample remain market-only profiles until evidence exists.

Team Planning

Review roster composition, APY commitments, contract scenarios, and the depth chart. Opponent analysis is available in Game Planner.

Roster
Loading...

APY Commitments

Headroom (APY basis)

% of Cap (APY basis)

Players

APY-based estimate — not official cap space. Real cap hits differ from APY (signing-bonus proration, top-51 offseason accounting), so most cap-compliant teams show negative headroom on this basis.

APY Allocation by Position Group
Loading...
Position Group Breakdown
Player Release
Undo Changes
Free-Agent Signing

Trade
Modified Roster Download CSV
Loading...
11 Personnel vs Nickel

Loading field…

Depth Chart Methodology
  • Alignment is schematic. There is no player-tracking data in public sources, so these are drawn positions for a standard 11-personnel look against nickel — not observed alignment, and not this team's actual formation usage.
  • Starters come from snap share. Each spot takes the eligible player with the highest mean snap share for this team in the most recent season with data (PFR via nflreadr), not from a depth-chart feed.
  • Players with no snap history — newly signed free agents and other arrivals — are placed by their contract position within the market. A hollow gold ring identifies these players.
  • Positions are contract labels. A player OverTheCap lists at RT appears at RT even if he moved inside last season.
  • Money is APY, not cap hit. No proration, no top-51, no void years — the same basis as the rest of Team Planning.
APY and EPA/Play

Active-contract APY plotted against observed EPA per play. Vertical distance from the fitted line shows each player's deviation from the fitted relationship.

Loading...
Active Contracts

Contract terms for records matching the selected filters.

Loading...
APY Allocation by Position
Loading...
Contract Database
Loading...

Loading...
Loading...

Run Direction vs Box Count
Loading...
Loading...
Loading...

WR/TE Route Tree
Loading...
Loading...

Route × Coverage Heatmap

Loading...

Underlying Table
Loading...

Usage and outcome association under the current filters — not play-calling causation.

Loading...
Denominators: Motion / No-Huddle / RPO / Shotgun rates are per scrimmage play; Play Action / Screen rates are per dropback.
Loading...
Loading...
Loading...
Loading...
Receiver Catching — league-wide
Loading...
About The Kneeldown

Thank you for visiting The Kneeldown. This project was originally created in 2022 when I was in high school. I used my experience as an R&D with PFF to create the site and build the original concept. Since then, life has gotten in the way and I haven't been able to maintain it as much until now where I've attempted to revive it, building it better than ever.

The use of Artificial Intelligence has been used extensively in the revamping of the site. The core, hand-written code behind many of the data structures remains central to the website - the use of AI has been employed to assist with the UI/UX and web-design functionalities as well as advanced data-analysis and model-building that would have otherwise not been possible given my schedule.

Like most of us, I continue to learn how to properly and intelligently use AI in my work - please do not hesitate to reach out if you notice any calculation or analysis errors. The goal was not to outsource the thinking to AI, rather, use it as a brute-force building tool to take the core idea of advanced scheme data made accessible to the average fan and apply it to many use cases.

This website would not be possible without nflreadR, FTN, NextGenStats, OverTheCap, and many other open-source data providers. I am grateful for the work they do to make this data available to the public.

Currently, it runs off of open source data meaning that there is no asymmetric information that is offered. The goal is to offer the average consumer the ability to understand football through a data-driven lens. If you have any suggestions, feedback, or questions, please reach out to me at ryweis1@outlook.com or on Twitter/X at @ryanweisman12 .

I am funding the hosting of this website by myself and plan to keep it free for the average user. If you have found the site valuable and would like to contribute to its hosting, feel free to do so here: Buy Me a Coffee .

Data Sources
Source Data Provider / terms
nflfastR / nflverse-data Play-by-play, EPA, schedules, rosters, historical reports nflverse · CC BY 4.0
FTN charting Ball quality, play action, blitz, scheme flags FTN Data via nflverse · CC BY-SA 4.0
Participation Coverage, targeted route, personnel, formation FTN Data / NFL NextGenStats via nflverse · CC BY-SA 4.0
ffopportunity Expected fantasy opportunity components ffverse/ffopportunity · CC BY-SA 4.0
Fantasy Football Calculator 12-team human mock-draft ADP FFC REST API terms
OverTheCap Contracts, APY, guaranteed money, cap hits nflreadr

The Kneeldown filters, joins, aggregates, and reformats these records. Relevant FTN, participation, and ffopportunity adaptations are offered under CC BY-SA 4.0; independently authored app code is not part of that data license. No provider or league endorsement is implied.

Data Status

Dataset sources, season coverage, row counts, and rebuild dates. Manifest generated 2026-08-09 17:03:29 UTC.

Dataset Source Rows Seasons Updated Cadence
Play-by-play (nflfastR + participation + FTN)  ⓘ nflreadr::load_pbp / load_participation / load_ftn_charting 197,362 2022-2025 2026-07-26 15:15 UTC Manual refresh; nightly upstream in season
NGS passing (weekly)  ⓘ nflreadr::load_nextgen_stats 3,631 2020-2025 2026-07-26 00:12 UTC Nightly in season
NGS receiving (weekly)  ⓘ nflreadr::load_nextgen_stats 8,871 2020-2025 2026-07-26 00:12 UTC Nightly in season
NGS rushing (weekly)  ⓘ nflreadr::load_nextgen_stats 3,703 2020-2025 2026-07-26 00:12 UTC Nightly in season
Fantasy opportunity (ffopportunity) nflreadr::load_ff_opportunity 36,063 2020-2025 2026-07-26 15:15 UTC Weekly in season
Fantasy market ADP  ⓘ Fantasy Football Calculator REST API 560 2026-2026 2026-08-09 15:35 UTC Daily during draft season
Historical injury reports  ⓘ nflreadr::load_injuries 23,564 2022-2025 2026-08-09 15:35 UTC Completed-season archive
Contracts (OverTheCap)  ⓘ nflreadr::load_contracts 51,734 2026-07-26 15:15 UTC Periodic
Schedules  ⓘ nflreadr::load_schedules 1,411 2022-2026 2026-07-26 15:15 UTC Refresh + schedule releases
Rosters  ⓘ nflreadr::load_rosters 15,507 2022-2026 2026-07-26 15:15 UTC Season rollover + offseason updates
Snap counts (PFR) nflreadr::load_snap_counts 106,148 2022-2025 2026-07-26 00:12 UTC Weekly in season
ESPN QBR (season)  ⓘ nflreadr::load_espn_qbr 321 2022-2025 2026-07-26 00:12 UTC Weekly/season
ESPN QBR (weekly)  ⓘ nflreadr::load_espn_qbr(summary_type='week') 2,273 2022-2025 2026-07-26 00:12 UTC Weekly in season
Defensive player stats nflreadr::load_player_stats(summary_level='week') 45,553 2022-2025 2026-07-26 00:12 UTC Weekly in season
Team colors & logos nflreadr::load_teams 32 2026-07-26 00:12 UTC Static
Player identity dimension  ⓘ nflreadr::load_players 25,035 2026-07-26 15:15 UTC Periodic

Charting-era caveat: 2022 coverage/route/pressure labels come from the NGS participation release (~84% of pass plays charted, different route vocabulary); 2023+ is FTN-charted (~100%). Cross-era rates are computed on different instruments — era-sensitive views say so in place.

Retired — Play Caller EPA Model

Withdrawn 2026-08-03. The XGBoost model that predicted per-play EPA for a proposed play design has been removed from the site, together with the “Play Analysis” and “Play Caller Game” views it powered. No page on the site now shows a predicted-EPA number.

  • Reason: two of its inputs encoded the play's outcome rather than its call. On pass plays, the “no air yards” bucket is 93.6% sacks and the “no route” bucket is 61.2% sacks — so part of what the model had learned was to recognise that a sack had already happened, which a play-caller cannot know at the moment of the call.
  • Evaluation impact: re-scoring the published out-of-time folds on non-sack plays only — the plays the tool could actually be asked about — cut the model's edge over the situation+play-type baseline from 5.4% to 2.2% RMSE, and its correlation with actual EPA from 0.33 to 0.20. The direction of the change was consistent across both folds.
  • Current status: there is no replacement EPA prediction. The remaining passing views (Passing Concepts, and the GM game-plan views) report observed outcomes over observed plays with explicit sample sizes.
  • Replacement requirements: a future model must separate the two questions the old model mixed together — will the ball be thrown at all, and what happens if it is — and be backtested week-by-week rather than on two season folds.
Model Card — Coverage-Mix Model
  • Purpose: predicts which coverage a defense will show in a pre-snap situation, as a probability distribution. Those probabilities drive the GM game-plan view's “what the defense is likely to play” panel; the per-coverage EPA-allowed and box-count figures beside them stay empirical.
  • Model specification: XGBoost multiclass (multi:softprob), 45 features (pre-snap situation, offensive RB/TE counts, defense identity). Unit: one charted defensive pass play.
  • Classes: 10 charted coverage schemes (Cover 0–4, 6, 9, 2-Man, Combo, Prevent). BLOWN (busted coverage) is a data-quality bucket, and is excluded as a class.
  • Training: 2026-07-23 ; 70,994 plays ( 2022–2025 ); validation mlogloss 1.6336 / top-1 37.5% at iteration 240 .
  • Out-of-time evaluation: trained on past seasons and evaluated on a subsequent full season. The model recorded lower multiclass log-loss and higher top-1 accuracy than the smoothed-empirical baseline in both expanding-window folds:
  • Fold Test plays Log-loss (smoother) Log-loss (model) Top-1 (smoother) Top-1 (model)
    train 2022-2023 -> test 2024 19,829 1.8472 1.7506 31.2% 35.7%
    train 2022-2024 -> test 2025 19,602 1.8401 1.8297 27.5% 27.9%

    The 2025 fold shows a small log-loss difference (1.8297 vs 1.8401); performance in the most recent season is close to the smoother.

  • Limitations: pre-snap information only — no personnel packages beyond RB/TE counts, no motion, no injuries or roster context. Coverage labels change provenance at the 2022/2023 charting-source boundary (NGS participation vs FTN). Coverage calls are inherently noisy: the maximum out-of-time top-1 accuracy is ~36%.
  • Fallback behavior: if the model bundle is missing or a defense/situation can't be encoded, the app logs one line and reverts to the hierarchically smoothed empirical mix (situation → defense → league, k = 15) — the previous production method, still covered by existing tests.
Model Card — Defense Archetypes
  • Purpose: clusters defensive coverage identities (10 smoothed coverage shares as isometric log-ratios + logit man rate + logit blitz rate, within-season centered so archetypes describe deviation from that season's league norm — the 2022 NGS vs 2023+ FTN vocabulary break is removed by construction). The Coverage Hub Identity tab shows posterior probabilities by projection onto this frozen fit; profiles are not re-clustered.
  • Model specification: Gaussian mixture (mclust 6.1.3 ), model VEE , k = 2 components, selected by ICL (entropy-penalized BIC, which favors separated clusters); k was not set to a predetermined minimum.
  • Fit: 2026-07-25 on 128 defense-seasons ( 2022–2025 ).
  • Stability criteria: B = 100 bootstrap resamples, mean Jaccard per cluster; ≥ 0.75 → named archetype, 0.60 – 0.75 → unnamed pattern, below → dissolved into “Mixed”:
  • Cluster n Mean Jaccard Gate result Shown as
    1 18 0.41 dissolved Mixed
    2 110 0.83 named Mainstream
  • Label derivation: names are descriptive, centroid-derived, and explicitly unordered. On the frozen fit the league separates into one large stable cluster sitting essentially at the season league norm (“Mainstream”, Jaccard 0.83) plus a small unstable fringe cluster (COMBO-avoidant, single-high/quarters tilt) that failed the 0.60 pattern criterion and was assigned to “Mixed.” At n = 128 , the fitted result is one mainstream identity plus fringe variation.
  • Limitations: 128 defense-seasons is a small pool — expect coarse clusters; archetype membership describes style rather than quality (distinctiveness is not success); coverage labels change provenance at the 2022/2023 charting boundary (handled by within-season centering); the bundle is frozen and must be refit when a new season completes (new seasons project against the latest stored season center until then).
Methodology — QB After Disruption
  • Scope: how a QB's dropbacks after a disruption event (pressure, QB hit, sack, interception, strip-sack) compare to his own baseline, in four response windows: next dropback, rest of drive, next same-QB drive, rest of game.
  • Estimator: within-QB difference-in-differences. the displayed delta is (situation-adjusted EPA residual on post-event dropbacks) minus (the same QB's residual on his non-post-event dropbacks, reweighted by situation bucket to the post-event situation mix). A pooled baseline would leave QB quality inside the delta; and because events select on transient bad process, post-event play regresses up by construction — so a matched placebo (“after a situation-matched bad play that wasn't the event”: non-event dropbacks below the QB's own median EPA, importance-weighted to the event's situation distribution) is displayed beside it. If event and placebo deltas match, the “response” is ordinary mean reversion, not something the event caused.
  • Sequence rules: plays ordered by game_id + play_id (monotonicity asserted); nullified no-play snaps excluded from the response count; kneels, spikes, and two-point tries excluded; “next drive” = the next drive with the same offense and the same passer (rather than fixed_drive + 1, which is usually the opponent's drive); a turnover on the event play empties the rest-of-drive window; truncated windows are excluded from denominators rather than scored as zero; a benched QB's window resumes on his return without bridging the backup's plays.
  • Uncertainty: per-QB deltas are shrunk toward the league delta (empirical Bayes, k = 25 events) and carry 95% game-clustered bootstrap CIs (B = 500 — plays within a game are dependent, so games are resampled, not plays).
  • Sample-size guidance (measured anchors, ≥300-dropback QB-seasons): median per QB-season is 148 pressures / 32 sacks / 10 INTs / 2 strip-sacks. So pressure, hit, and sack windows are per-QB viable with shrinkage; interception windows are pooled 2022–2025 (a narrower season pick auto-falls back, with a notification); strip-sack windows are reported only at league level.
  • Interpretation: observed situation-adjusted output after the event, relative to this QB's own baseline — reflects selection and mean reversion; descriptive rather than causal and does not measure toughness or psychology.
Methodology
  • Pizza Charts: Percentile rankings computed against the full position pool using ECDF.

Per-metric definitions (EPA/Play, Success Rate, CPOE, Matchup Grades, and every other displayed metric) moved to the Metric Dictionary card below — each entry states its exact denominator, sample gate, shrinkage policy, charting-era caveat, and data source.

Metric Dictionary

Definitions and methodology for displayed metrics are maintained in a shared registry that also supplies the in-place ⓘ tooltips. Each entry states the plain-language definition, the exact denominator, the minimum sample shown, any shrinkage applied, whether the 2022 charting-source break affects it, and where the data comes from.

Expected Points Added per play — the change in expected points caused by a play, from nflfastR's expected-points model. The site's universal currency: positive = good for the offense.

Denominator
all plays in the selected sample (QB coverage/route views: the QB's pass plays vs the scheme; team views: scrimmage plays, rps %in% c('pass','run'), excluding kneels/spikes/special teams)
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
epa_play

The same nflfastR EPA, averaged over a receiver's targets — every play on which he was the targeted receiver.

Denominator
the receiver's targets (plays with him as targeted receiver)
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
epa_target

The same nflfastR EPA, averaged over ALL dropbacks — including sacks and throwaways, not just throws. Used by the Passing Concepts QB-vs-Coverage value box and the Pressure sub-tab's EPA/Dropback Allowed.

Denominator
all dropbacks (rps == 'pass'), sacks and throwaways included
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
epa_dropback

Share of plays with EPA > 0.

Denominator
plays in the current sample with a non-missing EPA
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
success_rate

Turnover margin: takeaways minus giveaways, counted over ALL plays (special teams included) in the selected seasons. A turnover is an interception or a lost fumble (fumble_lost). Attribution follows possession: the offense (posteam) commits, the defense forces — EXCEPT on punts, where posteam is the PUNTING team while nearly every punt fumble lost is a receiving-team muff (97 of 98 in 2022-25). A punt fumble_lost with positive posteam EPA is therefore credited as a giveaway BY the receiving (returning) team and a takeaway FOR the punting team; a punt fumble_lost with EPA <= 0 (botched snap, failed fake) stays a punting-team giveaway. Kickoffs need no flip: posteam there is already the receiving team.

Denominator
counting stat, not a rate: all plays in the selected seasons, special teams included
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
to_margin

Empirical-Bayes stabilized EPA: eb_shrink(x, n, prior, k) = (n·x + k·prior) / (n + k) with prior weight k = 25 observations — small-sample means are shrunk toward a relevant prior so thin cells can't dominate rankings. Raw values and n always remain visible.

Denominator
the cell's own plays/targets (n), shrunk toward the view's stated prior: Route×Coverage heatmap — LEAGUE same-coverage mean computed from the full filtered pass frame (never the Team/QB-scoped frame); Passing Concepts QB-vs-Coverage concepts — league mean for that concept vs that coverage; receiver ranking — situation-pool mean; Read Progression — per-read league mean
Min n shown
none (all n shown)
Shrinkage
eb_shrink k=25 toward the view's stated prior
Era caveat
No
Source
derived
Registry id
stabilized_epa

Completion Percentage Over Expected — actual completion minus nflfastR's expected completion probability given play difficulty.

Denominator
pass plays with a non-missing cpoe value (~80% fill on pass plays)
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
cpoe

Average Depth of Target — mean air yards on throws. The canonical instrument is pbp air_yards (coalesced with the 2022-only NGS ngs_air_yards); Weekly Stats shows NGS avg_intended_air_yards.

Denominator
throws with a charted air-yards value
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
adot

Share of throws with air yards ≥ 20 (the deep_throw flag, derived from coalesce(air_yards, ngs_air_yards)).

Denominator
throws with charted air yards (~93% of pass plays each season); deep = air yards ≥ 20
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
deep_throw_rate

Seconds from snap to release, from Next Gen Stats. QB-tab buckets: <2.3 / 2.3–2.8 / 2.8–3.3 / 3.3+ seconds.

Denominator
dropbacks with an NGS time_to_throw measurement
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
NGS weekly
Registry id
ttt

Share of opposing dropbacks with an FTN-charted pressure on the QB (was_pressure).

Denominator
charted pressures / opposing dropbacks (rps == 'pass')
Min n shown
100
Shrinkage
none
Era caveat
No
Source
FTN charting
Registry id
pressure_rate

Share of dropbacks with five or more total pass rushers (n_pass_rushers ≥ 5). One of two blitz definitions shown side by side, never blended.

Denominator
5+-rusher dropbacks / opposing dropbacks with a charted n_pass_rushers
Min n shown
100
Shrinkage
none
Era caveat
No
Source
FTN charting
Registry id
blitz_rate_rushers

Share of dropbacks where FTN's n_blitzers ≥ 1. n_blitzers counts only SECOND-LEVEL rushers, so this is a different construction from the 5+-rushers definition — the two are shown side by side, never blended.

Denominator
n_blitzers ≥ 1 dropbacks / opposing dropbacks with a charted n_blitzers
Min n shown
100
Shrinkage
none
Era caveat
No
Source
FTN charting
Registry id
blitz_rate_blitzers

Pressure generated without sending extra rushers: the pressure rate restricted to dropbacks with four or fewer pass rushers.

Denominator
pressures on ≤4-rusher dropbacks / ≤4-rusher dropbacks (charted n_pass_rushers)
Min n shown
100
Shrinkage
none
Era caveat
No
Source
FTN charting
Registry id
pressure_no_blitz

Share of sacks in the sample that FTN charted as the QB's fault (is_qb_fault_sack).

Denominator
FTN QB-fault sacks / sacks in the sample
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
FTN charting
Registry id
qb_fault_sack_share

How often a defense lines up in each charted coverage scheme, over dropbacks only (rps == 'pass' — QB scrambles with charted coverage are excluded, matching the QB coverage views). BLOWN (busted coverage — a data-quality bucket, not a callable scheme) is excluded from numerator AND denominator, so shown usage sums to 100%.

Denominator
team dropbacks in the scheme / team charted-coverage dropbacks (rps == 'pass'); league baseline = mean of per-team usage shares over ALL teams in the same filtered sample, with zero shares for teams that never show the scheme
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
FTN charting
Registry id
coverage_usage

Mean EPA a defense allows on dropbacks in each charted coverage scheme. Dropbacks only (rps == 'pass'): QB scrambles carry charted coverage too but belong to the run population, so they are excluded — the same denominator as the QB-vs-coverage views. League baseline is the play-weighted mean over all dropbacks in the scheme under the same filters.

Denominator
dropbacks (rps == 'pass') with the scheme charted vs the selected defense; league baseline over all such dropbacks league-wide
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
FTN charting
Registry id
coverage_epa_allowed

Player targets divided by team targets — computed PER TEAM STINT (player × team over that stint's weeks) so traded players are not blended across teams; the most recent stint is reported.

Denominator
player targets with the team / that team's total targets over the stint's weeks
Min n shown
30
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
target_share

Player carries divided by team carries over the selected regular-season game sample. This measures observed rushing workload, not snap share.

Denominator
player carries / team carries in the player's observed games
Min n shown
20
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
carry_share

Player targets charted as the quarterback's first read divided by all team targets charted as first reads across the games the player appeared. This measures the player's share of designed receiving priority rather than the mix of their own targets.

Denominator
player first-read targets / team first-read targets in games appeared
Min n shown
10
Shrinkage
none
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
FTN charting
Registry id
first_read_target_share

Completions on the receiver's targets (mean of complete_pass over targets) — of ALL targets, unlike Drop %, which uses catchable targets only.

Denominator
receptions / all targets (catchable or not)
Min n shown
30
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
catch_rate

Drops divided by CATCHABLE targets (FTN-charted catchable balls) — never of all targets (league ≈5.0%). Lower is better; inverted in pizza percentiles.

Denominator
FTN-charted drops on catchable targets / catchable targets
Min n shown
25
Shrinkage
eb_shrink k=25 toward the play-weighted league drop rate (computed from everyone before the display filter)
Era caveat
No
Source
FTN charting
Registry id
drop_rate_catchable

Contested-catch conversion: completed catches on FTN-charted contested targets.

Denominator
contested catches (contested & complete) / contested targets
Min n shown
25
Shrinkage
eb_shrink k=25 toward the play-weighted league contested conversion (computed from everyone before the display filter)
Era caveat
No
Source
FTN charting
Registry id
contested_conv

Share of dropbacks with an FTN-charted interception-worthy throw. Uncharted flags count as not-flagged (≥99.6% of plays are charted).

Denominator
INT-worthy throws / QB dropbacks (rps == 'pass')
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
FTN charting
Registry id
int_worthy_rate

Share of a QB's interception-worthy throws that were actually intercepted — computed as the intersection sum(int & int_worthy) / sum(int_worthy), because tipped-ball INTs aren't always charted worthy. League ≈48.5% pooled 2022–25. Descriptive; never framed as “luck”.

Denominator
intercepted INT-worthy throws / INT-worthy throws
Min n shown
100
Shrinkage
none
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
FTN charting
Registry id
int_worthy_conversion

Share of dropbacks FTN charted as throwaways (is_throw_away).

Denominator
throwaways / QB dropbacks (rps == 'pass')
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
FTN charting
Registry id
throwaway_rate

NGS avg_separation — yards between the receiver and the nearest defender at catch/arrival; the receiver's weekly NGS average joined per play.

Denominator
targets with an NGS separation value (weekly player average joined per play)
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
NGS weekly
Registry id
separation

Rush Yards Over Expected — the NGS model's actual minus expected rush yards given blocking/box, as a per-attempt weekly average joined per play.

Denominator
carries with an NGS RYOE value (per-attempt weekly average)
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
NGS weekly
Registry id
ryoe

Team usage of the FTN play flags (motion, no-huddle, RPO, shotgun, play action, screens) vs the play-weighted league under the same filters. Association, not play-calling causation — the flags are not randomly assigned.

Denominator
Motion / No-Huddle / RPO / Shotgun per scrimmage play (rps %in% c('pass','run')); Play Action / Screen per dropback (rps == 'pass')
Min n shown
100
Shrinkage
none
Era caveat
No
Source
FTN charting
Registry id
tendency_usage_rate

Score = EPA the defense allows on the player's most-TARGETED route families vs league average, weighted by the player's TARGET share on each family (0.5 = league-neutral). Targets are the charted data — routes run are not tracked (ff_opportunity route counts are weekly aggregates and are not wired here). Letter grades curve the Score across the graded (100+ target) players: A = top 20%, B = next 20%, C = middle 20%, D = next 20%, F = bottom 20%.

Denominator
the receiver's charted-route TARGETS overlaid on the opponent's coverage-allowed EPA; graded pool = players with ≥100 targets
Min n shown
100
Shrinkage
reliability curve: sub-100-target scores pulled toward the DISPLAYED population's mean raw score (recomputed from the current filtered field before curving — not a constant 0.5) by min(targets/100, 1); letter grades only for ≥100-target players
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
derived
Registry id
matchup_grade

Targets per game in the pizza-chart metric tables (WR/TE and RB). The denominator is games the player APPEARED in — any offensive involvement on a play: targeted (receiver), carried (rusher), or dropped back (passer) — counted once per season-week. It is NOT games-with-a-target (which doubled the rate for players targeted in half their games) and not official games played: pbp has no participation log, so a zero-touch appearance cannot be counted.

Denominator
distinct season-weeks with any offensive involvement (target OR carry OR dropback) within the filtered sample (compute_player_games_appeared, R/07-utils-pizza.R)
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
nflfastR
Registry id
targets_per_game

Percentile of a player's metric vs the qualifying position pool, via the pool's empirical CDF: P(pool ≤ value), so ties share credit. Lower-is-better metrics (INT-Worthy%, TTT, Fumble%, Drop%) use the ECDF of NEGATED values — P(pool ≥ value) — which is tie-symmetric: players tied at the best value all get the top percentile (the old 1 − ECDF form was the strict P(pool > value) and charged every tie).

Denominator
position pool at the qualifying volume (QB ≥100 plays, WR/TE ≥30 targets, RB ≥40 carries), roster positions as pool authority
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
derived
Registry id
pizza_percentile

The GM simulator's ledger: the sum of APY over the team's active contracts, plus dead money from simulated cuts. This is an APY-BASED ESTIMATE, not official cap space — real cap hits differ from APY because signing bonuses prorate over up to five years and offseason accounting counts only the top-51 charges, so summing APY exceeds the $301.2M cap for most cap-compliant teams (headroom = cap − commitments is then negative, and the share-of-cap gauge exceeds 100%). Cut/sign/trade moves stay internally consistent in APY units; cap-hit modeling (prorations, restructures) is deliberately deferred.

Denominator
counting stat, not a rate: sum of OTC APY ($M) over the selected team's active contracts + simulated dead money; share of cap divides by the $301.2M 2026 league cap
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
OTC
Registry id
apy_commitments

Estimated APY for a simulated free-agent signing. Anchored on the player's own most recent contract APY (the market's last real observation of him); players with no usable prior APY fall back to the position's median APY among recent (2023+) signings. Where the player has recent play-by-play EPA, his EPA percentile within the pool's position group scales the anchor by a bounded 0.6x–1.8x multiplier. An estimate — age, injury, scheme fit, and bidding wars are not modeled, and the anchor lags when the last deal is stale.

Denominator
the free-agent pool: each player's latest inactive contract (year_signed ≥ 2022) for players holding NO active contract; EPA percentile over the pool's position group (whole pool when the group has < 10 EPA-attached players; EPA gates: 50 pass / 20 target / 30 rush plays)
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
derived
Registry id
fa_market_value

Points from the actual Jimmy Johnson trade value chart, embedded for all 224 picks (3000 for pick 1, 590 for 32, 100 for 100, 2 for 224); picks 225+ continue the round-7 step (0.3/pick) floored at 1. Replaced (2026-07) an exponential approximation that ran 1.7x–53x high after round 1 and flattened the chart's early-pick premium. Player-for-pick verdicts map the player's APY to a pick equivalent and compare chart points; the JJ chart reflects 1990s trade norms, not modern surplus-value research.

Denominator
not a rate: chart points per pick (1–262); player trade value uses apy_to_pick_equivalent(APY) → pick → chart points
Min n shown
none (all n shown)
Shrinkage
none
Era caveat
No
Source
derived
Registry id
jj_pick_value

How far a defense's coverage identity sits from its season's league norm — the leave-one-out Mahalanobis distance of the identity vector (CLR of 10 smoothed coverage shares + logit man rate + logit blitz 5+ rate) from the season's play-weighted league centroid computed WITHOUT the team, under an OAS-shrunk covariance fit on within-season-centered defense-seasons 2022+ and refit without the scored team. Reported as rank/percentile among the season's 32 defenses only — the reference distribution supports no p-values. Distinctiveness measures difference from the league, NOT quality — a distinctive defense is not thereby a good one.

Denominator
not a rate: distance over the defense's eligible charted non-BLOWN dropbacks (n shown); percentile among the season's 32 defenses
Min n shown
none (all n shown)
Shrinkage
coverage shares via kd_smooth_coverage_mix k=15 (week -> defense-season -> league); man/blitz rates via eb_shrink k=15 toward the league rate
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
derived
Registry id
distinctiveness

The same leave-one-out Mahalanobis machinery as Defensive Distinctiveness, reported in three identity spaces: COVERAGE (the 12-dim scheme vector — identical to Distinctiveness), PERSONNEL (CLR of the 4 smoothed package shares base/nickel/dime/quarter by defensive-back count, plus CLR of the 3 front shares light/odd/even by defensive-line count), and COMBINED (both, 19 dims). Each block is scored separately and WITHIN season against that season's play-weighted league centroid computed without the team, under an OAS covariance refit without the scored row. Personnel is the one identity input that survives the 2022 NGS / 2023+ FTN charting break intact: 2022 charts 'DL/LB/DB' counts directly and 2023+ granular positions condense to the same counts, so no personnel class is era-absent. Reported as rank and percentile among the season's 32 defenses only. Distances from different blocks are in different metrics and are NOT comparable in absolute terms — percentiles are. Uniqueness measures difference from the league, NEVER quality: measured over the 128 defense-seasons 2022-25, uniqueness and EPA allowed per dropback are uncorrelated (Spearman rho = -0.01 combined, -0.06 coverage, +0.01 personnel; no p below 0.5).

Denominator
not a rate: coverage uses charted non-BLOWN dropbacks, personnel uses dropbacks with a parseable defense_personnel_condensed (100% of pass plays 2022-25), and the combined block is play-weighted by the thinner of the two; percentile among the season's 32 defenses
Min n shown
100
Shrinkage
every composition (coverage classes, personnel packages, fronts) is smoothed by the SAME kd_smooth_coverage_mix hierarchy k=15 with an alpha=0.5 Laplace-floored league prior; man/blitz rates via eb_shrink k=15; covariance by OAS shrinkage (rho ~0.12 coverage, ~0.04 personnel and combined)
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
derived
Registry id
identity_uniqueness

Jensen-Shannon divergence (log base 2, bounded 0-1) between week w's smoothed coverage mix and the exponentially decayed trailing mix of the team's PRIOR weeks (half-life 4 weeks, week w excluded; the first two observed weeks are not scored). Because both arms shrink toward the same priors, raw JSD is deflated in low-volume weeks — every week is therefore shown against a multinomial parametric-bootstrap null band (90th percentile of 500 no-change resamples at the true ns), and a week only reads as changed when it clears the band. Within-season only; descriptive — no persistence alerts.

Denominator
week-w charted non-BLOWN dropbacks vs the effective n of the EW-decayed trailing mix (both ns shown)
Min n shown
none (all n shown)
Shrinkage
both arms smoothed via kd_smooth_coverage_mix k=15 toward the defense-season then league mix
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
derived
Registry id
identity_change_jsd

Posterior probability from the frozen defense-archetype Gaussian mixture (mclust on ilr + logit identity vectors of all pooled defense-seasons, within-season centered; model/k selected by ICL; bootstrap-Jaccard stability gates: >= 0.75 named, 0.60-0.75 unnamed pattern, below dissolved to Mixed). Profiles are PROJECTED onto the frozen model — never re-clustered — so posteriors are deterministic. Archetypes describe style relative to the season's league norm, not quality; names are descriptive and unordered. Posterior magnitude is saturated by construction (audited 2026-08-05). The frozen fit has G = 2 and the bootstrap DISSOLVED one component (Jaccard 0.41), so 110 of 128 defense-seasons carry the single 'Mainstream' label. Both ICL and BIC prefer that 2-component fit to G = 3-6, which is the honest finding rather than a tuning artifact: this feature space holds one mainstream identity plus unstable fringe variation. The near-100% posteriors are arithmetically correct but saturate BY CONSTRUCTION — the posterior is 1/(1+exp(-gap)) in the two components' weighted log-density gap, and in 11 dimensions the median defense-season sits 6.9 nats (99.9%) from the rival component before any evidence specific to that defense is weighed; the same saturation persists at G = 3-6 (mean max-posterior 0.91-0.97). A posterior here means 'which side of the boundary', never 'how certain'. For a graded, non-degenerate read of how unusual a defense is, use identity_uniqueness.

Denominator
not a rate: posterior probabilities over the frozen mixture components (sum to 1); fit pool = defense-seasons 2022-25 (n = 128)
Min n shown
none (all n shown)
Shrinkage
inputs are the smoothed identity features (kd_smooth_coverage_mix k=15; eb_shrink k=15 for rates)
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
derived
Registry id
archetype_prob

Mean EPA allowed per dropback of the k=5 nearest defense-seasons by the same Mahalanobis identity metric — same charting era only, min-n gated, and always EXCLUDING the team itself (leave-one-out). A descriptive baseline: 'vs stylistically similar defenses', not opponent-adjusted, and similarity of style says nothing about quality — distinctiveness is not success.

Denominator
all dropbacks (rps == 'pass') faced by the k nearest same-era defense-seasons with >= 200 eligible dropbacks, self excluded
Min n shown
200
Shrinkage
none (plain mean over the neighbor defense-seasons)
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
derived
Registry id
similar_def_epa_loo

Jensen-Shannon divergence (log base 2, bounded 0-1) between the hierarchically smoothed coverage mixes immediately before and after a documented defensive play-caller change. The observed divergence is compared with the 90th percentile of 500 multinomial no-change resamples at the two eras' true sample sizes. A shift is descriptive, not a causal effect of the staffing change.

Denominator
charted non-BLOWN defensive dropbacks in the adjacent play-caller segments; both segments require at least 100 eligible dropbacks
Min n shown
100
Shrinkage
both era mixes use kd_smooth_coverage_mix k=15 toward that defense-season and the season league mix
Era caveat
Yes — affected by the 2022 (NGS participation) vs 2023+ (FTN) charting break; era notes appear in place.
Source
derived
Registry id
caller_era_shift_jsd

Observed situation-adjusted output after a disruption event (pressure, hit, sack, INT, strip-sack), relative to this QB's OWN baseline: mean situation-bucket EPA residual on post-event dropbacks minus the same QB's residual on his non-post-event dropbacks reweighted to the post-event situation distribution (difference-in-differences). Reflects selection and mean reversion; descriptive, not a causal bounce-back, never toughness/psychology. Reliability tiers per measured event counts: pressure/hit/sack are per-QB-season viable, INT per-QB only pooled 2022-25, strip-sack league-level only (never per-QB — median 2 per QB-season).

Denominator
genuine dropbacks (qb_dropback == 1; no_play, kneels, spikes, and two-point tries excluded) inside the selected response window — next dropback, rest of drive, next same-QB drive, or rest of game — same game and same passer only; truncated (empty) windows dropped from denominators, never scored 0
Min n shown
20
Shrinkage
eb_shrink k=25 toward the league DiD; 95% CI from a game-clustered bootstrap (B=500) on the unshrunk DiD
Era caveat
No
Source
derived
Registry id
after_event_epa_did

The same within-QB DiD computed after a situation-matched bad play that was NOT the event: non-event dropbacks with EPA below the QB's own median, importance-weighted by situation bucket to match the real event's situation distribution. Shown beside the event DiD so the event-specific increment separates from generic bad-moment reversion — if the event and placebo deltas match, the 'response' is ordinary mean reversion, not something the event caused. Reflects selection and mean reversion; descriptive, not a causal bounce-back, never toughness/psychology.

Denominator
same response-window dropbacks as the event DiD, with placebo events = situation-matched non-event dropbacks below the QB's median EPA; same guards (truncated windows dropped, turnover plays empty the rest-of-drive window)
Min n shown
20
Shrinkage
eb_shrink k=25 toward the league placebo DiD; game-clustered bootstrap CI (B=500)
Era caveat
No
Source
derived
Registry id
after_event_placebo

The set of dropbacks scored as the response to a disruption event, under seven sequencing guards: plays ordered by game_id + play_id (monotonicity asserted); no_play/penalty-nullified snaps are skipped, never counted as the response; kneels, spikes, and two-point tries excluded; 'next drive' means the next drive with the SAME offense AND the SAME passer (never naively fixed_drive + 1, which is usually the opponent); a turnover on the event play empties the rest-of-drive window; truncated windows are dropped from denominators, not scored 0; and a benched QB's window resumes on his return without bridging the backup's plays. Post-event numbers reflect selection and mean reversion; descriptive, not a causal bounce-back, never toughness/psychology.

Denominator
events with at least one same-game, same-passer response dropback in the window (next dropback / rest of drive / next same-QB drive / rest of game); dropped-window counts are reported
Min n shown
none (all n shown)
Shrinkage
none (window definition, not an estimate)
Era caveat
No
Source
derived
Registry id
event_response_window
Privacy and Independence

The site has no accounts, advertising, advertising profiles, or cross-site tracking pixels. Browser-saved boards and game plans are processed transiently during a live session and are not retained in an app database or usage log.

Google Analytics measures which tabs get used. It starts with analytics storage denied: no cookie and no visitor identifier exist until you press Accept on the consent bar, and Google's advertising features are switched off at the tag and cannot be turned on by your choice. Change your answer any time with Analytics choice in the footer.

The Kneeldown is independent and is not affiliated with or endorsed by the NFL, NFLPA, any club, or any listed data provider. Official player photographs and league/club marks are not displayed.

Read the full privacy notice Data rights and attribution
Contact and Support