Skip to main content

nflverse

nflverse publishes open NFL data. The system reads it through the nflreadpy package to build usage metrics, find completed weeks and look up byes and betting lines. No account or key is needed.

What does it provide?​

DatasetUsed for
Play-by-playTarget, rush and high-value-touch shares and other usage metrics
SchedulesWhich games are final, bye weeks, spread, total and implied team total
Snap counts and participationSnap share and route rate
Next Gen StatsSeparation, air yards, time to throw
FTN chartingContested-ball rate, pressure and pass-block metrics
Depth chartsDepth rank and change
Player statsLast season's points allowed by position, for optional matchup weighting

Usage columns land in weekly_stats. See the data model.

When does a week's data land?​

nflverse publishes each week's data after the games finish, and schedule scores and play-by-play arrive separately. The system doesn't assume a time. It checks completeness before it writes.

  • fantasy-weekly-ingestor runs Tuesday at 16:00 America/Chicago, leaving time for Monday-night data.
  • metrics_extractor processes the last completed week, meaning every game is final in the schedule.
  • It first confirms play-by-play covers every final game. If not, it fails and writes nothing for that week.

See Ingestion for the full table of outcomes.

What can go wrong?​

SituationResult
Play-by-play is missing a final gameIncompletePlayByPlayError, exit 1, no partial write. Rerun later.
Schedule can't load or is emptyThe Job fails.
A supplementary feed failsIts columns stay NULL and the run continues.
Participation data is unavailable for the in-progress seasonroute_rate is NULL.
Preseason, no completed weekExit 0, nothing written.

To backfill a week, rerun metrics_extractor with --year and --week. The upsert is idempotent.

sync_defense_strength isn't scheduled. Run it by hand only if you enable MATCHUP_WEIGHTING_ENABLED.

Where is the code?​

fantasy-core-pipeline: src/ingestion/metrics_extractor.py, sync_defense_strength.py, src/nfl_schedule.py.