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
For each horse we now rate them from 1-4 based on how strong a contender we believe they are for each factor.

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.

Michael Wilding

Michael started the Race Advisor in 2009 to help bettors become long-term profitable. After writing hundreds of articles I started to build software that contained my personal ratings. The Race Advisor has more factors for UK horse racing than any other site, and we pride ourselves on creating tools and strategies that are unique, and allow you to make a long-term profit without the need for tipsters. You can also check out my personal blog or my personal Instagram account.


  1. 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

    1. 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.

  2. 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.

    1. 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.

  3. 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

    1. 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.


    1. 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
      Speed / Distance

  5. 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!

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button