← Back to all sparks
N

nflseedR

ANALYTICS
Velocity0.0

R package nflseedR by nflverse — release notes from GitHub.

nflseedR rewrote its simulator from scratch and put the original on a deprecation clock.

nfl-analyticssimulationstandingsdeprecationperformancer-package
Current state
nflseedR computes NFL standings, playoff seeding and draft order, and simulates seasons to produce playoff probabilities. Version 2.0.0 replaced the engine rather than extending it: nfl_standings() and nfl_simulations() are new implementations, and the original compute_division_ranks(), compute_conference_seeds(), compute_draft_order() and simulate_nfl() are all slated for deprecation. The two releases since have been correctness fixes and a CRAN-requested documentation styling change.
Where it's heading
The direction is toward a leaner, faster package with fewer dependencies, and the deprecation plan is stated openly — retiring simulate_nfl() is described as the step that lets the dependency list shrink significantly. Tiebreaker coverage has been filled in to the point where only net touchdowns remain unimplemented, and load_sharpe_games() has been handed off to nflreadr. Requiring R 4.1 for the native pipe is the same instinct applied to the language floor.
Prediction
The deprecations are announced but not executed, so the next substantive release most likely removes simulate_nfl() and the older standings helpers and drops the dependencies that were the stated reason for the rewrite. Net-touchdown tiebreaking is the one gap the entries explicitly leave open.

Recent moves

  1. 9mo ago

    Documentation image styling changed at CRAN's request

    A CRAN policy compliance change to CSS styling of images in the package documentation. No effect on the simulation or standings code the 2.0 line rebuilt.

    View source ↗
  2. 0y ago

    Postseason Elo correction and standings output consistency fixes

    The shakedown release for the new engine. Correcting the Elo difference adjustment for postseason games is a result-changing fix in the default results function, and aligning the exit value between nfl_standings() and nfl_simulations() closes a gap between the two new entry points that 2.0.0 introduced.

    View source ↗
  3. 1y ago

    New standings and simulation engine replaces the original design

    ⚡ SPARK

    The release that resets the package. Rather than optimizing the existing simulator, 2.0.0 introduces a parallel implementation and commits to retiring the old one, making every subsequent release part of a migration rather than an extension.

    View source ↗
  4. 3y ago

    Selective simulation and a data.table speedup

    The last significant release on the original engine, and it reads as an attempt to fix that engine's cost from the inside — sim_include lets callers skip playoff simulation or draft-order computation, and data.table replaces the round-combining step. The rewrite in 2.0.0 suggests these gains were judged insufficient.

    View source ↗
  5. 4y ago

    Simulation output becomes a class with a summary method

    Giving simulate_nfl() output a proper S3 class enabled a summary() method rendering a gt table, and game_summary added cross-season matchup aggregation. This is the presentation layer that nfl_standings_prettify() would later re-create for the new engine.

    View source ↗
  6. 5y ago

    Error handling hardened for CRAN checks

    A CRAN test-stability fix in the schedule loading function, which has since been deprecated in favour of nflreadr::load_schedules().

    View source ↗