Sports analytics | Data modeling for player & team performance | R, Python, SQL, HTML
I build models and tools that turn raw data into decisions coaches and front offices can actually use - not just charts, but in-game-ready outputs for nontechnical staff.
Trench Matchup Win Probability Sequence vs. snapshot modeling of NFL pass-block outcomes from Big Data Bowl tracking data: an LSTM that reads every frame of a rep (AUC 0.813) outperforms an XGBoost model on sampled snapshots (0.757). Translated into blocker- and team-level win rate over expected (WROE), and the model infers on its own that tackles face harder matchups than guards or centers.
Dashboard walkthrough
Python · PyTorch · PFF · Player Tracking · HTML
Fourth Down Coaching Analysis
Win-probability-optimal decision modeling applied to 4th-down play-calling since 2018, paired with two custom coach-level indices (Decision Accuracy and Execution) finding a measurable leaguewide shift toward optimal play and a real, separable gap between reading situations well and converting on them.
Interactive scatterplot
R · nflfastR · HTML
Play-Calling Variation & Offensive Success
Drive-level analysis of whether unpredictable play-calling improves NFL offenses, using nflfastR + PFF data. Finds a concave (diminishing-returns) relationship between play variation and EPA per play.
R · nflfastR · PFF
Rookie Contract Allocations and Team Stability in the NFL
Team-fixed-effects regression testing whether rookie cap spending and roster construction relates to offensive volatility, finding head coach continuity as the strongest predictor.
R · nflfastR · SpoTrac
Stolen Base Probability Model & Pregame Scouting Report
Logistic regression on NECBL Trackman data (pitch velocity, movement, catcher metrics, count) to predict stolen base success, paired with a custom catcher metric ("Backstop+") and an automated PDF report generator for pregame scouting.
R · Python · Trackman
- Languages: R, Python, SQL, HTML
- Data: nflfastR, nfl4th, PFF, Trackman, Player Tracking, Pro Football Reference
- Modeling: XGBoost, PyTorch (LSTM), logistic regression, SHAP
- Reporting: R Markdown, Quarto, reportlab (Python), HTML
Open to sports analytics roles - happy to walk through the modeling decisions and limitations behind any of the projects above.
Actively adding new analyses - check back for updates
Additional work available upon request, some projects use data under a data-use agreement and aren't public