← all repositories
georgedouzas/sports-betting

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.

737 stars Python Domain AppsML Frameworks
sports-betting
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

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 SoccerDataLoader for 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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.