Over the last couple of months I have been working on a new project called George’s Bets. The main goal of this project is to challenge myself as a data scientist. I want to find out whether I have enough data science skills to make money by betting on sports (football) matches. In order to become a profitable bettor I want to develop a mathematical model that outperforms the bookmakers with respect to predicting football matches. In this article I will briefly introduce the first predictive model that I have built, and show you how much money I would have made by applying this model to the 10 most recent seasons in the English Premier League.
Up to this moment my betting activity has purely been focused on developing Betfair trading bots (i.e. fully automated football trading strategies). Although I have been able to make money with football trading, I always felt the urge to expand my betting/trading portfolio. One of the things that I have never tried is predicting the outcome football matches myself. By starting this blog I finally found a good reason to start actually building a predictive model for football matches.
► First step – Build a basic predictive model
As a data scientist I work with data all day. This experience should enable me to predict matches at a decent level, but it might take some time to become profitable. I don’t know yet whether we are talking about months, or even years, but eventually it should be possible to make money with betting. Patience is key. Over the last weeks I have already developed a fairly basic mathematical model that predicts football matches up to a decent level of accuracy. The model is very similar to the one described in the betting guide that I have published a couple of months ago.
Now we can’t just start placing bets and pray for the best. Therefore we first need a solid method to evaluate our model. In my experience, one of the best ways of evaluating a predictive model is to simulate the historical betting performance of the model. In other words, how does my betting strategy perform over the last 10 seasons in the English Premier League? If I can show this to be profitable, there is enough reason to start placing actual bets. Thus, the one question I have asked myself:
► Can I make money with betting already?
In order to find an answer to the above question I have simulated placing bets on English Premier League matches from 2010 up to now. There is one restriction: I only place bets when my model tells me that I have an edge over the bookmaker. Moreover, I have decided to use the Kelly Criterion for determining optimal stake sizes. Simply put: the larger my expected return on investment (ROI), the larger my stakes. This sounds nice, but how much money would I have made over the past years? Check the below image to find out what my returns look like!

As you can see, the profit over ten years time would have been over £1,500 in approximately 3,500 bets. With an average stake size of $4.92 this would yield a return on investment of more than 8.5%.
It is important to mention that I have used the closing odds from five of the biggest bookmakers (Bet365, Pinnacle, etc.). If my betting system recognizes an edge over one of the bookmakers, a (virtual) bet will be placed at the bookmaker that offers the best odds. The use of multiple bookies is a great advantage, since this enables me to always pick the best odds possible. This heavily contributes to the £1,500 profit. For example, I would not have won (or lost) any money if I only placed my bets on Pinnacle’s closing odds.
► Next – How to increase my ROI?
Although the above looks good, I still think that there is a lot of room for improvement. A couple of things that I am planning to improve in the near future:
- Be more selective with the bets I place. For example: investigate whether I win more by betting on home teams, away teams, or the draw.
- Only place bets when my expected edge exceeds a certain threshold. In other words, instead of placing a bet on all matches with an expected edge > 0, only place bets on matches with an expected edge greater than 0.05 (for example).
- Improve on the model’s accuracy. Step 1: develop a simple expected goals model, based on the in-game quality of shots, passes and dribbles. This can later be extended to a very sophisticated expected goals model.
► Stay Tuned – Keep track of my betting journey
Within this project called George’s Bets I will share my whole betting journey with you. Whenever I have placed some bets for the weekend, they will be shared prior to the matches (on the Betting Tips page, or on Twitter @georgebets_uk). Follow me as I try to beat the bookies!
Look forward to following this journey. Some great and informative stuff on the site.
Kevin, thanks for your reply. Currently working on an update to this journey.