What a greyhound betting backtest really measures
A backtest asks a disciplined question: if I had used this rule, on this data, with only the knowledge available at the time, how would I have done? The last part carries the weight. Anything that leaks from the future into your rule makes the test look better than it is, and almost every backtesting trap is a version of that leak.
In greyhound betting you are usually testing a rating model that ranks runners, a set of filters that excludes races, or a staking plan attached to either. For each, you need historical odds, historical results, the full list of runners that actually went to the traps, and a record of what your rule would have done, race by race, in the order the races happened. Treat a passing result as a filter, not a proof: useful, but not conclusive.
Building a realistic historical odds dataset
The odds you test against are the biggest single reason backtests mislead. A record holding only the winner and a starting price snapshot misses what the market opened at, whether the favourite drifted late, and what was available in the final seconds when real bets are placed. Where you can, keep three price layers for each runner: an early morning price for testing early value ideas, a final show price close to the off, and the starting price as a benchmark and fallback.
If your data source only supplies starting price, say so openly. The starting price tends to overpay short-priced favourites and underpay outsiders, because bookmakers trim favourites late when money arrives. A value outsider strategy tested on starting price alone will flatter itself. A rule that picks 5/1 shots at a 25% strike rate can look like a real edge, then shrink or vanish once you use prices that reflect genuine market depth.
Walk-forward testing versus a single train and test split
The classic mistake is to build a model on two years of data, test it on the third and call that a pass. It is a pass on one window at best. Greyhound racing is not stationary: tracks are resurfaced, trainers reorganise, grading policies shift, betting volumes move and the dog population turns over completely every few seasons. A rule that worked a few years ago may already be out of date.
Walk-forward testing accepts this. You train on, say, six months and test on the seventh, then roll forward a month and repeat, stitching every out-of-sample window into one longer run. It takes more computing effort, but it shows whether a rule tends to work across time rather than in one period. The honest output is a cumulative profit curve that spends more time rising than falling across many conditions, including a slow month, a busy month, a meeting dominated by short-priced favourites and one dominated by long shots.
Accounting for commission, non-runners and rule 4 deductions
Careless accounting beats even a clean model. If you simulate bets on an exchange, deduct 2 to 5% commission from winning returns. If you simulate bookmaker bets, the margin is built into the price, so allow for it. Non-runners change the whole race, and most APIs report the final field rather than the field at each earlier moment, so a rule that depends on who is running needs careful handling. When a runner is withdrawn, rule 4 deductions cut payouts on the rest, so full-odds returns overstate profit.
A subtler leak is a selection the market had already backed into a price where your edge had gone. Stepping through your odds by the time you would have bet, not the final price, closes that gap. Always check strike rate against price. A 33% strike rate at 2/1 barely pays for itself, 30% at evens loses money, and even 40% at an average of 6/4 loses once the overround is included. A backtest that reports strike rate without average price taken is incomplete.
Keeping a backtest lab notebook
You will run dozens of tests and forget the details of each within a fortnight, so record every one. Note the rule version with a one-sentence description, the dataset version and date range, walk-forward window length and step, which odds you used, the commission assumed, and how you handled non-runners and rule 4. Then log the headline numbers: bets, strike rate, average price, return on investment, longest losing run and biggest drawdown, plus anything unusual about the period.
The period matters because a winter backtest is not the same animal as a summer one, as tracks, trainers and meeting volumes shift with the calendar. Above all, avoid rerunning a test with small tweaks until the numbers improve. That is overfitting by another name. Pick your rule honestly, run it once, record it, and only change it for a reason you can write down.
Reading backtest results honestly
Three checks help you read a clean backtest without fooling yourself. First, compare it with a trivial baseline, such as backing every favourite at starting price, or every dog in every race, over the same window. Second, study the distribution, not just the average: a steady 6% return across many months is more trustworthy than 12% earned in three races. Third, stress test it on a different slice of data, ideally another track or meeting type.
A backtest that passes all of this is a starting point, not a finish line. It suggests the rule has plausibly worked in the past, on data it was not built on, under assumptions that match how you would really have bet. It does not promise future profit. The next step is measuring whether the rule keeps working once real money is involved.
Key takeaways
- A backtest is a filter for weak ideas, not proof that a rule works.
- Test against prices you could really have taken, with separate morning, show and starting price columns.
- Use walk-forward testing so the rule faces many market regimes, not one window.
- Deduct commission, handle non-runners carefully and apply rule 4 deductions.
- Always judge strike rate alongside the average price actually taken.
- Record every test in a notebook and compare results with a trivial baseline.
