StableBet
Professor Furlong and Pascal at the AI Lab
THE AI LAB
THE AI LAB · HOW WE GOT HERE

Our History

THE FOUNDATION · HOW THIS PAGE CAME TO EXIST

We wanted an answer, so we built the machine to get it

The question was simple and old: can a sensible machine-learning model, built from public form data, beat the starting price? So we built one properly, two algorithms, XGBoost and LightGBM, reading around thirty pre-race signals per runner: the horse's own form, the going, the class, the field, the connections' recent record.

The first result looked brilliant, and it wasn't. Our spring 2026 backtest showed +15.73% on 330 bets, and for a day it felt like the answer. It was an artefact of selection bias: we had swept about 150 filter ideas and reported the shiniest one. On a window the sweep had never touched, the same filter returned roughly −17%. We published that failure rather than the mirage, and it is still the most useful thing this page has taught us.

So we rebuilt it the hard way. Walk-forward testing only (the model never sees a race after the one it is predicting), more data, more features, and isotonic calibration so its probabilities mean what they say. Then the exam that counts: one pre-registered rule, declared in advance, on an untouched two-month holdout: it returned −16.81% on 119 bets. Honest, negative, and exactly the point.

What that established is the foundation everything here stands on: the market is a formidably efficient forecaster, and a well-built model can read races almost as sharply and still lose at the price. Everything below is that finding, kept honest in public, every pick logged before the off, every result scored, updated daily. The full build story · How we test

WHAT WE LEARNED

Three lessons the hard way

  • A brilliant backtest is usually a mirage. Our +15.73% was an artefact of selection bias, the shiniest of about 150 filters, and the pre-registered holdout answered it in two months flat.
  • Walk-forward testing and calibration are the honest yardsticks. A model that never peeks past the race it is predicting, with probabilities that mean what they say, is the only kind worth publishing.
  • The market is the benchmark that keeps us honest. The starting price is a formidably sharp forecast, and its Brier score still leads ours on the same races.
WHERE THIS GOES NEXT

The same discipline, carried forward

We keep the model calibrated, and we keep publishing every result, win or lose. The one real edge question, whether its best picks can beat the bookies (not proven, and the market usually wins), runs live in that experiment. And in the Silicon Tipster League it lines up against five AI chatbots on the same races, every day.

Two tests, one honest question

This page is the scientific ledger: every pick the model makes, in every race, stored and scored for how sharp it really is. For the live daily test, its best picks put up against the bookmaker in real time, see Can it beat the bookies? →

THE MODEL ITSELF · EVERY DAY ON THE BOOK

And the AI we built? Here is its own record

One flat £10 on the model's own top pick in every race it has priced, settled to industry starting price with the fallers counted as losses. Irish racing joined the card on 26 July 2026; everything before that date is British. No system, no staking trick, just the model's single best horse, day after day. This is how that balance would have felt in a real wallet.

-£12,439
All-time profit / loss
-13.4%
ROI to starting price
24.5%
Top-pick strike rate
9,288
Bets settled
+£496
Best day · 21 Aug '26
-£375
Worst day · 22 Aug '26
208 / 390
Days up / days down
8 days
Longest winning streak
16 days
Longest losing streak
34 bets
Longest run of losing bets

On 600 race-days the balance finished up on 208 and down on 390. The best single day made +£496; the worst lost £375. Even its longest winning run (8 days) is shorter than its longest losing one (16 days). That is exactly what a market you can't beat looks like.

Where the balance went

The running £ balance, every race-day since the record began. Green sections are days it rose, red days it fell. The gold line marks where backtesting ends and live, published-before-the-off predictions begin.

−£10,000−£5,000£0Cumulative P&L (£) →← backtestlive →Oct '24Feb '25Jun '25Dec '25Apr '26Sep '26race-day →

Month by month

The same record split into calendar months. Green months won, red months lost. A good month happens; a run of them does not.

£829-£2336

The numbers, by window

All-time against the most recent 90 and 30 days, including how the model's probabilities score against the market's on the same races (Brier score, lower is sharper). The market stays ahead.

WindowBetsStrikeROI to SPProfit / lossModel Brier
All time9,28824.5%-13.4%-£12,4390.0999
Last 90 days2,74420.6%-18.8%-£5,1560.0938
Last 30 days1,15420.4%-15.8%-£1,8240.0894

Model Brier 0.0999 versus the market's 0.0917 on the same races: the model is well calibrated, just not as sharp as the price. That gap is the whole story, and the reason we show you this instead of selling you tips.

Filter the record

The same ledger, sliced the way the Tipster League slices its board. Pick a timeframe and the graph and numbers re-cut to it. £10 flat on the model's top pick per race, settled at SP.

Timeframe:

Profit

−£1,466

ROI

-13.6%

Strike rate

21%

Bets

1,075

Staked

£10,750

Returned

£9,284

−£1,749−£1,312−£874−£437£0£0 break-even08-0608-1108-1608-2108-2608-31The model−£1,466
The model−£1,466
Cumulative P&L at £10 flat stakes to industry SP, month. Research, not tips.