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("pak")) install.packages("pak")
pak::pak("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.