Creating A Sports Betting Model
- Creating A Sports Betting Model
- Creating A Sports Betting Modeling
- Create Sports Betting Model
- Creating A Sports Betting Predictive Model
Following our popular article on how to build a betting model, here is a practical example of creating, applying and testing a betting model that predicts wins, losses and draws in the Premier League. Read on to find out.
In this previous article we explained how to build a betting model. Now take a step further and give you an example of how to do it.
Sports betting is not like some other speculative businesses, where you trust your money to someone and they will make money for you. In sports betting there are many obstacles, like limiting players from bookmakers and every single bettor is a single story. Then I decided, that I will start using my own statistics in sports betting. Home 1960s Betting On Sports Vegas Online How To Create My Own Sports Betting Model. Online How To Create My Own Sports Betting Model. By Oak City in Fredericksburg,+Virginia.
For this example we use an approach similar to the Actuarial Control Cycle – a quantitative risk assessment employed by insurance companies. There are five main features in buidling a betting model:
- Defining the problem
- Building the solution
- Monitoring results
- Professionalism
- External forces
Below we subdivide these features into additional steps, giving an example to explain each stage.
Please note our example model is basic and we enocurage you to use is as the building blocks behind the thought process of each stage.
Step 1: Specify the aim of your betting model
Creating A Sports Betting Model
Our aim is to calculate the outcome of English Premier League games to see if we can predict results more accurately than the bookmaker.
Step 2: Select the metric
Given our aim is to calculate the outcome of EPL games, the metric we will look at is the probability of a home team win, away team win and a draw.
Step 3: Collect, group and modify data
We've taken the decision to only consider league games for data purposes and make no modifications.
The data collected would be this season’s scores and subsequent results.
Step 4: Choosing the form of your model
For our example of calculating the probability of a match outcome, we use a simple model that looks back at the past three games of each team.
The outcomes can be calculated using a simple ratio. Let's say the home team won the past three matches, while the away team lost, won and drew one.
The ‘home win: draw: away win’ ratio would be 4:1:1 with the probability 4/6 =2/3 = 66.66% for a home win and 16.66% (1/6) for the other two outcomes.
This is a crude model but the intention here is to focus on the steps, not the actual model. Let's call it the ‘3 ratio model’.
Step 5: Dealing with assumptions
Our ‘3 ratio model’ has a number of assumptions which would all need to be tested separately:
- The scale of the goal difference or the goals scored has no effect on the chance of winning
- There is no difference in outcomes between home and away (we know this is not true, as we've discussed in the article How to use standard deviation for betting.)
- There are no external factors that affect results – such as cup matches
- There have been no significant team changes since the last three games
Step 6: Build the sports betting model
Once we have colleced the data, we build the model in an Excel file.
Step 7: Test the model
We can back-test the ‘3 Ratio Model’ to Leicester's 2014 Premier League games. Given they were promoted last season, we exclude the first three games. In testing we start to uncover issues:
In some cases there are no draws. For example when playing Hull away, Leicester had lost their previous three matches, while Hull had won one and lost two. Should we assume that the probability of a draw be zero in this case? Or should we make an adjustment? This means that we have to revisit steps 4 to 6.
If we had used only home matches for the home team and away matches for the away team, would the model results be significantly different? What if we use 2, 5 or 10 matches rather than 3? What if we included cup matches as well?
These results would need to be tested using different assumptions and see how sensitive our output is to each. The more the results vary, the more rigorous our testing should be (back to step 5).
Step 8: Monitor results
Let's assume this model was accurate, it then needs to be maintained as time progresses. This would lead us back to the starting point of the model.
Creating A Sports Betting Modeling
Now that you know how to build a betting model, go straight to the article Why your staking method is important to find out the five most popular staking strategies used by professional bettros across the world.
Step 1: Choose your language
There are lots of programming languages to choose from. For our data modelling workshops we work in R and Python, as they’re both relatively easy to learn and designed for working with data.
If you’re new to these languages, here are some resources that will help get you set up.
Language 1: R
- Download and install R – get the language set up on your computer
- Download and install RStudio – you’ll need a program to develop in, and this one is custom-designed to work with R
- Take a look at the some of the existing R libraries you can use if you want to connect to our API, including abettor and our Data Scientists’ R repo.
Language 2: Python
- Download and install Anaconda Distribution – this will install Python and a heap of data science packages along with it
Step 2: Find a data source
Finding quality data is crucial to being able to create a successful model. We have lots of historical Exchange data that we’re happy to share, and there are lots of other sources of sports or racing specific data available online, depending on what you’re looking for.
For our workshops we use historical NBA odds data from the Exchange (which you can download directly from here), along with NBA game data from a variety of sources including:
Step 3: Learn to program
It’s daunting at first but there are lots of resources out there to help get you started. These are some of our favourites if you want to learn to use R or Python for data modelling:
- Dataquest – free coding resource for learning both Python and R for data science
- Datacamp – another popular free resource to learn both R and Python for data science
- Codeacademy – free online programming courses with community engagement
Step 4: Learn how to model data
We’ve put together some articles to give you an introduction to some of the different approaches you can take to modelling data:
- This Introduction to Tennis Modelling gives a good overview of ranking-based models, regression-based models, and point-based models
- How we used ELO and machine learning as different approaches to modelling the recent World Cup
- We also have resources on our GitHub repo, where our Data Scientists have shared modelling tutorials using AFL and soccer data, along with a R repo for connecting with our API
Step 5: Get your hands dirty
The best way to learn is by doing. Make sure you have a solid foundation knowledge to work from, then get excited, get your hands dirty and see what you can create! Here are a final few thoughts to help you decide where to from here:
- Make sure you’ve got your betting basics and wagering fundamentals knowledge solid
- Learn about the importance of ratings and prices and get inspired by the models created by our Data Scientists
- Take a look at our Automated Betting Station and consider how you could use our API in building and automating your model
- Read about how successful some of our customers have been in their modelling journeys
Related articles
Automated Betting Station: Build Your Betfair Bot
Did you want to create a Betfair bot: an automated betting robot that bets in your sleep? Betfair is here ...
The Banker
Create Sports Betting Model
‘Quantitative data is information about quantities; that is, information that can be measured and written down with numbers.’ – ...