bookie.land
Racing Odds Calculator

Racing Odds Calculator

Weight and distance by range, not numbers. History opens on the “History ▸” button.

About the calculator

This is not guesswork, it is up-to-date machine learning: a fresh, modern model (gradient boosting) tuned specifically for racing — not an outdated Random Forest trained five years ago and abandoned. Built on the most modern features, on 10 years of English racing.
Racing around the world is structured in much the same way, so the operator is universal — it works equally for Turkish, Indian, Australian, Swedish, German and any other racing. “But our racing is different!” — no: the patterns of speed, form, trainer and weight work everywhere. The English base is not a limitation.
From the long experience of our bookmaker-oddsmakers, who set the line themselves (not copied) across worldwide racing and harness: the patterns are the same everywhere, and the English model transfers confidently to any racing — European, Asian, American. This is not theory, it is the craft in practice.

Notes

Distance (Flat): Middle 6½–7½ f (≈1300–1500 m) · < Sprint · > Stayer
Distance (Jump): Middle 2m 3f – 2m 6f (≈3800–4400 m) · < Sprint · > Stayer
Weight (Flat): Medium ≈ 117–130 lb (53–59 kg) · < Light · > Heavy
Weight (Jump): Medium ≈ 133–153 lb (60–69 kg) · < Light · > Heavy
Prize: prize fund of the race itself (not the horse's winnings) — by feel: small / medium / big, no exact figures.
Days not entered: computed from the history dates.
History: at least the latest race (slot 1) is required. Exception — a debutant (never raced): leave all slots empty, the model figures it out.
Fill in order: races 1 → 2 → 3 → 4 → 5, no gaps. No data for older ones — leave them empty (model slightly weaker). Not allowed: race 4 filled while race 2 is empty.
If the horse ran — fill BOTH fields: position AND “Beaten” (plus price). Finished → place + lengths. Did not finish → Pulled up / Fell / … in position AND “did not finish” in “Beaten”. Don't leave one without the other.
Didn't run in a slot: leave position “—” and “Beaten” empty — the model reads this as “no race”. Ran once → fill only slot 1, leave the rest empty. Debutant → all slots empty.
Trainer % and Jockey %: annual WIN percentage (wins only, no places — only winner).
Regional note (jockey): in India (and, less so, Australia) the jockey affects the result far more than in racing worldwide on average: the gap from average to top is huge, a strong jockey decides the race. Betting India/Australia with a strong jockey — set its % higher.
Beaten (margin): in horse LENGTHS. 0 = won · 0.125 ≈ head · 0.25 ≈ neck · 1 = one length.
Time not entered — and that's fine: speed is already captured by the key metric — the margin in LENGTHS. Time adds only a touch, and would also force you to enter the track condition. Time is secondary — don't worry.
Odds

Race (entered once)

Runners

#HorseDrawAge Weight AllowTrainer %Jockey % HistoryForecast odds

★ The latest race (slot 1) is required — no calculation without it (or a debutant). Empty fields → average.