The last two weeks have been particularly eye-catching. Two winners from just five runners works out at 40% — more than three times his already-improved seasonal average of 13%. A trainer running that hot rarely does so by accident. Something is clicking at the yard right now.
O'Keeffe has also shown a knack for specific conditions. On slightly soft ground — when there has been a bit of rain and the turf has some give in it — his horses win at a rate of roughly 1 in every 5, with 7 wins from 34 races. That 21% figure is meaningfully better than his overall average and suggests he knows how to place his horses when the weather turns. Pontefract tells a similar story: 3 winners from just 7 runners at that track is a remarkable return, and it is exactly the kind of local knowledge that separates a shrewd operator from someone just sending horses out and hoping.
His most trusted ally on race day is jockey Jack Garritty, who has partnered O'Keeffe's horses to 8 wins from 60 rides together. That 1-in-8 win rate mirrors the yard's overall figure almost exactly — a sign of a settled, well-functioning partnership rather than one carrying the other. Then there is Trojan Soldier, the horse O'Keeffe has worked with most productively: 3 wins from 12 races together, which tells the story of a trainer who has really got to know a horse and figured out how to get the best from it.
Eighty-five winners in four years, a rising win rate, a jockey he trusts, a track he dominates, and a yard currently running at nearly three times its own average. O'Keeffe is still relatively new to this game, but the evidence is stacking up that he is learning it quickly.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Newcastle | 33 | 4 | 12.1% |
| Southwell | 13 | 2 | 15.4% |
| Beverley | 8 | 1 | 12.5% |
| Pontefract | 7 | 3 | 42.9% |
| Carlisle | 7 | 1 | 14.3% |
| Haydock Park | 7 | 0 | 0% |
| Thirsk | 7 | 0 | 0% |
| Catterick Bridge | 6 | 2 | 33.3% |
| Wetherby | 5 | 0 | 0% |
| Hexham | 4 | 1 | 25% |
| Aintree | 4 | 0 | 0% |
| Kelso | 4 | 0 | 0% |
| Redcar | 4 | 0 | 0% |
| Nottingham | 3 | 2 | 66.7% |
| Ripon | 3 | 1 | 33.3% |
| York | 3 | 1 | 33.3% |
| Musselburgh | 3 | 0 | 0% |
| Ayr | 3 | 0 | 0% |
| Market Rasen | 3 | 0 | 0% |
| Doncaster | 3 | 0 | 0% |
| Leicester | 3 | 0 | 0% |
| Ffos Las | 2 | 1 | 50% |
| Bath | 2 | 0 | 0% |
| Uttoxeter | 2 | 0 | 0% |
| Stratford-on-Avon | 2 | 0 | 0% |
| hereford | 1 | 1 | 100% |
| Kempton Park | 1 | 0 | 0% |
| Warwick | 1 | 0 | 0% |
| Goodwood | 1 | 0 | 0% |
| Newton Abbot | 1 | 0 | 0% |
| Wolverhampton | 1 | 0 | 0% |
| Ludlow | 1 | 0 | 0% |
| Worcester | 1 | 0 | 0% |
| Perth | 1 | 0 | 0% |
| Newmarket | 1 | 0 | 0% |
| Epsom Downs | 1 | 0 | 0% |
| Fakenham | 1 | 0 | 0% |
| Newbury | 1 | 0 | 0% |