Learn R Programming

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.

Copy Link

Version

Install

install.packages('nfl4th')

Monthly Downloads

657

Version

1.0.4

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Ben Baldwin

Last Published

August 21st, 2023

Functions in nfl4th (1.0.4)

get_4th_plays

Get 4th down plays from a game
nfl4th_clear_cache

Reset nfl4th Package Cache
add_4th_probs

Get 4th down decision probabilities
make_2pt_table_data

Get 2pt decision probabilities
load_4th_pbp

Load calculated 4th down probabilities from nflfastR data
make_table_data

Get 4th down decision probabilities
add_2pt_probs

Get 2pt decision probabilities
nfl4th-package

nfl4th: Functions to Calculate Optimal Fourth Down Decisions in the National Football League