Perfect Part
Perfect Part has the kind of story that racing occasionally throws up: a horse that did the impossible once and then spent the next two-and-a-half years chasing it. Back in June 2024, this four-year-old burst through at Beverley to win a Class 2 race—one of the top tier—in a time that impressed trainer
Brian Ellison enough to note it was faster than the colts' race on the same day. It was a debut win, electric and unexpected. The owner, Keith Brown, had picked her up cheaply partly because she was undersized, a late foal who hadn't filled out the way breeders hoped. But she'd come out of the stalls like a rocket in the lead-up, and when the gates opened on race day, she delivered.
Based on TrackLab's analysis
📊 Key numbers
Career totals for this horse
🔍 Full analysis
Our model's view, based on this horse's career and recent runs
Since then, nothing. Perfect Part has raced 16 times without another win, though she has picked up three placings to show she remains competitive. Her recent form tells the story: two placings in her last six outings (a fourth and a second), but nothing better. When she steps up to Class 1 races—the very top level—she has managed nothing in six attempts, suggesting that early Beverley win was something special rather than the start of a pattern. She seems to have found her level in races at 5f to 6½f, where she has won once in eight races (12%), though even that modest improvement hasn't translated into regular success. Ben Robinson, her most regular rider, has steered her six times without getting her into the winner's enclosure.
Brian Ellison's Norton yard continues to thrive—43 winners sent out this season—but Perfect Part remains the one that got away, a reminder that sometimes the most exciting moment a horse has is its first.
⚡ Strengths and risks
What helps this horse and what to watch out for
✓ What works in their favour
✔ Excellent record on good_to_firm ground: 1 wins from 9 starts (11%)
✔ Well suited by 5f – 6½f distances: 12% win rate
⚠ What to watch out for
⚠ Poor record on good ground: 0 wins from 7 starts
⚠ Poor record on good_to_soft ground: 0 wins from 5 starts
⚠ Struggles on LH Galloping tracks: 0 wins from 12 starts
🎯 Where this horse runs best
Results split by ground, distance, race level and track shape
🌧 Ground
Good to firm (fairly firm)
Loves
Standard (all-weather)
Unknown
Good (a little give)
Avoids
Good to soft (some give)
Avoids
🏅 Race level
Class 2 (high-level)
Loves
Class 3 (mid-level)
Unknown
Class 4 (standard)
Unknown
🏟 Track shape
Right-handed, long straights
Unknown
Right-handed, hilly
Unknown
Left-handed, tight
Unknown
Left-handed, hilly
Unknown
Left-handed, long straights
Avoids
Right-handed, tight turns
Avoids
📅 Recent runs
The last 10 races, most recent first
17 Sep
8th
Pontefract
1m1f – 1m2f · Good · 10 runners
5 Sep
4th
Thirsk
7f – 1m · Good_To_Soft · 6 runners
20 Aug
5th
York
7f – 1m · Good_To_Soft · 21 runners
18 Jul
7th
Doncaster
7f – 1m · Good_To_Firm · 9 runners
17 Jun
22th
Ascot
1m1f – 1m2f · Good_To_Firm · 25 runners
31 May
2nd
Thirsk
7f – 1m · Good · 12 runners
16 May
4th
Thirsk
7f – 1m · Good · 14 runners
12 Apr
6th
Musselburgh
1m1f – 1m2f · Good · 12 runners
28 Mar
4th
Doncaster
1m1f – 1m2f · Good_To_Soft · 22 runners
11 Oct
13th
Newmarket
5f – 6½f · Good_To_Firm · 14 runners
🏇 Jockeys
Every jockey who has ridden this horse, most rides first
🏟 Course record
Win rate at each course this horse has visited
| Course | Races | Results | Last run | Win rate |
| York Galloping |
4 |
4 other |
20 Aug |
0% |
| Musselburgh Sharp |
3 |
3 other |
12 Apr |
0% |
| Thirsk Galloping |
3 |
1 second, 2 other |
5 Sep |
0% |
| Doncaster Galloping |
3 |
3 other |
18 Jul |
0% |
| Beverley Undulating |
2 |
1 win, 1 second |
5 Jul |
50% |
| Chester Tight |
1 |
1 other |
28 Jun |
0% |
| Ayr Galloping |
1 |
1 other |
21 Sep |
0% |
| chelmsford |
1 |
1 other |
18 Apr |
0% |
| Redcar Galloping |
1 |
1 other |
4 Oct |
0% |
| Newmarket Galloping |
1 |
1 other |
11 Oct |
0% |
| Ascot Galloping |
1 |
1 other |
17 Jun |
0% |
| Pontefract Undulating |
1 |
1 other |
17 Sep |
0% |