Methodology
How WhoDatStats labels analytics, model outputs, reports, and stale-data warnings.
Fan Mode keeps the plain-English takeaway first, but freshness and warning labels always stay visible.
EPA / adjusted EPA
EPA estimates how much a play changed expected points. Adjusted EPA is used when a view explicitly accounts for opponent or context; otherwise WhoDatStats labels the metric as plain EPA.
Analyst note: current bundled team views use nflfastR-derived EPA/play and play-count weighting. Opponent-adjusted claims are only made where the data source exposes adjusted rows.
Success rate
The share of plays that kept the offense on schedule by improving expected points.
Analyst note: success rate is paired with EPA so a boom-or-bust offense is not mistaken for consistent efficiency.
CPOE, aDOT, YPRR, pressure rate
Player and unit metrics describe passing accuracy over expectation, target depth, receiving efficiency per route, and defensive disruption.
Analyst note: these are shown only when available in player or position-specific source rows; unavailable fields are omitted.
Win probability, playoff odds, projected wins
Probability outputs describe a model snapshot, not certainty. Historical outputs are labeled when the underlying season snapshot is archived.
Analyst note: bundled outlook files are reproducible release artifacts and should not be interpreted as live forecasts.
Player trends and matchup advantage
Trend cards compare recent available samples with prior samples. Matchup cards remain pending when verified opponent data is missing.
Analyst note: guards require enough game rows before trend language appears and prevent pending opponent comparisons from showing fabricated advantages.
Model-generated reports
Reports surface published rows from the report pipeline. Pending report cards explain what will appear later without inventing report content.
Analyst note: current weekly status reports are deterministic templates generated from schedule, roster, depth chart, analytics, and news availability—not AI-generated claims.
nflfastR current-season pipeline
Current schedule comes from nflverse schedules, while EPA/play and success-rate aggregates come from nflfastR play-by-play batch ingestion after games are available.
Analyst note: WhoDatStats stores derived Supabase aggregates instead of raw full-season PBP for Netlify/Supabase safety. CPOE appears only when present in source rows; YPRR and pressure rate remain pending because route and pressure fields are not present in nflfastR PBP.
Ingestion health
Freshness labels read ingestion run metadata where available, including last attempts and successful refreshes.
Analyst note: failed jobs write ingestion_runs rows and leave prior good Supabase snapshots in place, so stale warnings remain visible instead of silently replacing data with empty responses.