Data sources
Racecards, results and historical form arrive via a licensed commercial racing data API. Exchange prices come from Betfair. Fixtures and official announcements come from the sport's governing bodies. We never scrape paywalled publications, and we never republish another publisher's editorial content.
Trainer form
Strike rate is wins over runs in the stated window. A/E (actual over expected) compares wins achieved with wins implied by starting prices: above 1.00 means the market underestimated the yard. P/L is calculated to a 1-point level stake at SP. Windows roll daily at 07:30.
Draw bias
We compare each stall group's actual win rate with its market-expected win rate over a ten-year window, split by distance and going. Any cell with fewer than 50 races carries a visible small-sample warning. We'd rather say "unproven" than invent an edge.
Tipster proofing
Public tips are captured with a timestamp at publication, the advised price and bookmaker, then settled at both advised price and Betfair SP. The log is append-only: no retrospective edits, ever. Voids are recorded with reasons. Minimum sample before league placement: 100 tips over 90+ days. Tracked tipsters have a right of reply and a published contact route.
Corrections
Errors happen; hiding them is the sin. Corrections are logged on the affected page with a date and what changed. Independence: no bookmaker, broadcaster or tipster has any editorial input, and we hold no positions in any tipping service we track.
What the timestamps mean
Every data page shows its last refresh. If a page says 07:31 today, the numbers include yesterday's results. If you catch a stale page, tell us: that's a bug, not a shrug.