Iāve been working on machine learning projects in Horse Racing, specifically UK & IE markets. Iāve posted in the forum before about previous models Iāve built. One of these is currently under review from a syndicate and Iām hoping to licence it out. However, itās boring
Trading and Peterās instructional videos is how I first got into Horse a racing years ago and I know thereās a hell of a lot of potential for making profits with good execution strategies. One of the reasons, I was such a bad trader
Iāve come full circle and decided to focus on execution strategies that are reliable and profitable, which is why Iām posting here in this forum. Iām looking for feedback, collaboration and hoping to learn something from the more experienced traders here, in return, I want to share openly the data Iām working with.
For the last week, Iāve been sharing a daily analysis reports from a new ML project Iāve been working on in other betting communities and Iāve had a lot of positive feedback and received a lot of help from explerienced handicappers regarding improvements, tweaks and strategies to focus on.
However, itās the trading community that Iāve not had the chance to engage with.
Iām going to start sharing my reports here in this thread. These reports are generated from a ML model, thatās been trained and tested on 10 years worth of racing data. The report encompasses three models and outputs: a race structure model, a win model and a place model, each producing probabilities. Combined the report ranks runners in a race giving a top 1, 2 and 3.
I ran a structured review of the last 7 days of reports, covering 198 races across UK & IE. The key thing I wanted to understand wasnāt ādid it pick winners?ā, but whether the outputs contain information that can be exploited with sensible execution. On raw coverage, the rankings held up well: the Top-3 failed to include a single placer in only 16 races, which immediately explains why place-focused structures, pools, and combination bets performed consistently. This is very much a race-narrowing tool rather than a one-shot winner picker.
On straight BSP simulations (Ā£1 flat win stakes, no compounding), performance differed sharply by rank. Rank-1 was the most consistent, returning +58.84 with a 30.7% strike rate and relatively shallow drawdowns. Rank-2 was more volatile but more profitable overall, returning +126.11, driven by much bigger average BSPs. Rank-3, by contrast, was not viable as a standalone input, finishing -49.67 with long losing runs. This degradation across ranks is smooth rather than binary, which is why combining selections works far better than isolating them.
Where things got more interesting from a trading perspective was market disagreement. In races where the modelās Top-1 differed from the BSP favourite (106 races), the market favourite won more often but lost money overall, while backing the model Top-1 returned a +24.9% ROI. The same pattern held for Top-2 disagreement races (145 races), where the model produced a +93.4% ROI versus +17.6% for the market favourite. Strike rate was lower, variance higher, but price inefficiency was doing the work ā which feels much closer to how traders think than how tipsters sell.
Finally, race type mattered a lot. The outputs were strongest in National Hunt racing, particularly hurdles and chases, where Top-1 win rates were around 40%+ and Top-3 place coverage exceeded 90%. Flat racing was tougher and more price-sensitive, and I strongly suspect All-Weather (currently grouped under Flat) is a major source of noise ā something Iām now splitting out explicitly. The takeaway for me is that this isnāt a finished strategy, but a decision-support layer that seems well suited to execution-led approaches: filtering races, highlighting mispriced runners, and feeding into structured trading or staking plans rather than acting as a signal on its own.
If you want to get involved, Iād really appreciate feedback and to have discussion about trading using these reports.
Todayās report can be downloaded here: https://drive.google.com/file/d/1sjNb6 ... p=drivesdk
