The overall numbers are modest but steady. Across four years, Hales has sent out 68 career winners, and in the last 12 months the yard has produced 12 winners from 155 runners — that's roughly 1 win in every 13 races, an 8% win rate that reflects the reality of a smaller operation finding its feet in a competitive training environment. It's not a yard throwing horses at every race and hoping something sticks; 155 runners over a full season is a measured, focused approach.
One track where that focus seems to pay off is Fakenham, a tight little circuit in Norfolk where Hales has won 3 races from just 8 runners. That's a genuinely impressive hit rate — more than 1 in every 3 runners coming home in front — and it suggests either a smart reading of which horses suit that particular track or a real understanding of how to place a horse well when the opportunity is there.
The most consistent jockey pairing in the yard is with Kielan Woods, though the numbers here are interesting rather than spectacular: 4 wins from 75 rides together works out to roughly 1 in every 19 races, a 5% win rate. That's lower than the yard's overall average, which likely reflects the fact that Woods takes on a wide range of rides across the stable, not just the yard's strongest fancies. The partnership is clearly a trusted one built on familiarity rather than headline figures.
Still only four years in, Hales is the kind of trainer worth keeping an eye on — quietly building a record, with at least one big-day win already to their name.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Huntingdon | 21 | 1 | 4.8% |
| Worcester | 15 | 2 | 13.3% |
| Warwick | 14 | 1 | 7.1% |
| Plumpton | 12 | 1 | 8.3% |
| Stratford-on-Avon | 12 | 1 | 8.3% |
| Uttoxeter | 11 | 2 | 18.2% |
| Fakenham | 8 | 3 | 37.5% |
| Southwell | 8 | 0 | 0% |
| Market Rasen | 7 | 1 | 14.3% |
| Leicester | 5 | 0 | 0% |
| Fontwell Park | 4 | 0 | 0% |
| Windsor | 4 | 0 | 0% |
| Lingfield Park | 4 | 0 | 0% |
| Newbury | 3 | 0 | 0% |
| Aintree | 3 | 0 | 0% |
| Ludlow | 3 | 0 | 0% |
| Chepstow | 3 | 0 | 0% |
| Taunton | 3 | 0 | 0% |
| Doncaster | 2 | 0 | 0% |
| Wincanton | 2 | 0 | 0% |
| Bangor-on-Dee | 2 | 0 | 0% |
| Newton Abbot | 1 | 0 | 0% |
| hereford | 1 | 0 | 0% |
| chelmsford | 1 | 0 | 0% |
| Wolverhampton | 1 | 0 | 0% |
| Ascot | 1 | 0 | 0% |
| Sandown Park | 1 | 0 | 0% |
| Kempton Park | 1 | 0 | 0% |
| Salisbury | 1 | 0 | 0% |
| Nottingham | 1 | 0 | 0% |