The last 12 months tell the full story of what life looks like for a jockey in the thick of it. O'Neill has had 705 rides this season, converting 52 of them into wins — that's roughly 1 in every 14, or a 7% win rate. In isolation that might sound modest, but 705 rides is an enormous workload. That's nearly two rides every single day, rain or shine, travelling the length of the country. Turning 1 in 14 of those into a winner is a solid return.
Where things get more interesting is his partnership with trainer Scott Dixon. Across 172 rides together, O'Neill has won 19 times — a win rate of 11%, or just under 1 in every 9. That's meaningfully better than his overall average, and it suggests something that matters in racing: when a trainer keeps putting you up on their horses, and you keep delivering at a higher rate, that's a real working relationship rather than just a numbers game. Dixon clearly knows what he has in O'Neill, and O'Neill clearly responds to the horses coming out of that yard.
He also has a noticeable edge when the ground dries out. On fast, dry ground, O'Neill has won 10 times from 87 races — again that 11% figure, almost 1 in every 9. Horses tend to be quicker and more free-running on firm ground, and some jockeys simply read that kind of race better than others. O'Neill appears to be one of them.
The standout moment of his career so far came in a top-level race at Bath — the kind of occasion that only comes around occasionally and separates jockeys who can handle the pressure from those who wilt under it. One win at that level is one more than most riders ever manage. It's a marker that O'Neill doesn't just accumulate winners at everyday meetings; when the big moment has arrived, he has delivered.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Wolverhampton | 173 | 16 | 9.2% |
| Southwell | 126 | 8 | 6.3% |
| Lingfield Park | 90 | 8 | 8.9% |
| Kempton Park | 39 | 1 | 2.6% |
| Bath | 33 | 3 | 9.1% |
| chelmsford | 32 | 4 | 12.5% |
| Chepstow | 22 | 2 | 9.1% |
| Doncaster | 22 | 2 | 9.1% |
| Great Yarmouth | 20 | 2 | 10% |
| Windsor | 16 | 0 | 0% |
| Ffos Las | 15 | 1 | 6.7% |
| Newcastle | 14 | 2 | 14.3% |
| Chester | 12 | 1 | 8.3% |
| Nottingham | 12 | 0 | 0% |
| Leicester | 10 | 0 | 0% |
| Sandown Park | 9 | 0 | 0% |
| Thirsk | 8 | 0 | 0% |
| Brighton | 7 | 1 | 14.3% |
| Newbury | 7 | 0 | 0% |
| Newmarket | 6 | 0 | 0% |
| Haydock Park | 5 | 0 | 0% |
| Salisbury | 5 | 0 | 0% |
| York | 4 | 1 | 25% |
| Goodwood | 3 | 0 | 0% |
| Wetherby | 3 | 0 | 0% |
| Ayr | 2 | 0 | 0% |
| Ripon | 2 | 0 | 0% |
| Epsom Downs | 2 | 0 | 0% |
| Hamilton Park | 2 | 0 | 0% |
| Pontefract | 1 | 0 | 0% |
| Beverley | 1 | 0 | 0% |
| Carlisle | 1 | 0 | 0% |
| Redcar | 1 | 0 | 0% |