Football is complex and very difficult to predict. This is largely because there are so many factors that have a significant impact on the game. It’s not a repetitive sport which takes place under near-identical conditions each match — like darts. Every game of Football is entirely unique.
Then outside of the game, there’s the rumors, touchline dramas, paper-talk, speculation, injuries, transfers, bust-ups, bans, sackings — and of course the fans — which all play a part in altering our perception of teams and their players. It’s not easy for any football fan to remain rational.
So how can you dismiss the noise surrounding Premier League football and start betting with your head? Here’s some general advice for any Premier League bettor.
Football is an entertainment business. It’s all about hyping up matches, signings and the trivial little dramas from the pitch or touchlines. It sells. But I’m a believer that this is one of the reasons why value presents itself in the betting markets.
Football (soccer) is the world’s most popular sport. Millions around the globe tune in to celebrate, agonize, and wager over scores and you can check out the latest betting offers at Max Free Bets for the upcoming game/match/round / results, and championships. Experts suggest that worldwide the sports betting industry is worth up to 1 trillion USD.
With so much money at stake on the outcomes of football matches, being able to accurately predict a team’s results using past data is a tantalizing prospect. Using past results from the English Premier League, the most lucrative league competition in the world, let’s see if we can build a model that correctly predicts enough results to beat the bookies and record a profit across a season of betting.
This is a feature that intends to incorporate mentality and team confidence into the model. We might expect that when a team wins a game, their odds of winning the next game are improved due to the team being in ‘good form’. Of course, this could also be a pure observation or confirmation bias. In particular, it might be related to the NBA hot hand hypothesis that has been consistently disproved. Implementing this feature should not turn out to be too difficult.
In much the same way as above, we’ll have to iterate over a list of all the teams, pull out a slice of all their games, update a ‘Streak’ column, and concatenate all the updated slices together. Using an inner for loop and the data frame method .iterrows() will allow us to initialize a streak counter, check our team’s result, append that value to a list, and update the counter. After iterating over every row in our slice, we’ll have a list that contains the win streak for our team of interest (resets to 0 if the team loses or draws). This list can be translated directly to the ‘Streak’ column as it is the same length.
Let’s also do a quick check to see if this feature will have any amount of predictive strength. In the plots below I’ve looked at 8 teams and their respective win percentages during a win streak and all time. The first plot shows 4 of the most successful teams in Premier League history and the second plot shows 4 of the less successful teams.
What we notice is that the number of wins in a streak likely doesn’t have any bearing on win percentage. That is, a team will not win more games after a 3 win streak than after a 5 win streak. However, most teams win at a higher rate during a winning streak, as compared to their all-time percentage. This feature looks to be somewhat predictive.