Game Situation
Set the game situation and hit ANALYZE to evaluate the optimal 4th-down decision.
Running 4 ML submodels...
UCLA Bruin Sports Analytics
Created by Eshaan Dhavala, Abhi Kumar, Keith Bui, Josh Sujo, Maia Salti, Dillon Maheshwari, Andrew Yang, and Gonzalo Merino Sanchez
Set the game situation and hit ANALYZE to evaluate the optimal 4th-down decision.
Running 4 ML submodels...
This tool recommends whether an NFL coach should go for it, punt, or attempt a field goal on 4th down during overtime. It combines four trained XGBoost ML submodels with expected-value maximisation to estimate the win probability of each option.
For each of the three choices, the engine constructs the post-play game state (e.g. after a successful conversion, missed FG, or punt) and uses the Win Probability model to evaluate each outcome. The expected win probability is the probability-weighted combination of all possible outcomes for each decision.
Predicts the opponent's starting field position after a punt using an XGBoost Regressor. Trained on all punt attempts from 2016-2024. Uses the current yard line and rolling 6-game punter quality metrics.
Predicts the probability a field goal attempt is made using an XGBoost Classifier with isotonic calibration. Accounts for kick distance, weather, venue, and kicker performance across 15 features.
Predicts the probability of converting a 4th down attempt using an XGBoost Classifier with isotonic calibration and empirical blending. Uses 15 features including rolling team stats, with monotone constraints enforcing that more yards = lower probability.
Estimates the probability of winning from any game state using an XGBoost Classifier with isotonic calibration. Trained on 350,000+ regulation plays from 2016-2024. OT plays excluded to avoid rule-change contamination; OT inference handled via a state transformer.
Win probability is the weighted average of converting (continuing the drive) vs. failing (opponent gets the ball at the spot).
Win probability depends on where the punt pins the opponent. Deeper punts mean a worse starting position for the other team.
If made, the team gains 3 points and kicks off. If missed, the opponent gets the ball at the line of scrimmage or the 20, whichever is farther back.
All models are trained on NFL play-by-play data from the nfl_data_py package, spanning 2016-2024 (350,000+ plays). Rolling statistics use a 6-game window for special teams and 15-game window for offense/defense, shifted by 1 game to prevent data leakage.
Known limitations: The punt model tracks team-level stats rather than individual punters. The win probability model is trained on regulation plays only; OT inference is handled by mapping OT states to regulation-equivalent states. Weather data may be incomplete for some older games.
Built by UCLA Bruin Sports Analytics