:

Mr J M Halford(7)

Four years into his career as a jockey, Mr J M Halford has quietly built a record worth paying attention to. Over the last 12 months he has ridden 70 races and won 8 of them — roughly 1 in every 9 — which is a solid return for a rider still finding his feet at this level. The "(7)" next to his name is a weight allowance, a small advantage given to less experienced jockeys to help them compete. It tells you where he is in his journey: not a beginner, but not yet the finished article either.Based on TrackLab's AI analysis
Quick Facts
Role
Jockey
Record
8 wins from 70 races
Win rate
11.4%
Top trainer
Best course
Roscommon (100% from 1 races)
Best going
Yielding (slightly soft)

📊 Key Numbers

A snapshot of this jockey's performance over the last 12 months
70
Races
8
Wins
11.4%
Win rate
avg ~10%
32.9%
Place rate (top 3)
avg ~30%

🔍 Full Analysis

TrackLab's AI-generated assessment based on career data and recent form
TrackLab's Jockey Breakdown
Auto-Generated

The most compelling number in his profile is the one attached to his partnership with trainer Gordon Elliott. When Halford rides for Elliott's yard, the results jump sharply — 6 wins from 24 rides, meaning he wins 1 in every 4 races in that combination. That is more than double his overall rate, and it is not a coincidence. Elliott is one of the leading trainers in Ireland, and when a yard of that quality keeps putting a young jockey up, it means they like what they see. Getting 24 rides from a top trainer in four years is an opportunity, and Halford has converted it at a rate that suggests he is making the most of it.

There is also a small but interesting pattern on wet or muddy ground. With 2 wins from 11 races in those conditions, he wins roughly 1 in every 5 or 6 races when the ground is soft — noticeably better than his overall average. Whether that reflects the types of horses he rides in those conditions or a genuine feel for riding on a testing surface is hard to say from the numbers alone, but it is a thread worth watching.

At four years in, Halford is at exactly the stage where careers either take off or flatten out. The

📈 Form Trend

How this jockey's win rate has changed month by month
Monthly win rate
2025–2026
20%
May
16.7%
Jun
0%
Jul
0%
Aug
40%
Sep
0%
Oct
18.2%
Nov
11.1%
Dec
0%
Jan
0%
Feb
14.3%
Mar
0%
Apr

🎯 Where This Jockey Thrives

Performance broken down by ground, class, and track type
🌧 Ground Conditions
Yielding (slightly soft)
Loves
Soft (muddy)
Loves
Good (firm-ish)
Soft to heavy (wet)
Good to yielding (mild give)
Ok
Standard (all-weather)
Unknown
Standard to slow (all-weather)
Unknown
Heavy (very wet)
Avoids
Yielding to soft (damp)
Avoids
🏅 Competition Level
Class 5 (entry-level)
Unknown
Class 6 (grassroots)
Unknown
🏟 Track Shape
Right-handed, long straights
Loves
Right-handed, tight turns
Loves
Left-handed, tight turns
Long straights
Unknown
Left-handed, long straights
Avoids
Right-handed, tight
Avoids
Right-handed, hilly
Avoids

🏇 Trainer Partnerships

The trainers they work with most, sorted by rides together
Gordon Elliott First Choice
25%
Win rate
6/24
Won / Rode
14.3%
Win rate
1/7
Won / Rode
0%
Win rate
0/6
Won / Rode
20%
Win rate
1/5
Won / Rode
0%
Win rate
0/2
Won / Rode
0%
Win rate
0/2
Won / Rode
0%
Win rate
0/2
Won / Rode
0%
Win rate
0/2
Won / Rode
0%
Win rate
0/2
Won / Rode
0%
Win rate
0/2
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode
0%
Win rate
0/1
Won / Rode

Top Horses

The strongest horses currently associated with this jockey
Form: 40-524
Form: 1
Form: 122
Form: 111203
Form: 121419
Form: -8P638
Form: 3/6422
Form: 2FF411
Form: 693564
Form: FF1

🏟 Course Record

Win rate at each course, sorted by number of races
CourseRacesWinsWin rate
Punchestown 7 1 14.3%
Clonmel 6 1 16.7%
Naas 5 0 0%
Galway 5 0 0%
Limerick 4 1 25%
Thurles 4 0 0%
Down Royal 3 2 66.7%
Kilbeggan 3 0 0%
Fairyhouse 3 0 0%
Navan 3 0 0%
Sligo 3 0 0%
Leopardstown 3 0 0%
Wexford 2 1 50%
Listowel 2 1 50%
Bellewstown 2 0 0%
The Curragh 2 0 0%
Tipperary 2 0 0%
Killarney 2 0 0%
Dundalk 2 0 0%
Roscommon 1 1 100%
Tramore 1 0 0%
Gowran Park 1 0 0%
chelmsford 1 0 0%
Downpatrick 1 0 0%
Doncaster 1 0 0%
Cheltenham 1 0 0%

📅 Recent Results

The last 20 results, most recent first
30 Apr
Punchestown · Long Distance (2m+) · Yielding
2nd
28 Apr
Punchestown · Long Distance (2m+) · Yielding
11th
28 Apr
Punchestown · Long Distance (2m+) · Yielding
9th
24 Apr
Kilbeggan · Long Distance (2m+) · Good_To_Yielding
11th
29 Mar
Downpatrick · Long Distance (2m+) · Yielding_To_Soft
2nd
17 Mar
Down Royal · Long Distance (2m+) · Yielding
Won
17 Mar
Down Royal · Long Distance (2m+) · Good_To_Yielding
3rd
12 Mar
Cheltenham · Long Distance (2m+) · Good
7 Mar
Gowran Park · Long Distance (2m+) · Heavy
4th
6 Mar
Dundalk · Long Distance (2m+) · Standard
7th
3 Mar
Leopardstown · Long Distance (2m+) · Yielding
8th
19 Feb
Thurles · Long Distance (2m+) · Soft_To_Heavy
12 Feb
Clonmel · Long Distance (2m+) · Heavy
7 Feb
Naas · Long Distance (2m+) · Heavy
4th
7 Feb
Naas · 1m6f – 2m · Soft_To_Heavy
3rd
5 Feb
Thurles · Long Distance (2m+) · Soft
2nd
25 Jan
Naas · Long Distance (2m+) · Heavy
6th
18 Jan
Thurles · Long Distance (2m+) · Yielding
4th
12 Jan
Punchestown · Long Distance (2m+) · Soft_To_Heavy
2nd
11 Jan
Gringo dAubrelle
Punchestown · Long Distance (2m+) · Soft_To_Heavy