Sports betting for people who trust pipelines more than hunches
It wraps scikit-learn classifiers in a betting framework to backtest strategies and hunt for value bets across historical odds.

What it does
sports-betting is a Python toolkit that treats wagering as a probability exercise. It fetches historical and upcoming fixture data via dataloaders, then uses scikit-learn estimators wrapped as ClassifierBettor objects to backtest strategies and flag value bets where your model disagrees with the bookmaker’s implied odds. A Reflex-based GUI and a CLI sit alongside the Python API for those who prefer point-and-click or terminal workflows.
The interesting bit
The project leans into the idea that you do not need a perfect predictive model—you just need one that spots systematic errors in the bookmaker’s probability estimates. By focusing on the gap between your model’s predicted probability and the odds-derived implied probability, it reframes machine learning as a search for pricing inefficiencies rather than a quest for crystal-ball accuracy.
Key highlights
- Built on the scikit-learn ecosystem: drop in pipelines, cross-validators, and imputers natively.
- Includes a
SoccerDataLoaderfor downloading league, division, and year-specific historical data and fixtures. - Backtesting supports time-ordered cross-validation to simulate realistic betting sequences.
- Bundles a Reflex GUI (
sportsbet-gui) with a built-in helper bot for configuring dataloaders and models. - Exposes both a Python API and a CLI driven by Python configuration files.
Caveats
- README examples center almost entirely on soccer; other sports are not demonstrated in the provided documentation.
- The CLI configuration section is truncated in the README, leaving advanced command-line setup undocumented in the sources.
- The optional GUI requires Node.js v22 or higher, adding a second runtime to the Python stack.
Verdict
Worth a look if you are a data scientist or quant-curious developer who already lives in scikit-learn and wants to experiment with systematic sports wagering. Skip it if you are looking for a turn-key, fully automated betting bot—this is a research and backtesting framework, not a hands-free ATM.
Frequently asked
- What is georgedouzas/sports-betting?
- It wraps scikit-learn classifiers in a betting framework to backtest strategies and hunt for value bets across historical odds.
- Is sports-betting open source?
- Yes — georgedouzas/sports-betting is open source, released under the MIT license.
- What language is sports-betting written in?
- georgedouzas/sports-betting is primarily written in Python.
- How popular is sports-betting?
- georgedouzas/sports-betting has 737 stars on GitHub.
- Where can I find sports-betting?
- georgedouzas/sports-betting is on GitHub at https://github.com/georgedouzas/sports-betting.