Labs · Track bias
Across 31,320 timed british races the dog leading at the first split goes on to win 48.4% of the time. That average hides the two ends: at Romford 575m it is 64.0%, at Dunstall Park 480m 41.8%. 6 of 19 track and distance combinations run measurably differently from the rest — and knowing which is the difference between backing a fast starter and backing one that needs room.
Both are ordinary tracks running ordinary grades. The difference is the shape of the circuit, and it decides which dog is worth backing.
Get to the bend first and the rest of the field spends the race behind you. 417 timed races, +15.7pp clear of the region — the widest gap measured, and comfortably past p < 0.001.
Room to come round the outside, and the field takes it. The most reliably won-from-behind combination on the list. 1,487 timed races, −6.6pp — a real effect on a large sample.
Where the winner was at the first split. Sorted by distance from the regional average rather than by certainty — a big sample makes almost anything significant, so ordering by p-value would put the busiest tracks on top instead of the most distinctive.
| Track | Timed | Where the winner was | Led | vs region | Reads as |
|---|---|---|---|---|---|
| Romford |
417 | 64.0% | +15.7pp | early pace | |
| Star Pelaw |
953 | 55.1% | +6.7pp | early pace | |
| Dunstall Park |
1,487 | 41.8% | −6.6pp | won from behind | |
| Romford |
3,198 | 53.4% | +5.0pp | early pace | |
| Oxford |
667 | 52.9% | +4.6pp | not proven | |
| Newcastle |
2,535 | 43.9% | −4.5pp | won from behind | |
| Doncaster |
1,183 | 44.0% | −4.3pp | not proven | |
| Central Park |
1,274 | 44.5% | −3.9pp | not proven | |
| Hove |
2,255 | 44.8% | −3.6pp | won from behind | |
| Harlow |
1,559 | 45.7% | −2.6pp | not proven | |
| Kinsley |
1,324 | 46.6% | −1.8pp | not proven | |
| Towcester |
1,340 | 46.7% | −1.7pp | not proven | |
| Yarmouth |
1,974 | 49.9% | +1.5pp | not proven | |
| Sunderland |
2,112 | 49.8% | +1.4pp | not proven | |
| Valley |
940 | 49.5% | +1.1pp | not proven | |
| Sheffield |
1,513 | 49.2% | +0.9pp | not proven | |
| Swindon |
538 | 47.6% | −0.8pp | not proven | |
| Nottingham |
1,531 | 47.8% | −0.6pp | not proven | |
| Monmore |
2,411 | 48.8% | +0.5pp | not proven |
A row with no verdict did not clear p < 0.001. It stays
visible because a track that has not proven itself different is a result too, and
dropping it would leave a table of nothing but winners.
Every runner carries a time to a fixed point, usually near the first bend. Within one race the runner with the fastest split was in front there — and that is all that is used. The winner is then placed by how many rivals crossed before it: none, one, or two and more.
A count, not a time, on purpose. Splits are timed to a point rather than a distance, so a 400m split and a 575m split at the same course measure journeys ending in different places. Nothing here compares across races, so it does not matter.
The first past the post is observed. Beaten distances are a judge's estimate, and any placing built on one inherits the estimate.
Races with no split. Where the timing gear did not record one, half a field cannot say who led, so the race is set aside rather than guessed at. The share that made it through is on every row, so a thin row is visibly thin for the right reason.
Handicaps. Runners start from different marks, so the first dog to the split is the one with the shortest run, not the fastest away.
Sprints, dead heats and voids. No split at all, or no single winner.
The early leader wins more than its share at every track there is, so asking whether a track is "even" flags all of them and tells you nothing. Each combination is compared with the rest of its own region — never against a baseline it makes up a quarter of — and Britain and Australia are kept apart: different split points, different field sizes, and a leader facing five rivals is not in the same race as one facing seven.
Python 3.9 and the standard library. Nothing to install and nothing to keep patched. The figures on this page are the file this command writes.
git clone https://github.com/GreyhoundAPI/greyhound-racing-track-bias
cd greyhound-racing-track-bias
python -m trackbias --region GBA free key reaches a rolling seven-day window — enough to watch it work, not enough to measure anything, and it will tell you so. A live key reaches the full archive.