Sports probability model
Prediction markets · sample build
Game-level win probabilities for American football with fractional-Kelly stake sizing.
- Resolved contracts
- 530
- Calibration error
- 2.2 pts
The problem
The client bet on intuition and wanted a systematic way to find prices that were wrong, with stakes that would not ruin them in a bad run.
The approach
Gradient-boosted model on team and player data, weather and injuries; compared against closing lines; stakes sized with fractional Kelly and a drawdown brake.
How it was tested
Each season was predicted using only data available before each game. The main benchmark was the closing line: forecasts that are consistently closer to the final price than the price at the time of the bet suggest a real edge. Stake sizes were simulated across thousands of reshuffled seasons to check drawdowns at the chosen Kelly fraction.
What was handed over
Model and feature pipeline, closing-line comparison report, stake calculator and a weekly prediction sheet.
Stack
- Python
- XGBoost
- FastAPI
- PostgreSQL