CRAN release: 2021-12-21
This release of ffsimulator adds an experimental wins added calculation with
ff_wins_added(), some cleanups, and try-handling to examples because apparently donttest doesn’t exist.
ff_wins_added()runs the simulation as desired once, then calculates the net wins added for each player over a replacement level player.
ffs_add_replacement_level()adds replacement level players to every team that are essentially the lowest player at each position that is not currently rostered.
ff_simulate_week()gains a “return” parameter that controls elements to return - this provides more data so that wins_added can be calculated efficiently.
verboseargument primarily refers to the package option now.
- Fix bye week handling for summarising actual schedule weeks by using inner join.
Immensely grateful to everyone who shared and used
ffsimulator this year, and especially to @JoeSydlowski for helping to build out the logic for wins added.
CRAN release: 2021-09-11
This release of ffsimulator adds new features and refactors a lot of the backend for improved calculation efficiency.
ff_simulate_week()is a new function (and supporting internal function family) that simulates upcoming inseason weeks with daily-updated upcoming week ranks.
actual_scheduleargument to simulate actual schedule + unplayed games.
verboseargument that is set ON by default and can also be turned off with
options(ffsimulator.verbose = FALSE)
ffs_copy_template()helps build custom simulations by copying a template of starter code to a desired filepath.
- Simulations now support kickers (you can thank SFB for that!) and gain a
Many backend changes - some are breaking (grimaces and points at the experimental badge).
- Parallel options removed in favour of data.table options. BREAKING - parallel is gone.
- Column assertions should be clearer on each error message.
- Many functions, including
ffs_score_rosters(), and more are now written in data.table - this helps improve speed for all sizes of simulations.
injury_modelargument is now renamed to
gp_model. BREAKING - argument name changed.
autoplot()refactored to hide legend and axis titles via geom/scale and not via theme - this allows for much easier theming (since you can apply a whole new theme via
ffs_build_schedules()now matches syntax from
opponent_id- BREAKING - output column names changed.
ffs_build_schedules()is now responsible for joining franchises to the schedule, and not
ffs_summarise_week(), and now takes a franchises dataframe as created by
ffs_repeat_schedules()supports the actual_schedule feature by repeating it by
- Print methods cleaned up.
Immensely grateful to everyone who used and shared the first release of this package - it’s been very motivating! Special thanks to @JoeSydlowski, @topfunky, @mrcaseb for their contributions and feedback.
CRAN release: 2021-07-20
ffsimulator package uses bootstrap resampling to run fantasy football season simulations supported by historical rankings and nflfastR data, calculating optimal lineups, and returning aggregated results.
This initial release introduces two major functions:
and also introduces a suite of subfunctions that power the main simulation, mostly prefixed with
Finally, this first version includes two dataframes:
fp_rankings_historyprovides historical expert consensus rankings from 2012-2020
fp_injury_tablecalculates the odds of a player playing in any given game
Other features developed for initial release include:
ffs_adp_outcomes()bins together nearby ranks to broaden the bootstrapping sample
- Bye week handling
- Invalid lineups in
- Unit and integration testing
Features postponed to subsequent versions:
- Progress bar for verbose output
- Investigating speedup packages for higher volumes
- Using real ff_schedules rather than simulated schedules
- Support for kicker scoring