Two Plus Two
Two Plus Two is a six-year-old who has found occasional success at modest level after a long search for a breakthrough. The horse won just once in its first 32 races before finally breaking through at Wolverhampton on 13 January 2025, then added three more wins in quick succession. Since then, though, the runs have dried up — it has not won in its last six races and was last seen finishing ninth just a day ago, suggesting the yard is still hunting for the right opportunity.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
The most striking fact about this horse is how much it loves Bath racecourse. With 2 wins from 7 races there, it wins roughly 1 in every 3.5 trips to that track — a genuine specialist. It last won at Bath on 22 May 2026, so there is a five-month gap since its last success. Fast, dry ground also suits it noticeably better; it wins 1 in every 5 races when conditions are firm, compared to an overall win rate of roughly 1 in 9 races across all situations. When Darragh Keenan rides, the numbers improve sharply too — the pair have won 2 from 7 races together, a win rate of about 1 in 3.5, which is significantly above the horse's normal form.
Ed de Giles trains Two Plus Two from Ledbury, and the yard itself has had a solid season with eight winners so far. At its level — mostly Class 6 races where it wins roughly 1 in 8 times — this is a horse that will always be competitive on the right day, especially back at Bath on quick ground with Keenan in the saddle. Recent form suggests a return to the winner's circle may be overdue.
⚡ 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: 2 wins from 10 starts (20%)
⚠ What to watch out for
⚠ Poor record on good ground: 0 wins from 5 starts
⚠ Poor record on standard_to_slow ground: 0 wins from 3 starts
⚠ Yet to win at chelmsford in 5 attempts
⚠ Struggles on LH Galloping tracks: 1 wins from 19 starts
⚠ Struggles on Galloping tracks: 0 wins from 5 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)
Ok
Good to soft (some give)
Unknown
Good (a little give)
Avoids
Standard to slow (all-weather)
Avoids
📏 Race distance
Long Distance (2M+)
Unknown
🏅 Race level
Class 4 (standard)
Unknown
Class 5 (entry-level)
Unknown
Class 6 (grassroots)
Likes
🏟 Track shape
Left-handed, tight turns
Unknown
Right-handed, hilly
Unknown
Left-handed, long straights
Avoids
Right-handed, long straights
Avoids
📅 Recent runs
The last 10 races, most recent first
12 Oct
5th
Kempton Park
1m6f – 2m · 9 runners
29 Sep
7th
Bath
1m6f – 2m · Good_To_Firm · 14 runners
13 Sep
9th
Bath
1m6f – 2m · Good_To_Soft · 14 runners
30 Jul
2nd
Epsom Downs
1m6f – 2m · Good_To_Firm · 5 runners
9 Jul
4th
Newbury
1m6f – 2m · Good_To_Firm · 6 runners
25 Jun
2nd
Nottingham
1m6f – 2m · Good_To_Firm · 5 runners
31 May
4th
Nottingham
1m6f – 2m · Good · 7 runners
22 May
🏆 Won
Bath
1m6f – 2m · Good_To_Firm · 10 runners
4 May
4th
Bath
1m3f – 1m4f · Good · 9 runners
22 May
7th
Great Yarmouth
1m6f – 2m · Good_To_Firm · 10 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 |
| Wolverhampton Galloping |
10 |
1 win, 3 seconds, 6 other |
21 Apr |
10% |
| Bath Undulating |
7 |
2 wins, 5 other |
29 Sep |
28.6% |
| chelmsford |
5 |
1 third, 4 other |
19 Dec |
0% |
| Kempton Park Galloping |
3 |
3 other |
12 Oct |
0% |
| Newbury Galloping |
2 |
2 other |
9 Jul |
0% |
| Nottingham Galloping |
2 |
1 second, 1 other |
25 Jun |
0% |
| Salisbury Undulating |
1 |
1 win |
4 May |
100% |
| Doncaster Galloping |
1 |
1 second |
19 Aug |
0% |
| Epsom Downs Undulating |
1 |
1 second |
30 Jul |
0% |
| Lingfield Park Sharp |
1 |
1 third |
27 Oct |
0% |
| Chepstow Galloping |
1 |
1 other |
26 Jun |
0% |
| Wetherby Galloping |
1 |
1 other |
13 Jun |
0% |
| Southwell Galloping |
1 |
1 other |
23 Jan |
0% |
| Great Yarmouth Galloping |
1 |
1 other |
22 May |
0% |