The last 12 months have been tougher, though. O'Shea has sent out 126 runners and come back with just 6 winners — that's roughly 1 in every 21 races, or a win rate of around 5%. To put that in perspective, his yard was winning closer to 1 in every 12 or 13 races last season, so this dip is noticeable. Whether it's the horses he's been given to work with or just a rough patch, it's the kind of season where small improvements could make a real difference.
One bright spot is his working relationship with jockey William Carson. The pair have teamed up 33 times, producing 2 wins together — around 1 in every 16 rides. That's not a barnstorming partnership by any measure, but there's clearly a working understanding there, and O'Shea keeps putting Carson in the saddle, which suggests he trusts the combination. One partnership that hasn't clicked at all is with Forever Glamorous — six races together and still waiting for that first win. Six attempts is enough to say it simply hasn't happened for them as a pairing, at least not yet.
Where O'Shea does show a genuine edge is on normal ground — the kind of conditions you'd call a fair, standard track. On those days, his horses have won 3 from 38 races this season, an 8% win rate, or roughly 1 in every 13. That might not sound dramatic, but it's noticeably better than his overall numbers, and it suggests his horses are prepared and well-suited when conditions aren't throwing any surprises at them. If you're watching one of O'Shea's runners on a dry, straightforward afternoon, it's worth paying attention.
Still only four years in, O'Shea is very much a trainer on the way up rather than one at the peak of his powers. The current dip in form is something to watch, but 58 career winners in under half a decade is a real achievement, and there's every reason to think the yard will find its rhythm again.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Chepstow | 34 | 3 | 8.8% |
| Wolverhampton | 32 | 1 | 3.1% |
| Bath | 11 | 0 | 0% |
| Kempton Park | 9 | 2 | 22.2% |
| Ffos Las | 8 | 0 | 0% |
| Windsor | 5 | 0 | 0% |
| Newton Abbot | 4 | 0 | 0% |
| Ludlow | 3 | 0 | 0% |
| Stratford-on-Avon | 3 | 0 | 0% |
| Warwick | 3 | 0 | 0% |
| Brighton | 2 | 0 | 0% |
| Newbury | 1 | 0 | 0% |
| Lingfield Park | 1 | 0 | 0% |
| Sandown Park | 1 | 0 | 0% |
| Haydock Park | 1 | 0 | 0% |
| Doncaster | 1 | 0 | 0% |
| Salisbury | 1 | 0 | 0% |
| Leicester | 1 | 0 | 0% |
| Bangor-on-Dee | 1 | 0 | 0% |
| Chester | 1 | 0 | 0% |
| Worcester | 1 | 0 | 0% |
| Ascot | 1 | 0 | 0% |
| Cartmel | 1 | 0 | 0% |