🧠 How Babeth learns
An algorithm that learns from its mistakes, every night
You win about one bet in two whatever you do: the result alone teaches nothing. Babeth learns from what matters, the closing line, and only changes method when the new one does clearly better on bets it has never seen.
The model in charge
in chargeDecision trees · learned guardrails · since November 1
Hundreds of small decision trees that spot the combinations that beat the close (bookmaker × sport × Pinnacle movement…).
Judged from October 19 to November 1 on bets it had never seen. Expected gain = suggested stake × closing line value, the dashboard's rule.
Every night, in three steps
Replay the past without cheating
For each day of the last five weeks, every model learns from the bets whose match had already started, then predicts that day's bets. It never sees the answer before predicting.
Judge on the closing line
A mistake isn't a lost bet: it's a price the close has beaten. Each candidate is replayed over 14 days with the engine's selection rules (except the two-scan confirmation, which can't be replayed) and scored on what it would have earned at the close.
Only change for the better
The model in charge is only replaced by a candidate that is clearly better day after day (statistical test), with no lower closing line value and no over-optimistic predictions. It is then retrained every 6 hours.
Last night's candidates
Same bets, same 14 days, same selection rule: only the method changes.
- ✅ Decision trees · learned guardrails106.2 bets/day · CLV +4.15 % · 75 % beat the close · Expected gain +44 %
- Trees + match factors · learned guardrails101.4 bets/day · CLV +4.13 % · 74 % beat the close · Expected gain +35 %
- Additive + trees blend · learned guardrails84.1 bets/day · CLV +4.50 % · 75 % beat the close · Expected gain +33 %
- Blend + match factors · learned guardrails84.6 bets/day · CLV +4.47 % · 74 % beat the close · Expected gain +29 %
- Additive model · learned guardrails67.2 bets/day · CLV +3.93 % · 72 % beat the close · Expected gain +11 %
- Additive model · fixed guardrails54.4 bets/day · CLV +4.18 % · 73 % beat the close · Expected gain 0 %
Expected gain: difference with the previous rule (additive model, fixed guardrails) on the same days.
Learned guardrails
Some rules used to rule bets out automatically: handicaps, leagues deemed unreliable, long odds, small displayed edge… Babeth opens them sport by sport when, over 21 days, the bets she would have kept despite them clearly beat the close, and closes them again as soon as they no longer do. A sport that doesn't yet have enough bets to be judged on its own follows the evidence from all sports combined. Nothing is opened without evidence.
- openedge < 2 % · all sports444 bets over 21 days · CLV +3.6 % · applies to sports that don't yet have enough bets to be judged on their own
- openodds > 4 · all sports165 bets over 21 days · CLV +5.9 % · applies to sports that don't yet have enough bets to be judged on their own
- openhandicap · all sports136 bets over 21 days · CLV +4.8 % · applies to sports that don't yet have enough bets to be judged on their own
- openunreliable league · all sports60 bets over 21 days · CLV +6.0 % · applies to sports that don't yet have enough bets to be judged on their own
- openPinnacle is drifting away from this outcome · all sports19 bets over 21 days · CLV +5.9 % · applies to sports that don't yet have enough bets to be judged on their own
- openodds older than Pinnacle's · all sports15 bets over 21 days · CLV +4.1 % · applies to sports that don't yet have enough bets to be judged on their own
- openedge < 2 % · Football346 bets over 21 days · CLV +3.6 %
- openodds > 4 · Football134 bets over 21 days · CLV +5.4 %
- openhandicap · Football63 bets over 21 days · CLV +6.5 %
- openunreliable league · Football34 bets over 21 days · CLV +6.2 %
- openhandicap · Ice hockey34 bets over 21 days · CLV +3.3 %
- openedge < 2 % · American football29 bets over 21 days · CLV +3.0 %
- openedge < 2 % · Basketball21 bets over 21 days · CLV +4.6 %
- openunreliable league · Basketball20 bets over 21 days · CLV +6.0 %
- openedge < 2 % · Tennis18 bets over 21 days · CLV +2.3 %
- openhandicap · Basketball17 bets over 21 days · CLV +3.5 %
- openhandicap · Baseball10 bets over 21 days · CLV +3.8 %
- openunreliable league · Tennis6 bets over 21 days · CLV +4.9 %
- closedthin exchange liquidity · all sports22 bets over 21 days · CLV +1.1 %
- closedodds < 1.30 · all sports14 bets over 21 days · CLV +3.4 %
The bet review
Every settled bet in the selection is reviewed. Losing at a good price isn't a mistake: it's bad luck, and it fades over time. A price beaten by the close is one: Babeth looks for why.
Last 30 days: 2,928 settled bets
67 % of these bets had a good price (above the fair closing odds). Over 7 days: 75 % (718 bets).
Why the close beat the price
- Immediate correction: Pinnacle moved to the bookmaker within half an hour (the bookmaker knew something)47
- Last hour and a half: line-ups, absences, pre-match news92
- Gradual market drift242
- Pinnacle didn't move: the signal's reference was too optimistic40
⚠️ Where Babeth gets it wrong most
- Football · totals · over 24 h before147 bets · CLV +0.2 %
- Football · totals · 1 to 6 h before72 bets · CLV +0.5 %
- Tennis · match result · 6 to 24 h before76 bets · CLV +1.1 %
✅ Where she does best
- Ice hockey · totals · over 24 h before43 bets · CLV +10.3 %
- Ice hockey · totals · 6 to 24 h before50 bets · CLV +6.5 %
- Basketball · match result · over 24 h before24 bets · CLV +6.4 %
Babeth's log
- November 1, 2026Decision trees · learned guardrails replaces Blend + match factors · learned guardrails: +0.51 % of bankroll a day in expected gain (t = 6.4).
- November 1, 2026Guardrail opened: Pinnacle is drifting away from this outcome · 12 sports judged on the evidence from all sports (19 bets, CLV +5.7 %)
- November 1, 2026Guardrail opened: odds older than Pinnacle's · 12 sports judged on the evidence from all sports (17 bets, CLV +3.7 %)
- November 1, 2026Guardrail closed: thin exchange liquidity · 12 sports judged on the evidence from all sports (21 bets, CLV +0.6 %)
- October 25, 2026First judgement: Blend + match factors · learned guardrails takes over.
- October 25, 2026Guardrail opened: unreliable league · Basketball (35 bets, CLV +5.3 %)
- October 25, 2026Guardrail opened: unreliable league · Football (28 bets, CLV +6.3 %)
- October 25, 2026Guardrail opened: unreliable league · Tennis (22 bets, CLV +3.1 %)
- October 25, 2026Guardrail opened: odds > 4 · Football (103 bets, CLV +3.1 %)
- October 25, 2026Guardrail opened: edge < 2 % · Football (83 bets, CLV +3.2 %)
- October 25, 2026Guardrail opened: handicap · Baseball (18 bets, CLV +5.4 %)
- October 25, 2026Guardrail opened: handicap · Ice hockey (25 bets, CLV +3.6 %)
- October 25, 2026Guardrail opened: handicap · Football (34 bets, CLV +5.7 %)
- October 25, 2026Guardrail opened: unreliable league · 9 sports judged on the evidence from all sports (85 bets, CLV +5.1 %)
- October 25, 2026Guardrail opened: odds > 4 · 11 sports judged on the evidence from all sports (127 bets, CLV +3.6 %)
- October 25, 2026Guardrail opened: edge < 2 % · 11 sports judged on the evidence from all sports (112 bets, CLV +2.9 %)
- October 25, 2026Guardrail opened: handicap · 9 sports judged on the evidence from all sports (99 bets, CLV +4.8 %)
- October 25, 2026Guardrail opened: thin exchange liquidity · 12 sports judged on the evidence from all sports (18 bets, CLV +4.5 %)
Match factors: being collected
Since 25 October 2026, every bet is recorded with its factors. They only count in the selection if a model that uses them wins on bets it has never seen: it takes about two months of data to know.
- being collectedPinnacle price movement (age, 3 h, 12 h)7,379 of 8,112 bets over the last 7 days
- being collectedBetfair movement (1 h)2,392 of 8,112 bets over the last 7 days
- being collectedTeams' days of rest7,629 of 8,112 bets over the last 7 days
- being collectedOfficial line-ups published (football)524 of 4,521 bets over the last 7 days
- being collectedAbsences (football)1,390 of 4,521 bets over the last 7 days
- being collectedLeague table (football)2,555 of 4,521 bets over the last 7 days
- being collectedWeather at the stadium (football)2,564 of 4,521 bets over the last 7 days
Frequently asked questions
Can Babeth predict results?
No. The chance of winning shown comes from the market (Pinnacle, Betfair), which is already very accurate. What Babeth predicts is the value of a price: will it stay above the fair odds until kick-off? That's what pays over time.
Why judge on the closing line rather than on profits?
Because about one bet in two loses, even at an excellent price: it takes thousands of bets for profits to tell the truth. The closing line tells it from kick-off, bet by bet.
What about line-ups, weather, injuries?
Pinnacle already prices them in, very fast. Babeth records them with every bet and tests them every night: they will only enter the selection if they improve results on bets never seen before.
What if a new model gets it wrong?
It is never put in charge without doing clearly better over 14 days it had never seen. If the model in charge degrades, Babeth pauses it and goes back to the previous rule, automatically.
Sources
Odds: Pinnacle and around forty bookmakers (The Odds API), Betfair Exchange. Football matches (line-ups, absences, tables): API-Football. Weather: MET Norway (Norwegian Meteorological Institute), CC BY 4.0 licence. Stadium cities: © OpenStreetMap contributors.
The bets kept by the model in charge
In your dashboard, every bet has its “Why this bet?”, factor by factor.