People Often Ask Me "How Do You Compile Your Own Odds?”

What's the best way to determine fair odds for a football match? Today on the blog Callum Purdy gives us a glimpse of how he goes about the task.

I haven’t written a blog for bettingexpert for a while. There’s never been any regular timeframe for doing new ones, it’s simply been a case of waiting for something to come to me that interests me and then I will normally have a moan up about the specific subject and then often conclude with convincing everyone that I was right, again.

But over the last six weeks that hasn’t happened. If only finding a bet was as hard as finding something to write about, I’d probably be an awful lot richer.

The most common question that I get asked is “what is your tip in this game?” Anyone who is even remotely interested in my thoughts on a certain game or the people who are unfamiliar with gambling/punting/trading has to be “how do you compile your own odds?” Firstly, I won’t be revealing how I personally compile my own odds exactly, simply because it’s taken me a lot of time to perfect the methods. For those who want it, this post instead gives a nice introduction to the mentality and basic methods to create your own odds from scratch. For simplicity, I’ll only be talking about Asian handicap markets.

Many of you would have performed some rudimentary odds compiling in your day-to-day punting, probably along the lines of “Man United have won 5 of their last 6 matches and therefore odds of evens today vs. Chelsea are value”. There are two glaring mistakes in that statement, both of which need to be addressed.

Firstly, there is no mention of the quality of the previous 6 teams involved. These results could easily be against inferior relegation quality sides, or even early round cup matches. Equally, they could have been against Champions League teams or other teams milling around the upper region of the league table. Clearly, the inferences we make here are crucial.

Secondly, there is no quantitative target. Evens may look a good price, but when does it become a bad price? Would you be willing to take 5/6? This comes full-loop back around to the argument of value and setting yourself personal targets; football is not an exact science and you really shouldn’t be backing a side regardless of the price.

So how do we get from this low level analysis to making accurate odds? When i first started punting I was introduced to odds compiling, the biggest issue was knowing where to start. After all, there aren’t an awful lot of resources on the internet, indeed it took someone who had been in the industry for a long time to teach me. There are so many different models and methods of making odds from scratch, the use of which really depends on how comfortable you are with math’s and its applications. In my opinion however, the most useful tool available to an odds compiler is a set of accurate supremacy ratings.

Supremacy ratings do exactly what they say on the tin. They rate each team in a given league by how ‘supreme’ they are over the other teams; in real terms this means measuring the winning margin of one team over another. In essence this is exactly what an Asian handicap market does: a -1.5 handicap means that on average team A is expected to beat team B by 1.5 clear goals. Therefore, once we have created our ratings, it is very easy to translate these to what we see in the market.

The first thing to do is decide on how big you want your data sample to be. Naturally, the bigger the sample (or number of matches) the better, as it helps to remove the bias of a bad run of form. However, too big of a sample and you run the risk of being influenced by poor results in the past, which commonly occurs as teams get better between seasons.

For this example let’s take a single season (38 games) of English Premier League data (available at I really have to stress that this is a very simple method and it’s not going to be 100% accurate, but instead provides a nice foundation to build upon.

 Scoring Home AwayOverall 
Goals Scored  45  41  86
Goals Conceded  19  24  43
Average Goals Scored  2.37  2.16  2.26
Average Goals Conceded  1.00  1.26  1.13
Average Scored & Conceded  3.37  3.42  3.39
Matches Over 2.5 Goals  73.70%  52.60%  63.20%
Matches Under 2.5 Goals  26.30%  47.40%  36.80%
Clean Sheets  36.80%  31.60%  34.20%
Failed To Score  5.30%  10.50%  7.90%


The table above shows Manchester United’s basic stats for the 2012/13 league season. Notice, on average, they scored 2.26 goals and conceded 1.13. This means an average supremacy of 1.13 (2.26-1.13). Performing a similar calculation for the whole of the league, we get the following supremacy ratings:

Manchester United  1.13
Chelsea  0.94
Arsenal  0.92
Manchester City  0.85
Liverpool  0.74
Tottenham  0.53
Everton  0.40
Swansea City  -0.10
West Brom  -0.11
West Ham  -0.21
Fulham  -0.26
Stoke  -0.29
Southampton  -0.29
Sunderland  -0.34
Norwich  -0.45
Aston Villa  -0.58
Wigan   -0.68
Reading  -0.79
QPR  -0.79


Once you have these ratings, it’s very easy to compare between teams. For example, a match between Tottenham and Everton (on neutral ground) should see Tottenham win by an average of 0.13 goals. Obviously in the Premier League, you have to incorporate home advantage into the equation, which is roughly 0.40 goals depending on how strenuously you want to calculate it.

To convert these ratings into odds, you’ll need to use the Poisson distribution. There’s several spreadsheets available online to make this job a lot easier, whereby all you have to do is enter the expected supremacy (Team A – Team B) and the home advantage (roughly 0.4), with the end result being a table of odds to work with. Many people doubt the validity of the Poisson, including myself, but for illustrative purposes it does quite a good job.

So for example let’s take the match between Liverpool and Stoke from the opening day of the season:

Liverpool (0.74) – Stoke (-0.29) + Home Advantage (0.4) = 1.43

Plugging this number into the spreadsheet, we get the Asian handicap as -1.25 1.94 / +1.25 2.09. Compare this to the market odds (-1.25 1.80 / +1.25 2.12) and we make Stoke a very slight value bet on the +1.25 handicap line. Obviously this assumes that both teams are unchanged from last season, but it’s good to show that even this really basic method gives reasonably accurate odds.

There are a million ways to produce your own module to come up with your own ratings. All the big dogs/syndicates would use a similar system but it would most certainly include a lot more details.

I hope this wasn’t too much to get your head round. Any questions then feel free to fire them at me.



Follow Callum on Twitter: @CallumPurdy

And read more of his work at his blog