Modeling NFL Run/Pass Decisions
Research paper on methods to model a prediction on whether an offense is running or passing the ball.
As some of you may know, I am progressing on a Computational Data Analytics Master’s Degree at Georgia Tech, as part of their Online Masters of Science in Analytics program. For the 2026 summer semester, I took a Data Mining class and researched and wrote a final project paper on modeling methods to predict an NFL offense’s run/pass decision.
You can find the paper and R code on my GitHub.
The project was limited by time constraints and ease of available data. Feel free to reach out with questions, comments, or if you would like to collaborate/expand upon similar research.
For a taste of the paper and findings, check out the abstract below:
Abstract
This study applies data mining and statistical learning methods to the problem of predicting offensive play-type in the National Football League using pre-snap situational information. The ability to anticipate if an opponent’s play call is a run or pass has direct implications for defensive game planning and offensive self-scouting. Using play-by-play data from the nflfastR ecosystem spanning the 2022 through 2025 NFL regular seasons, we construct a rich feature set of approximately 30 pre-snap variables. All models are trained on the 2022 through 2024 seasons and evaluated on the fully held-out 2025 season.
Four classification models are compared against a logistic regression baseline: Ridge logistic regression, Lasso logistic regression, K-Nearest Neighbors, and Principal Component Regression with a logistic link. Model selection for regularization parameters and the number of principal components is performed via five-fold cross-validation on the training data, with Area Under the Curve as the primary evaluation metric. Results indicate that KNN performs well under AUC but all models have similar performances.
Beyond model performance, a team-level predictability ranking scores each 2025 NFL offense by how accurately the model classifies their individual play calls on the test season, providing a data-driven measure of offensive tendency exploitation. Teams with high model accuracy are those whose play-calling is strongly determined by situational context. These represent potential defensive advantages, while those with low scores suggest strategic unpredictability. These findings demonstrate that machine learning approaches can formalize and quantify play-calling tendencies, with meaningful potential for usage in both defensive preparation and offensive play-calling design.


The predictability ranking is a great angle. Did you check whether it correlates with metrics related to offensive success? Curious if being ‘unpredictable’ actually helps teams score more, or if it’s basically unrelated to how good the offense is.