
A History of Expected Points Models in Football (Part III)
Saiem Gilani, Akshay Easwaran, Jared Lee
2026-09-03
Source:vignettes/college-football-expected-points-model-fundamentals-part-iii.Rmd
college-football-expected-points-model-fundamentals-part-iii.RmdPreviously in part 1, we left off discussing field position and expected points, including a breakdown by down. Generally, what was presented could be considered the most top-level results discussion and model definition information. In part 2, we went into some detail about regression model building methods and how the model generates the next score probabilities, with some depth into how we arrived at the model from a technical perspective. Today, I feel it necessary for us to cover some history of the expected points model in football. This article will show you how we arrive at the model factors that we currently have from a historical perspective.
The entire purpose of these series of articles is to show you as transparently as I can how the College Football Expected Points model works, how well it works, and how the model is limited. Additionally, this research is reproducible.
The Data
We will be acquiring data from CollegeFootballData.com, courtesy of
@CFB_data, using
cfbfastR, created by Saiem Gilani, Akshay Easwaran, Jared Lee and Eric Hess.
An Abridged History of Expected Points Models in Football
Field Position models
One of the earliest discussions and attempts at building an expected points model in football was made by Virgil Carter of the Cincinatti Bengals in his graduate research paper, “Operations Research on Football”. Carter found some time to write the research paper while pursuing his MBA at Northwestern in the off-season from his main gig of being quarterback for the Chicago Bears.
For the study, Carter and his wife Judy coded 8,373 plays with 53 variables — including time, down, and distance — from 56 games played during the first half of the 1969 season. From the paper:
… the field was divided into ten strips, namely, 99 to 01 yards to go, 90 to 81 yards to go, 80 to 71 yards to go, etc. These data are identified by their midpoints in Table I. The smallest number of data points in any set was 57 (this set centered on 95 yards to go), and the largest was 601 (this set centered on 75 yards to go)., This condensation led to a system of ten equations in 10 unknowns.
Figure 1: Expected Point Values of Possession table | Virgil Carter, “Operations Research on Football”, 1971
The analysis was based on a study of 2,852 first-and-ten plays. An independent calculation was performed for the subset of 1,258 first downs immediately following a turnover (i.e. the start of a series), and the average absolute difference was found to be less than a quarter of a point. (Carter and Machol, 1971)
This smaller dataset is used as the basis for the model described in the paper and we will show the results graphically in the figure below.
For complete clarity, the study averaged the value of the next scores for each of the 10 strips listed to give the data in the table.
Figure 2: Virgil Carter’s Expected Points study, 1971
In 1988, the book Hidden Game of Football by Bob Carroll, Pete Palmer, and John Thorn introduced a straight-line model of valuing field position in two point increments.
In other words, starting from your own 0 (or 100 yards-to-goal) is worth -2 expected points, possession at the 20-yard line is worth 0 expected points, and possession at the 40-yard line is worth 2 points, etc. until you get to the opponent’s goal line, where your expected points value is 6. This is a simplified model based in principle on the Carter model above.
The figure below is a visual comparison of the two models.
Figure 3: Expected Points Value Comparison: Virgil Carter study vs. Hidden Game of Football EP model
We have looked at the Carter model, which only looked at field position for a specific down and distance situation (namely, 1st-and-10) and modeled expected points as the average of the points scored in each of the 10 field position bins.
We additionally covered a model that ignored down and distance altogether and modeled the expected points as a function of field position. Now, let’s look at some of the more recent attempts at modeling that include both down and distance, in addition to field position.
Down-Distance-Field Position models
Belur V. Dasarthy wrote a paper in 1991 with the three above factors using a nearest-neighbor approach and averaging the next points scored that I have not been able to get my hands on.
Some time in 2009 or earlier, Brian Burke posited that every down-distance-field position combination had an average net point advantage. He built a model demonstrating as such with a smoothing technique called locally estimated scatterplot smoothing (LOESS) but not much else in terms of detail provided.
You can read more about his model at the link above, but among the noted limitations with the model were that it only included first and third quarter data since he correctly noted end-of-half drive plays was a factor that needed to be accounted for.
His other consideration was that he limited the data to plays where the score differential was within 10 points to limit the effect of garbage time.
Trey Causey did a quality write-up on a very similar style model and has done some interesting nearest-neighbors player similarity modeling that is worth reading and, at the time, was reproducible.
So all of these models are curve fitting attempts that lead us to the topic of regression.
Game-State Situational Probability models
Alok Pattani’s 2012 writeup on ESPN’s NFL Expected Points model, which additionally included home-field advantage and time remaining, left a lot of the detail out, giving few reproducible details.
However, in subsequent years, more details regarding the technical specifics of ESPN’s Bayesian hierarchical statistical expected points model were discussed in an article on the PlayStation Player Impact Rating.
Additionally, Kenneth Goldner wrote a paper in 2017 about using a Markov modeling of a possession with stochastic processes which I have been unable to get my hands on. EDIT: A very kind Columbia professor saw this article and sent me the paper. Among other things, the paper demonstrates that on 1st and 10 at any point on the field, the expected points is positive.
In 2017, Ron Yurko, Sam Ventura, and Max Horowitz from Carnegie Mellon University’s Statistics department started presenting “NFL Player Evaluation Using Expected Points Added with nflscrapR” at conferences and ultimately published the nflWAR paper in the Journal of Quantitative Analysis in Sports.
(That is a seminal work in football analytics and if you were to only click one link to read more on, that is the paper you should look at.)
Figure 4: Modeling Expected Points using situational factors to predict the probability of each Next Score type
The Carnegie Mellon model is the direct ancestor of everything
cfbfastR has shipped. Through the 2020 generation, the
college football model was that model — a multinomial logistic
regression over the same seven next-score outcomes, fit to college data
with very similar adjustments.
That is no longer what the package ships, and the rest of this article is therefore history rather than documentation.
The 2020 generation (retired)
For the record, since it is what the earlier versions of this series
described and what CRAN cfbfastR 3.0.0 still contains: six
logistic regressions fitted simultaneously against “No Score” as the
reference class, with down treated as a factor relative to 1st down.
From four independent variables —
- Down (3 coefficients)
- Distance, as
log(yards to convert 1st/Goal)(1) - Yards to goal (1)
- Time remaining in the half, in seconds (1)
— plus two derived booleans (goal-to-go, under two minutes) and the interactions between them, the specification expanded to 96 fitted variables, because a linear model can only see an interaction that someone built by hand.
The 2026 generation
The current model answers the same seven-class question and computes expected points the same way, but estimates the probabilities with gradient-boosted trees instead — eight raw features, 2,219,971 plays from 2004 to 2025, and no hand-specified interactions at all. Trees find interactions by splitting, so the other 88 columns stopped being necessary. Part II covers that transition in detail.
The other change is organisational, and in the long run probably the
more important one. The models are no longer fitted inside either
library. They are published once as the cfb_model_artifacts
release on sportsdataverse-data
and read by both cfbfastR and
sportsdataverse-py, so R and Python report the
same EPA for the same play and a retrain reaches both by publishing.
Fifty-five years after Carter and his wife Judy hand-coded 8,373 plays from 56 games, the same question is answered from 2.2 million plays by an artifact two languages download at runtime. The question itself has not changed at all.
Next
Part IV turns expected points into expected points added — how the change in EP across a play becomes the per-play value that team and player metrics are built from, and the sign conventions that trip people up. ## Data and artifacts
-
Models —
cfb_model_artifacts -
Season play-by-play —
cfbfastR-data -
Source —
cfbfastR·sportsdataverse-py - Applied, live — Game on Paper
- Raw API — CollegeFootballData.com, courtesy of @CFB_data
Citation
Gilani, S., Easwaran, A., Lee, J., and Hess, E. (2026). cfbfastR: Access College
Football Play by Play Data. R package version 3.0.0.9000.
https://cfbfastr.sportsdataverse.org
Authors, contributors and related SportsDataverse packages are listed on the package home page.



