Creating Odds Lines – Episode 2 Fuzzy Logic
In my last article we looked at the basics of odds line creation and how that works. Today I want to advance on this article into using what is known as fuzzy logic to help you find the best horses to bet in the race. This is not strictly an odds line creation technique but it can be very powerful and is a good place to start when you are interested in developing your own odds lines.
Fuzzy logic is called fuzzy because we rather than using specific numbers we use words such as Strong Contender and Unlikely To Contend. This means that when we look at the results for a race we can see at a glance how each runner is likely to perform without having to go and then interpret the numbers that we are getting. This, of course, makes it much easier to get started. However don’t be fooled into thinking that because it is using fuzzy logic it isn’t as powerful as using raw numbers, in fact if used correctly it can be a very powerful technique.
First of all we need to start by creating our fuzzy levels such as…
- Strong Contender
- Contender
- Weak Contender
- Non-Contender
You can of course use whatever and however many you want but I will stick with these four through the rest of this example. Next we need to choose what factors we want to use to measure the performance of our horses. As an example I’m going to use…
- Recent Form
- Speed
- Preference For Going
- Class Level
Next we need to decide which of these factors is most important in our assessment of how a horse is likely to run. We do this by assigning what is known as a weight to each of the factors. This weight is a numerical value and we multiply each factors rating for a horse by its weight. For example if you think Recent Form is most important then you may assign a weight of 100 to this factors ratings, if Speed was the next most important then you may assign a weight of 62 to this factors ratings.
If you are unsure of how much weight to give then you should give the most important factor a weight of 100 and then multiply this by 0.62 for the next most important factor, this would be 62, then multiply this by 0.62 for the next most important factor, this would be 38 etc…
Now we need to assign a level to each of our fuzzy logic rules. We give the most important rating the lowest number so we would get…
- Strong Contender = 1
- Contender = 2
- Weak Contender = 3
- Non-Contender = 4
Below you can see an example for four horses.
Weight | 100 | 62 | 38 | 24 |
Recent Form | Speed | Going Preference | Class | |
Horse 1 | 1 | 3 | 2 | 1 |
Horse 2 | 3 | 2 | 1 | 4 |
Horse 3 | 2 | 1 | 4 | 2 |
Horse 4 | 4 | 4 | 3 | 3 |
If we multiply each horses ranking by the weight for the factor this will look like…
Weight | 100 | 62 | 38 | 24 | |
Recent Form | Speed | Going Preference | Class | Total | |
Horse 1 | 100 | 186 | 76 | 24 | 386 |
Horse 2 | 300 | 124 | 38 | 96 | 558 |
Horse 3 | 200 | 62 | 152 | 48 | 462 |
Horse 4 | 400 | 248 | 114 | 72 | 834 |
I have also added up the total for each horse as you can see in the far right column. The next step is to add up the total of all our weights…
100 + 62 + 38 + 24 = 224
We divide each horses total rating by this amount, 224.
Recent Form | Speed | Going Preference | Class | Total | Final Rating | |
Horse 1 | 100 | 186 | 76 | 24 | 386 | 1.72 |
Horse 2 | 300 | 124 | 38 | 96 | 558 | 2.49 |
Horse 3 | 200 | 62 | 152 | 48 | 462 | 2.06 |
Horse 4 | 400 | 248 | 114 | 72 | 834 | 3.72 |
We can now convert our final ratings back into our fuzzy logic levels. Remember that…
- Strong Contender = 1
- Contender = 2
- Weak Contender = 3
- Non-Contender = 4
So we would get…
Final Rating | ||
Horse 1 | 1.72 | Strong Contender |
Horse 2 | 2.49 | Contender |
Horse 3 | 2.06 | Contender |
Horse 4 | 3.72 | Weak Contender |
As you can now see, at a quick glance we can now see the horses that have a chance of contending in this race. This is a very powerful technique to analyse races, it was first shown to me by David Β Schwarz and I it is right that I give him the credit that is due for introducing me to this way of analysing races. In my next article I will be looking at making more advanced odds lines.
I do not see the dropdowns working and I see nothing is working on this page link.
even if you login at the bottom same thing.
Hi Liam, that form should not have been visible. Thank you for alerting me, the article is now back in place.
surely you cannot fix weightings as they will be variable for different types of race. EG for sprints you may consider speed as the most important factor and for a 2mile race stamina may be considered the most important factor. Therefore you would need a flexible system that would be capable of changing the weightings for each factor. As far as I am aware there is no product on the market that would enable this, as such fuzzy logic is not a viable option even though it may be an excellent way to rate a race
A very good point James. I should have started by saying that you should be creating a model based on a particular set of race conditions. As you say it is very difficult to create a model that works across races and any single model will almost certainly be made up of individual models or a model which can adjust automatically. However the fuzzy logic method is totally viable if you start by concentrating on a specific set of race conditions, then when you have them working for one set, you can start on a different type of race conditions.
Hi
How doe’s the maths work out if there are 19 runners
eg my top rated horse (A) is rated
3rd in the 1st category =300
6th in the 2nd =372
4th in the 3rd =152
3rd in the 4th =72
Total=896 divided by 224=4
This horse is my overall top rated but it falls in the non contender category.
The name of this horse was Bobs Worth in the Hennessy Gold Cup, there has to be an adjustment to the maths when there are more runners in the race.
Hi Richard, there is only a maximum of 4 points a horse can get using this method (if you stick exactly to what I put in the article) with 1 being the best. You create thresholds in your ratings for each category of fuzzy logic.
If you did this then you will need to let me know exactly what you did for every horse in the race so I can see if you have gone wrong.
sir,thank you for your above articles sending me still i hope you’r send me with detail METHOD about HOW TO PREDICT HORSE ODDS
Hi Kirit, this is a very good outline about how to start creating your own odds lines. When you say can I send you a detailed method about how to predict odds I would say that there are many ways to do this and it is more about your own preference. It is also about what ratings and factors you use. I cannot send you my method as it is based around my ratings and factors. Also I have no idea how good your maths is, if you have basic maths then this is a good approach, if you have stronger maths then some of the other approaches I will talk about in the future will help you, however my own personal method involves advanced statistics and artificial intelligence.
You can find profits creating odds lines using all the methods outlined on this blog. If you are expecting me to hand you my odds lines then unfortunately I cannot help.
AS A NOVICE I WAS VERY INTERESTED IN FUZZY LOGIC
COULD YOU PLEASE SEND ME AN E-MAIL WHICH IS THE BEST ORDER FOR HANDICAP
I.E 1 FORM, 2 CLASS 2 GOING, 3 DISTANCE, 4 SPEED.
I GATHER SPEED IS MORE IMPORTANT IN SPRINTS BUT NOT SO IMPORTANT IN STAYING
RACES AND NH HURDLES AND CHASES.
MANY THANKS
MICK
It depends on what ratings you are using and what they take into account. The best way to find this is to test it. A good base point may be…
Form / Going
Class
Weight
Speed / Distance
I have never encountered such an impressive blog on the subject of factors in creating odds. It combines solid mathematical ideas with clear explanations, common sense and creative insights. Thank you very, very much Mr Wilding; it’s been a long search!
Thank you very much Malcolm π