Since 2016 we have been publishing daily horse racing tips produced using Artificial Intelligence. We began with a bespoke neural network written in Java that processed the race data. Hundreds of thousands of small text files were created and transformed with Perl scripts and fed into the trained network to produce a prediction rating from 0 to 99 for each horse. The predictor has slowly evolved to utilise off-the-shelf AI tools, a MySQL database, and commercial horse racing data, resulting in our most accurate predictions to date.
We had successfully used AI to predict the results of greyhound races starting in 2006 (Greyhound Predictions) and have adapted this system to horse racing. The greyhound racing tips were put on hold due to the lack of reasonably priced data. We still have the trained models so if we can get the results and upcoming race data then we would be happy to restart it. We were able to generate reliable profits for races at Sheffield and Walthamstow.
Artificial Intelligence, or AI, has recently received a lot of publicity but has been a focus for research for many years. In fact, the machine learning algorithm techniques we use for RacingOracle predictions date back to the 1970s. The predictions produced on this site are the product of an ongoing effort of analysis and investigation into applying AI techniques to horse racing betting.
Broadly speaking, the aim is to find patterns in inconsistent data. The human brain has evolved over thousands of years to be particularly good at this task. A professional horse racing tipster can quickly analyse the form book and spot a horse with good value in a race. This kind of analysis is particularly difficult using traditional computation methods as the data will naturally be misleading and incomplete. Therefore, we use AI techniques that attempt to “learn” the task of picking a winner by mimicking biological systems.
Many different machine learning algorithms have been applied to horse racing results such as Artificial Neural Networks and Naïve Bayes Classifiers. At RacingOracle the most successful method has been the use of a Backpropagation Neural Network (see below for details).
An Artificial Neural Network (ANN) is first trained on input data. In the case of horse racing the input data is a large corpus of race results. The tricky part is deciding on which metrics to include in the input training data such as win % over X number of races, gender, trainer, jockey, going etc. We are constantly refining the metrics used in our system with differing sets of metrics used for flat racing, hurdles and steeplechase (we have also seen a difference in the performance of metrics between racecourses – this may be due to issues with our source data).
Once the input data has been prepared the neural network can be trained. The neural network is initialised with an input node representing each metric and the output node as the finish position refactored as a percentage – 0 for last 100 for first. This is an example of supervised learning as the correct output is known when compiling the input data. The network is trained by repeatedly presenting the input data and then making incremental changes to the configuration of the network until the output matches the target as closely as possible. A neural network is ideally suited to this task as it can handle the inevitable freak results that appear in the input data.
The ANN is repeatedly trained on the same input data – each round is known as an epoch. The data is randomised at the beginning of each epoch. The ANN will never perfectly match the horse racing input data so a decision must be made when to stop training. Training with too many epochs can result in over-training of the network where the specific input dataset is “learnt” resulting in a poor ability to predict new races.
The trained ANN can then be applied to predict new races. For RacingOracle we use several different networks for each of our featured courses. The best performing network over a minimum of 50 races is chosen for each course. Every morning our system predicts the results for the day’s races using the best performing network. Often races will be excluded due to a lack of reliable past data or if the system cannot confidently pick between the runners. Currently the system generates between 10 and 60 tips per month.
It is not possible to predict the winner of every race, but we believe a comprehensively trained machine learning technique can pick winners as well as, if not better than, a professional tipster based on form alone. Our free system is already outperforming many tipsters charging up to £40 per month (our tips are proofed on independent tipster review site racing-index. We have a consistent strike rate at just over 19% generating a profit of 49.40 points (with Betfair) from 415 tips in 2017.
To successfully profit from betting on horse races we suggest combining tips with a Staking Plan. Intuitively, it makes sense to stake more on a lower priced horse than one with long odds. Many strategies have been developed over the years, we would recommend taking a look at the Kelly criterion.
How artificial neural networks work
The processing power of perceptrons comes from combining them to form a network, an Artificial Neural Network (ANN). The inputs to each perceptron are combined with a weight to produce its output. These weights are set to a random value when the network is first initialised.
A layer of perceptrons can be used as the input to a further layer before the output node. Multiple such hidden layers may be required to best fit the data.
To train the network, the output of the network is compared with the target output to find the error. The weights of the input nodes are then adjusted according to the error which is then used to update the weights of the previous layer of nodes in a technique called back propagation.
For RacingOracle we have built our own back propagation neural network, but it is now a lot easier to test AI bettings systems with commercially available cloud based tools such as Google’s Cloud AI https://cloud.google.com/products/machine-learning/ and Microsoft’s AI platform on Azure https://azure.microsoft.com/en-gb/overview/ai-platform/.
Every morning our machines crunch through hundreds of metrics and test the results with our Neural Networks and other AI algorithms. The system is constantly being refined with the aim of developing a predictor that is profitable over the long term. The current system is our most accurate so far - already profitable for certain courses. We try to keep the blog page up to date with major changes and improvements.
The results of all our tips are available on this site the following day. Visit our results page for our complete history of our racing predictions.
We would love to hear from you about what you think of the site, the tips and AI in sports in general. Let us know how you are using our predictions and how you getting on. Keep in touch on Twitter and Facebook.