The most telling number in Kavanagh's record is what happens when he rides for trainer Ian Williams. Across 130 races together, they have combined for 19 wins — that's a win rate of 15%, or roughly 1 in every 7 rides. That kind of consistency between a young jockey and an established trainer isn't accidental. It suggests Williams trusts Kavanagh enough to put him on horses that are meant to win, and Kavanagh is delivering often enough to keep that trust. For a jockey two years into his career, having a yard that believes in you is everything.
Dig into the track-by-track detail and one venue stands out immediately: Southwell. Eight winners from 30 rides there means Kavanagh is winning more than 1 in every 4 races at that track — a win rate of around 27%, which is genuinely exceptional. Southwell is an all-weather track in Nottinghamshire that runs year-round, which means it's a regular fixture for apprentice jockeys building their books of rides. To dominate it at that level so early in a career suggests Kavanagh has either a feel for the surface, a strong book of rides at the track, or both.
The partnership with Queensland Boy — two wins from eight races together — is a smaller sample but worth watching. A jockey who keeps getting put back on the same horse is a jockey a trainer trusts to know that horse, and knowing a horse is one of the most underrated skills in the sport. At 55 career winners and just two years in, Ryan Kavanagh is still very much at the beginning of the story. But the early chapters are looking promising.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Wolverhampton | 56 | 8 | 14.3% |
| Lingfield Park | 53 | 2 | 3.8% |
| Southwell | 30 | 8 | 26.7% |
| Newcastle | 28 | 2 | 7.1% |
| Kempton Park | 27 | 4 | 14.8% |
| chelmsford | 19 | 5 | 26.3% |
| Bath | 11 | 0 | 0% |
| Newbury | 10 | 1 | 10% |
| Chepstow | 8 | 1 | 12.5% |
| Leicester | 8 | 0 | 0% |
| Windsor | 5 | 0 | 0% |
| Brighton | 4 | 1 | 25% |
| Nottingham | 4 | 0 | 0% |
| Chester | 3 | 0 | 0% |
| Catterick Bridge | 3 | 0 | 0% |
| Great Yarmouth | 3 | 0 | 0% |
| Newmarket | 3 | 0 | 0% |
| Salisbury | 2 | 0 | 0% |
| Hamilton Park | 2 | 0 | 0% |
| Goodwood | 2 | 0 | 0% |
| Haydock Park | 2 | 0 | 0% |
| Doncaster | 2 | 0 | 0% |
| Ripon | 2 | 0 | 0% |
| Ffos Las | 1 | 0 | 0% |
| Beverley | 1 | 0 | 0% |
| Thirsk | 1 | 0 | 0% |
| Pontefract | 1 | 0 | 0% |
| Ascot | 1 | 0 | 0% |