~ Nonlinear Adaptive Filtering as a Form of Artificial Intelligence ~

Only data, no code

Bookmakers' bias in sports betting

The authors assume that the readers are familiar with basic terms in sports betting. If not, please use online help to learn, it may take only a few minutes.

What is bookmakers' bias?

It is absolutely wrong to assume that bookmakers' models are weak or unprofessional. When any bookmaker offers, let say, an Over/Under bet = +2.5 -110 -110, the even odds for both outcomes are very well estimated. If public starts betting evenly on both outcomes depending on their individual sympathies, than bookmaker's profit will be $10 per each pair of opposite bets. But life is never that simple. Public has preferences, prejudice, bias, superstitions, misunderstanding, , laziness, negligence and so on.

When public start making bets which contradict common sense, the bookmaker has no choice but to adjust bets accordingly, make them, let say, +2.5 -130 +110, but the probabilities for both outcomes are still even, and those who identify bias and bet on +110 outcome can make a profit.

Research subject and concept

British soccer premier league. The data is taken from Odds Portal for the years (2008-2009), (2009-2010), (2010-2011). The bets and outcomes for every individual match for these years were copied into machine readable formatted file, like below:
# Everton - Chelsea
# Wednesday, 10 Feb 2010, 20:00
# 2:1 
# 1X2
10Bet +446 +254 -141
5Dimes +470 +271 -133
bet-at-home +425 +275 -167
bet365 +400 +260 -137
bwin +425 +275 -167
Jetbull +400 +240 -143
Pinnacle +437 +280 -133
Unibet +384 +245 -139
# Asian handicap
bet365 -0.5 +359 -1000
bet365 -0.25 +309 -769
10Bet 0 +245 -370
bet365 0 +260 -455
bet365 +0.25 +160 -227
10Bet +0.5 +124 -141
5Dimes +0.5 +120 -141
bet365 +0.5 +117 -149
10Bet +0.75 -104 -104
5Dimes +0.75 -109 -106
bet365 +0.75 -105 -102
Pinnacle +0.75 -105 -101
10Bet +1 -152 +131
5Dimes +1 -156 +141
bet365 +1 -161 +133
bet365 +1.25 -227 +169
bet365 +1.5 -294 +204
bet365 +1.75 -526 +285
# Over/Under
5Dimes +1.5 -286 +249
bwin +1.5 -333 +220
Jetbull +1.5 -333 +220
10Bet +2 -175 +148
10Bet +2.25 -118 +102
5Dimes +2.25 -118 +102
10Bet +2.5 +112 -127
5Dimes +2.5 +106 -122
bet365 +2.5 +100 -125
bwin +2.5 -111 -125
Jetbull +2.5 -111 -125
Pinnacle +2.5 +106 -118
10Bet +2.75 +144 -172
5Dimes +2.75 +149 -164
5Dimes +3.5 +272 -312
bwin +3.5 +260 -400
Jetbull +3.5 +240 -357
# end
For example, the bets for 1X2 are followed by 1X2 header down to Asian handicap header, so it all can be elementary read by software utility.

Implementation and result

The first line of 1X2 in file
10Bet +446 +254 -141
can be converted to expected profit per 100 dollar bet on each outcome in case of success
446, 254, 71
Having known difference in goals as 2-1=1, it is possible to train AI as a function approximately supporting equivalence

$$F(446, 254, 71) = 1.0 + error $$

That will make an elementary predictor of bookmaker's expectations corrected to filter biased bets of the public. Using Kolmogorov-Arnold representation it is possible to train AI and predict outcomes. Unfortunately, it does not provide large enough advantage. It gives approximately 45% to 50% successful predictions, which is enough only to beat bookmakers' commission and make a profit near 5% of the size of the bet.

The reason for a weak result is that AI models bias for all bets all together, while the public has preferences for concrete matches, teams and arenas.

In order to improve result, the second predictor is introduced. If to consider a matrix with results of a few hundred preceding games

home\away team A ... team B
team A n/a ...2
... ... ... ...
team B 1 ... n/a

with differences in goals and apply either of known techniques of matrix factorization, than the unseen outcomes can be predicted. The usual accuracy in this case is also near 45%, however, having another independent predictor, the prediction can be significantly improved, especially in the case when one of them is tuned to predict particular matches and takes into consideration the recent history.

We decided not to publish the concept of combining two predictors (bookmakers and history) for predicting of the outcome and the concept of training another AI to maximize money gain rather than predicting the outcome, but we provide the end result of modelling. Using these two predictors it is possible to obtain statistical profit near 30% of the total money used for betting. For example, for British premier league, in case of betting on all 380 games, 100 dollars per each, the profit in season will be near $11,400.

Can bias be corrected?

No. Bookmakers can make similar or even more accurate models, but the public will bring chaos and enforce adjustment.


Using bookmakers' bets for predicting of outcomes is not a new idea. This opportunity was noticed by many other authors, for example:

Odachowski K., Grekow J. (2013) Using Bookmaker Odds to Predict the Final Result of Football Matches. In: GraƱa M., Toro C., Howlett R.J., Jain L.C. (eds) Knowledge Engineering, Machine Learning and Lattice Computing with Applications. KES 2012. Lecture Notes in Computer Science, vol 7828. Springer, Berlin, Heidelberg.

Online copy is available.

The approach in published paper is different. Authors tracked changes in bets for the short period before the match and trained AI to predict outcomes based on changes in bets and not by final values. However, it showed the same tendency of bias in bookmakers' bets forced by balancing expected commissions by making certain bets more and others less attractive.