Learn R Programming

⚠️There's a newer version (5.1.0) of this package.Take me there.

nflfastR

nflfastR is a set of functions to efficiently scrape NFL play-by-play data. nflfastR expands upon the features of nflscrapR:

  • The package contains NFL play-by-play data back to 1999
  • As suggested by the package name, it obtains games much faster
  • Includes completion probability (cp) and completion percentage over expected (cpoe) in play-by-play going back to 2006
  • Includes drive information, including drive starting position and drive result
  • Includes series information, including series number and series success
  • Hosts a repository of play-by-play data going back to 1999 for very quick access
  • Features new and enhanced models for Expected Points, Win Probability, and Completion Probability (see section below)

We owe a debt of gratitude to the original nflscrapR team, Maksim Horowitz, Ronald Yurko, and Samuel Ventura, without whose contributions and inspiration this package would not exist.

Installation

You can load and install nflfastR from GitHub with:

# If 'devtools' isn't installed run
# install.packages("devtools")

devtools::install_github("mrcaseb/nflfastR")

Usage

We have provided some application examples under vignette("examples"). However, these require a basic knowledge of R. For this reason we have the nflfastR beginner’s guide in vignette("beginners_guide"), which we recommend to all those who are looking for an introduction to nflfastR with R.

Data repository

Even though nflfastR is very fast, for historical games we recommend downloading the data from here. These data sets include play-by-play data of complete seasons going back to 1999 and we will update them in 2020 once the season starts. The files contain both regular season and postseason data, and one can use game_type or week to figure out which games occurred in the postseason. Data are available as .csv.gz, .parquet, or .rds.

nflfastR models

nflfastR uses its own models for Expected Points, Win Probability, Completion Probability, and Expected Yards After the Catch. To read about the models, please see vignette("nflfastR-models"). For a more detailed description of Expected Points models, we highly recommend this paper from the nflscrapR team located here.

Here is a visualization of the Expected Points model by down and yardline.

Here is a visualization of the Completion Probability model by air yards and pass direction.

nflfastR includes two win probability models: one with and one without incorporating the pre-game spread.

Special thanks

Copy Link

Version

Install

install.packages('nflfastR')

Monthly Downloads

1,408

Version

2.2.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Ben Baldwin

Last Published

September 1st, 2020

Functions in nflfastR (2.2.1)

add_xyac

Add expected yards after completion (xyac) variables
teams_colors_logos

NFL Team names, colors and logo urls.
fast_scraper

Get NFL Play by Play Data
calculate_win_probability

Compute win probability
calculate_expected_points

Compute expected points
clean_pbp

Clean Play by Play Data
update_db

Update or create a nflfastR play by play database
fast_scraper_schedules

Get NFL Season Schedules
add_qb_epa

Compute QB epa