Status (Oct 2026): the model is in development and backtesting. Record tracks advised prices and stakes in units; it does not represent money we have staked.
1. Model price
- Football: a goals model (Poisson / Dixon-Coles) combined with Elo-style team ratings, fitted on historical results.
- Basketball / ice hockey (planned): Elo-style ratings adjusted for rest and travel.
- The model outputs a probability for each outcome of a market (e.g. home / draw / away).
- Large language models are not used to choose picks. They may be used to help write the short explanation that accompanies a pick.
2. Remove the bookmaker margin
Bookmaker odds include a margin, so the implied probabilities add up to more than 100%. We remove it proportionally (each implied probability is divided by the total) to get a fair market price.
3. Find a gap ("edge") and apply a threshold
For each outcome we take the best available price from licensed bookmakers and calculate:edge = model probability × decimal odds − 1
We only consider a pick when the edge is at least 3% (configurable), the odds are between 1.30 and 6.00, and the model and market do not disagree wildly (a large disagreement usually means the model is missing information, such as injuries). An estimated edge is a model output, not a promise.
4. Stake
Stakes use a fraction (25%) of the Kelly criterion, rounded to the nearest 0.25 unit and limited to 0.5 – 2 units. At most one pick per match.
5. Record
Before kick-off we log: time posted, sport, league, event, kick-off, market, selection, bookmaker, odds taken and stake. Picks are never edited or deleted after posting.
6. Closing odds and CLV
About five minutes before kick-off we record the closing odds at the same bookmaker and on Betfair Exchange UK. We remove the margin from the Betfair Exchange UK prices to get a fair closing price.CLV (headline) = odds taken ÷ fair closing price − 1Same-book CLV = odds taken ÷ same bookmaker's closing odds − 1
Positive CLV means the price we posted was better than the market's final, margin-free price. The record shows the fair-close figure as the headline; the same-book figure is in the downloads. Over small samples it is a more reliable signal than profit.
7. Settlement
After the match we record the result: won, lost, void (match cancelled or market voided by the bookmaker), or half won / half lost for split markets such as Asian handicaps. Profit in units:
- Won: stake × (odds − 1)
- Lost: − stake
- Void: 0
- Half won: stake × (odds − 1) ÷ 2
- Half lost: − stake ÷ 2
8. Data sources
Odds: The Odds API (multi-bookmaker odds). Fixtures and results: licensed sports-data APIs. We don't publish data we aren't licensed to republish.
Limitations
- Sports are noisy. Even a sound method can lose for months.
- Odds move; you may not get the price we recorded.
- Bookmakers may limit accounts that consistently beat the closing line.
- Nothing here is financial or betting advice.
18+. Gambling can be addictive. Juego Seguro (DGOJ) · BeGambleAware · GamCare