Blog Image

Bot Betting Edge

The Blog

This blog will contain my reflections and progress within the field of modelling and predicting sports probabilities, especially for soccer matches inplay. Although placing bets on different matches I don't consider myself as a bettor, I see myself as an investor placing money where I have edge and finds value. Sports betting is fantastic!

Market efficency and finding a nische

Analysis Posted on Thu, May 26, 2016 22:43:01

Did a little data exercise to see how good the pregame market has been to nail the correct probability for home/draws/away wins. The data consist of 91515 soccer matches played in 2014,2015 and 2016.

I calculated the implied probabilities from the pregame odds (1/odds), and distributed the over-round evenly over the three scenarios. Then I summed them together with the actual wins.

This first table shows that the market hade the most problems with the Away predictions. Market predicted the Away teams to win corresponding to 29027 times, but they actually only won 28192 times (which is a diff of 2.9%).

I dug a little deeper to see how the situation is when dividing by pregame favorite:

Now I start to identify some areas which the market seems to have bigger problems with… such as the probability for an Away win when the pregame favorite is a Home win.

This could be a starting point when designing a new strategy. Find a nische where the market has problems, and try to be the best in that nische 🙂 Now I will continue to mine my data, and see if I can find a new nische area.

Matched sums in different leagues?

Analysis Posted on Tue, May 17, 2016 22:15:41

In my models I use different type of classifications for both teams and leagues. One interesting way to look at leagues are how interesting they seem to be to Betfair costumers. One way to check this is by calculating the average matched sum per event and match.

The average is calculated from 2015 and 2016 data, and the top 25 leagues/events are:

The average matched is in SEK. The Premier League stands out as the number one preferred betting markets with an average matched 44.5 MSEK per match on the Match Odds market. That is more than twice the amount in Primera Division and four times Serie A!

The Community Shield is the match between Arsenal and Chelsea held on 2.august 2015 (won by Arsenal with 1-0 by the way).

Especially the Scandinavian markets are interesting for me, and the top3 there are:

Pregame Match Odds favourite

Analysis Posted on Thu, July 09, 2015 14:14:40

I keep on mining my data and sometimes it is just interesting to get some graphs on the most basic data, looking at the simple things. This is a graph showing how the distribution of pregame favourite is. Data is from all Betfair soccer matches that I have recorded during the last year.

1 = Home team is pregame favourite

X = Draw is pregame favourite

2 = Away team is pregame favourite

E = No clear pregame favourite

I will be back looking further on this by applying some filters.

Average game minutes

Analysis Posted on Thu, July 09, 2015 13:54:11


Spent a few hours mining my soccer data, trying to find some valuable insight usable in pricing. The tools I use are SAS (handling the raw data) and QlikView to look at the data. I found one interesting trend which I will analyse more, the average game minutes in the match seems to decrease with total number of goals scored.

Maybe someone out there who has a good explanation to this trend?

Market efficency

Analysis Posted on Wed, May 08, 2013 14:50:31

A few days ago I compared the implicit probabilities given by the market odds with the real results, for Matchodds event.

I summed the probabilites and I summed the number of wins (If there were a home win I summed it as 1 otherwise 0), and the same for X and 2. If the market was an excellent Matchodds picker they would sum up to the same.

And on an overall its quite good, out of 58468 matches the outcome were this:

_FREQ_ win1 winx win2
58468 ,26162 ,14734 ,17572

… and the sum of all the implicit probabilities:

implicit_prob_1 implicit_prob_x implicit_prob_2 diff_1 diff_x diff_2
25944 14907 17617 0,8% -1,2% -0,3%

This means that out of the 58468 soccer matches the market expected 25944 to be home wins – and 26162 actually ended as home wins. diff_1 0,8% means that we had 0,8% more home wins than expected by the market.

Lucky me that my data source is huge, meaning that its possible for me to break down this information on different criterias, such as league and year (diffs defined as above in the table):

League, year, diff1, diffx, diff2

Spanish Soccer 2011 0,4% 4,7% -5,9%
Spanish Soccer 2012 4,8% -1,3% -7,1%
Spanish Soccer 2013 11,9% 0,3% -27,6%

We see that the Spanish soccer have more home wins and less away wins than expected by the market, and its consistent during the last three years.
This is one method of evaulating markets and creating strategies, although I doubt that its good enough to make bettors long term winners. I only use it to get to know my markets better, and to get a better understanding of my mathematical predictions – thereby enabling the possibility making them even better.

Yield vs ROI

Analysis Posted on Thu, February 14, 2013 16:27:11


Did some research regarding names of different KPI’s. Seems like the ROI definition I used in previously posts is incorrect and what I have stated there should rather be called “Yield”.

Take a look at this link:

Anyway, my calculations are med by taking

NET winnings / Total risked amount

Maybe not so important, but in the future I will call it yield ….

Win frequencies in biggest leagues

Analysis Posted on Wed, February 06, 2013 20:32:10

When I do my analysis I always look at a lot of data trying to find some interesting patterns that I can dig into. Excel pivot tables are great to use for such hunting. Here is an example when I was investigating changes in home/away win frequencies in different leagues:

The 2013 data is until 2013-01-30. We see that both Primera Division and Serie A have started with a much higher home win frequency than expected, and vice verse on the Premier League.

I guess that this is only some short period fluctuation and when the leagues close they will probably do so to the same frequencies as previous seasons.

This is just a small example on how I follow my data regularly.