The numbers tell a clean story. In his first full season he was winning roughly 1 in every 14 races, a modest 7% that reflected someone still finding his feet. This season that figure has more than doubled: 23 winners from 144 races, which works out at around 1 in every 6. That kind of improvement in a single season is not incremental — it suggests a jockey who has genuinely figured something out.
His partnership with trainer Martin Keighley — 10 wins from 64 races together — accounts for a significant chunk of his career total, and a shared surname will inevitably prompt assumptions. But the riding record stands on its own. Across all stables, he is producing the same 16% win rate, which means the results are following him, not just landing in his lap through yard loyalty.
The most eye-catching number, though, is what happens on normal ground conditions. In those circumstances he has won 13 from 53 races, a 25% win rate — roughly 1 in every 4. That is a seriously strong return and suggests a rider who is at his most assured when the track is playing fair and fast, rather than relying on extreme conditions to shuffle the deck.
And right now he is in the best form of his short career. Two winners from his last 6 races means he has been winning a third of the time over the past fortnight — double his already-improved season average. For a jockey still only two years into the job, with momentum building and a productive stable behind him, the 26 career winners on the board feel less like a total and more like a starting point.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Cheltenham | 12 | 1 | 8.3% |
| Taunton | 9 | 3 | 33.3% |
| Uttoxeter | 9 | 2 | 22.2% |
| Lingfield Park | 9 | 0 | 0% |
| Wincanton | 8 | 2 | 25% |
| Southwell | 8 | 1 | 12.5% |
| Warwick | 7 | 1 | 14.3% |
| Sandown Park | 7 | 0 | 0% |
| Worcester | 6 | 2 | 33.3% |
| Chepstow | 6 | 1 | 16.7% |
| Kempton Park | 5 | 2 | 40% |
| Newton Abbot | 5 | 0 | 0% |
| Leicester | 5 | 0 | 0% |
| Exeter | 5 | 0 | 0% |
| Sedgefield | 4 | 3 | 75% |
| Fontwell Park | 4 | 2 | 50% |
| Newbury | 4 | 0 | 0% |
| Ascot | 4 | 0 | 0% |
| Doncaster | 4 | 0 | 0% |
| hereford | 4 | 0 | 0% |
| Bangor-on-Dee | 3 | 1 | 33.3% |
| Musselburgh | 3 | 1 | 33.3% |
| Plumpton | 3 | 0 | 0% |
| Haydock Park | 2 | 0 | 0% |
| Kelso | 1 | 1 | 100% |
| Ffos Las | 1 | 0 | 0% |
| Catterick Bridge | 1 | 0 | 0% |
| Fakenham | 1 | 0 | 0% |
| Huntingdon | 1 | 0 | 0% |
| Wetherby | 1 | 0 | 0% |
| Windsor | 1 | 0 | 0% |
| Stratford-on-Avon | 1 | 0 | 0% |