The highlight of recent months came at Cheltenham in November 2025, where he landed a Class 1 victory — the sport's equivalent of winning at Wembley or Lord's. He followed that up with a win at Sandown Park in January 2026, confirming that the big moments don't faze him. Cheltenham in particular is a notoriously difficult track to ride well, so a top-level win there at 25 or 26 years old is no small thing.
This season has been slightly slower than last. His win rate has dipped from 16% — nearly 1 in every 6 races — down to 10%, or roughly 1 in every 10, with 30 winners from 290 rides so far. That kind of dip is worth monitoring, but 290 rides in a single season also tells you that trainers keep putting him up, which counts for a lot. His most regular trainer relationship is with Alex Hales, for whom he has ridden 62 times and won on 3 occasions. That 1-in-20 win rate with Hales is modest, but 62 rides together points to a working partnership built on trust rather than just results.
One small but interesting detail: on fast, dry ground, Woods has won 1 from 3 races, a 33% return. That's too small a sample to draw firm conclusions from, but it's a thread worth following as the summer months arrive. His partnership with Hornica, meanwhile, has produced 0 wins from 5 races together — one of those combinations that simply hasn't clicked yet, despite the volume of attempts.
The broader picture is of a jockey in the middle phase of building something real. Two hundred career winners in four years, ten at the highest level, and a willingness to ride 290 times in a season — that's not someone coasting. The win rate may have softened this term, but the foundations look solid.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Uttoxeter | 18 | 1 | 5.6% |
| Huntingdon | 17 | 1 | 5.9% |
| Worcester | 17 | 1 | 5.9% |
| Stratford-on-Avon | 16 | 2 | 12.5% |
| Cheltenham | 15 | 2 | 13.3% |
| Plumpton | 13 | 2 | 15.4% |
| Doncaster | 12 | 1 | 8.3% |
| Southwell | 12 | 0 | 0% |
| Chepstow | 12 | 0 | 0% |
| Newbury | 12 | 0 | 0% |
| Warwick | 12 | 0 | 0% |
| Market Rasen | 10 | 0 | 0% |
| Ludlow | 9 | 3 | 33.3% |
| Ascot | 9 | 2 | 22.2% |
| Bangor-on-Dee | 9 | 1 | 11.1% |
| Wincanton | 8 | 0 | 0% |
| Fontwell Park | 8 | 0 | 0% |
| Fakenham | 7 | 2 | 28.6% |
| Leicester | 7 | 2 | 28.6% |
| Aintree | 7 | 0 | 0% |
| Wetherby | 6 | 1 | 16.7% |
| Newton Abbot | 6 | 1 | 16.7% |
| Windsor | 6 | 0 | 0% |
| Exeter | 5 | 2 | 40% |
| Sandown Park | 5 | 1 | 20% |
| Kempton Park | 5 | 0 | 0% |
| Lingfield Park | 5 | 0 | 0% |
| Sedgefield | 4 | 2 | 50% |
| hereford | 4 | 1 | 25% |
| Ayr | 3 | 2 | 66.7% |
| Ffos Las | 3 | 0 | 0% |
| Carlisle | 2 | 0 | 0% |
| Taunton | 2 | 0 | 0% |
| Musselburgh | 1 | 0 | 0% |
| Hexham | 1 | 0 | 0% |
| Cartmel | 1 | 0 | 0% |
| Perth | 1 | 0 | 0% |