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.


The easiest way to get the released version of nfl4th is to install it from CRAN with:

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:

if (!require("remotes")) install.packages("remotes")


  • 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.