nfl4th
This is the package that powers the fourth down
calculator introduced in this
piece on The Athletic.
The code that powers the Twitter fourth down bot is in
this folder here and the code
that runs the Shiny app is here.
Installation
The easiest way to get the released version of nfl4th is to install
it from CRAN
with:
install.packages("nfl4th")
To get a bug fix or to use a feature from the development version,
you can install the development version of nfl4th from GitHub with:
install.packages("nfl4th", repos = c("https://nflverse.r-universe.dev", getOption("repos")))
or by using remotes:
if (!require("remotes")) install.packages("remotes")
remotes::install_github("nflverse/nfl4th")
Features
- The go for it model gives probabilities for
possibilities of yards gained and includes the possibility of earning a
first down via defensive penalty
- The punt model includes the possibility for getting
blocked, returned for a touchdown, or fumbled on the return
- The field goal model is a simple model of field
goal % by distance and roof type
Current limitations
There are some edge cases that are not accounted for. These should
only make a marginal difference to the recommendations as they are
largely edge cases (e.g. the possibility for a field goal to be blocked
and returned).
- The go for it model does not allow for the
possibility of a turnover return. However, long returns are extremely
rare: For example, in 2018 and 2019 there were only four defensive
touchdowns on plays where teams went for fourth downs out of 1,236
plays, and all of these happened when the game was well in hand for the
other team.
- The punt model doesn’t account for the punter or
returner, ignores penalties on returns and ignores the potential for
blocked punts to be returned for touchdowns
- The field goal model doesn’t account for who the
kicker is, what the weather is (only relevant for outdoor games), or the
possibility of a kick being blocked and returned for a touchdown
Get Started
To get started with nfl4th please see this
article. Some examples of 4th down research using the package can
be found here.