Election probability model
Prediction markets · sample build
An ensemble model that prices political event contracts from polling, economic and historical data.
- Resolved contracts
- 610
- Calibration error
- 2.3 pts
The problem
Polling averages miss systematic errors. The client wanted probabilities they could compare with prediction-market prices and trust.
The approach
Combined a polling aggregate with fundamentals and historical polling error, updated daily with Bayesian weighting, and checked calibration against past resolved contracts.
How it was tested
The model was rebuilt for each past election using only the polls and data available on each day, so no forecast saw the result. Forecasts were scored with Brier score and log loss, calibration was checked across probability bins, and both were compared with market prices on the same days.
What was handed over
Daily-updating model, calibration report on historical elections, an API returning probabilities with uncertainty, and a comparison view against market prices.
Stack
- Python
- scikit-learn
- PyMC
- FastAPI
- GCP