Avoiding leakage in greyhound form features
Leakage happens when a feature uses information that would not have been available when you placed the bet. The model shines in backtests and then fails on race day for no obvious reason. Dog-level features are where leakage most often creeps in, because form fields are dense and compound, some form data includes post-race adjustments or late scratches, and figures such as winning distance are calculated with hindsight after the field has finished.
The chapter repeats one rule because it matters so much: every dog feature must be computable from information available at the off, in the same race you are modelling. Anything derived from the full finishing order of a race cannot be a feature for betting on that race, because the result was unknowable before it ran.
Recent finishes, positions and beaten margins
A second place last time tells you little unless you know what finished in front, by how far, and at what track and grade. Useful recent-form features capture shape as well as outcome: positions over the last three or four races, since older results fade quickly; beaten margins for the last run or two, ideally from sectional timing; a binary flag for finishing in the first three; and margin behind the winner split by whether the dog led at the first bend.
Track how many runs each feature relies on. A dog with only two starts back from a long break will have last-three features leaning on very old information, so either exclude it until the sample recovers or weight recent runs more heavily. Keep your form source consistent too, because some aggregated form mixes maiden, graded and open results without saying so.
Using race times and sectional data
Times usually carry more information than positions. A dog can finish fourth in a fast race and still run a personal best, while a slow win often says more about the field. Core time features include best time over course and distance, last race time compared with the standard time for that race, and sectional times to the first and third bends, which separate early speed from finishing speed. External speed ratings, if you have them, should be treated as a rating, not as ground truth.
Without sectionals, the gap between best time and standard time at the same course and distance is a free and reasonable start. Be aware that clocks were sometimes run manually in older data and that sources can disagree about the same race. Pick one source for any time-based feature, or you end up modelling the data rather than the dog.
Age, career stage and experience variables
Greyhounds peak, hold for a while and then decline, and the shape of that arc varies by dog. The chapter suggests capturing age in months or days since first recorded race, which is often more informative for young dogs; number of career races as a separate experience measure; days since last race; and races at the specific track, distinct from races at the distance, since some dogs clearly love or dislike a course.
Resist binning age into young, prime and veteran at the start. Let the model learn from raw age first and only bin if a consistent non-linearity appears across many dogs, because hard bins bake in assumptions before the data has spoken. Experience also interacts with grade, so let the race-level grade variable work alongside these dog-level features rather than adjusting them yourself.
Trainer and kennel signals used with care
Trainers and kennels differ in real ways, and a debutant from a strong kennel can carry information you cannot see in form. Yet trainer features invite overfitting. An overall strike rate is too blunt: a big kennel barely moves, while a small trainer swings on a few winners. Splits by track and grade are more useful but shrink samples, so do not split further than your data supports.
Recent trainer form, such as the last 30 or 60 days at the same track, often beats career figures because it picks up a kennel hitting form or going cold. Watch for new licences and aliases that split one operation's record. The honest framing is that trainer features correct the dog's own form rather than replace it: use them to nudge, not to override.
A starter set of dog form features
A reasonable starter set includes average finishing position over the last three runs, beaten margin last time, best time minus standard time at course and distance, sectional to the first bend, age in months, career races, days since last race and trainer win rate at the track over the last 60 days. Pick a handful and let modelling show which earn their place. Fix and document your choices, including N, before any backtest.
Trap draw matters, with inside traps at compact tracks winning more often than chance over sprints, but it is a race-level variable that sits alongside dog form rather than inside it. The chapter frames the model as three inputs: what the dog brings, what the race sets up, and what the market thinks it is all worth.
Key takeaways
- Every dog feature must be computable from information that existed at the off.
- Beaten margins and time-based features usually carry more signal than positions alone.
- Keep age and career races as separate features and avoid pre-binning age.
- Use one time source per timing feature so you model the dog, not the feed.
- Treat trainer features as a recent, track and grade specific correction to form.
