His most important professional relationship is with trainer Ian Williams, and the numbers make that clear: 19 wins from 134 rides together, which is 1 in every 7 — noticeably better than his overall rate. That kind of consistency with one yard suggests genuine trust has been built, the sort where a trainer starts putting you on their better horses rather than just filling a gap in the rota.
Southwell is where Kavanagh looks most at home. Eight winners from 37 races there is a win rate of roughly 1 in every 5, almost double his overall average, which tells you he has figured something out about riding the track — whether that is the all-weather surface, the tight turns, or simply the confidence that comes from familiarity. For punters and trainers alike, a jockey who consistently performs above his average at a specific track is always worth noting.
His standout partnership is with Queensland Boy, a horse he has won twice with from eight races together. Two from eight might not sound dramatic, but in a sport where placing horses perfectly and building chemistry between horse and rider takes time, that kind of repeat success with the same animal is a real marker of a jockey who listens and adapts. Some riders never find that rhythm with a particular horse at all.
Kavanagh is still at the stage where every winner adds to the picture of what kind of jockey he might become. The foundation, though, looks genuinely promising — a productive yard behind him, a track he dominates, and two years of experience already suggesting a rider who earns his opportunities rather than simply waiting for them.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Lingfield Park | 59 | 2 | 3.4% |
| Wolverhampton | 58 | 8 | 13.8% |
| Southwell | 37 | 8 | 21.6% |
| Newcastle | 28 | 2 | 7.1% |
| Kempton Park | 26 | 4 | 15.4% |
| chelmsford | 16 | 5 | 31.2% |
| Bath | 11 | 0 | 0% |
| Newbury | 10 | 1 | 10% |
| Chepstow | 8 | 1 | 12.5% |
| Leicester | 8 | 0 | 0% |
| Nottingham | 8 | 0 | 0% |
| Windsor | 5 | 0 | 0% |
| Brighton | 4 | 1 | 25% |
| Newmarket | 3 | 0 | 0% |
| Chester | 3 | 0 | 0% |
| Great Yarmouth | 2 | 0 | 0% |
| Ripon | 2 | 0 | 0% |
| Salisbury | 2 | 0 | 0% |
| Hamilton Park | 2 | 0 | 0% |
| Goodwood | 2 | 0 | 0% |
| Haydock Park | 2 | 0 | 0% |
| Catterick Bridge | 2 | 0 | 0% |
| Doncaster | 2 | 0 | 0% |
| Beverley | 1 | 0 | 0% |
| Ffos Las | 1 | 0 | 0% |
| Ascot | 1 | 0 | 0% |
| Pontefract | 1 | 0 | 0% |