← Back to portfolio

Case study — flagship project

College Football Projection System

Weekly game projections for all FBS college football: set a week, run one command, get every game with projected scores, spread, total, win probability, and comparison against market lines. The interesting part isn’t the predictions — it’s the harness that decides whether to believe them.

PythonLightGBMpandas ParquetREST API ingestionpytest-style test suite

Repo: being published to github.com/MaximKleyer

The numbers first

Everything below is from a walk-forward backtest over 7,401 FBS games, 2017–2025, training only on prior seasons — the model never sees a game before predicting it.

Walk-forward results vs. baselines
MetricThis modelBenchmark
Straight-up accuracy75.5%Vegas closing lines: 76.3%
Margin RMSE16.37Always-pick-home: 23.06 · SP+ differential: 18.75
Brier score0.162

Win probabilities are kernel-smoothed and isotonic-calibrated, with calibration reported out-of-fold so the reliability table isn’t perfect by construction. Across ten calibration buckets the worst deviation is 1.1 standard errors: when the model says 65%, teams win about 65% of the time. Landing within a point of the closing line — a benchmark that aggregates enormous amounts of information — is the headline for a from-scratch system.

What the model can’t do, measured

The honesty section

Across seven spread buckets and seven total buckets, no betting edge is statistically significant. Hit rates run 48.6%–55.5% against the 52.4% break-even, non-monotonically — exactly what chance produces across seven looks. The system says so on its own report card: the backtest prints a z-score and a “Real?” flag per bucket, and the weekly projection repeats the verdict so it can’t be forgotten between runs.

Building the significance test that kills your own headline is the point: a model you can’t trust to admit failure can’t be trusted to claim success.

Architecture

Why calibrated probabilities, not a normal curve

College football margins are fat-tailed and cluster on key numbers (3, 7, 10, 14), so a normal CDF is overconfident in the middle and underconfident in the tails. Instead, the empirical distribution of out-of-sample margin errors is kernel-smoothed, then calibrated with isotonic regression — and evaluated out-of-fold, so the calibration claim is earned rather than assumed.

A research finding worth keeping

Games involving a first-year head coach carry RMSE 15.53 vs 14.99 for all other games, on essentially identical outcome variance — they’re harder to predict, not wilder. That points toward wider uncertainty on those games rather than different point predictions: the features identify the problem without fixing it, and honest measurement says what the next step should be.

What this project is evidence of

← Back to portfolio