Month: March 2016

As I mentioned when doing the betting backtest for my Expected Goals model, my Monte Carlo game simulation is done on player level to account for missing players, which in theory would affect the game a lot. The simulation involves a very simple prediction of the starting line-up for each team in each game – but how would the backtest result look if I somehow could look into the future and actually know which players would be starting the game?

To test this I’ve simulated every game from the 2015 Allsvenskan season again, using my second model with more heavily weighted home field advantage – but this time used the actual line-ups instead of having the model guess. For the backtest I’ve again used odds from Pinnacle and Matchbook, but won’t bore you with the results from both as they’re much the same. Here’s the model’s results betting at Matchbook:

As expected, knowing the correct line-up really boosts the model’s predictions, as it now makes a profit pretty much across the board. Just like with the previous backtests, the 1X2 market looks ridiculously profitable as the model is very good at finding value in underdogs.

Let’s compare the results with that from Model 2:

The numbers in this table represent the net difference in results for the two models. In general, Model 3 makes fewer bets at lower odds, but has a much higher win percentage – hence the bigger profit. Remember, the only difference between these models is that Model 3 uses the actual line-up for each game, while Model 2 have to guess.

So could these results be used to develop a betting strategy? Using the actual line-ups for the simulation, the opening odds are of course not available to bet on since they are often posted a week or so before each game while the line-ups are released only an hour before kick-off. But as the game simulation only takes about a minute per game, it’s certainly possible to wait for the line-ups to be released before doing the simulation and then bet whatever the model deem as value.

Like this:

With my database now containing five full seasons of data from both Allsvenskan and Superettan, an interesting thing to look at is how teams perform long term.

To do this I’ve plotted both xG and actual goal difference over time for each team in the upcoming Allsvenskan season. Using a 15-game (half a season) rolling mean, the idea is to allow us to really identify long-term trends and hopefully eliminate possible strength of schedule biases.

I’ve also added information on managerial changes taken directly from the database, corrected with the help of Wikipedia where I found it obviously wrong.

Some of these plots really do offer some interesting stories. Here’s a few examples:

Djurgården

As a Djurgården supporter, the poor start to the 2013 season still make me sick to think about. Heading straight for relegation when Per-Mathias (dubbed Per-Messias by the fans) Høgmo took over the club, things quickly turned around though. Both xG and actual goal difference skyrocketed with DIF placing 7th at the end of the season. Sadly Høgmo rejected a lucrative contract extension in favour for the Norwegian national team, but Pelle Olsson has managed to improve Djurgården’s numbers since then. Notice the drop in goal difference in the second half of the 2015 season – right about when Mushekwi left the club and Radetinac got injured.

Hammarby

After some dismal years in Superettan following their relegation in 2009, Hammarby’s improvement and build-up to their comeback in Allsvenskan actually started with Gregg Berhalter back in 2012. Under Nanne Bergstrand the club literally exploded in late 2014, only to see their numbers plummet back down again as they faced the harsh reality of Allsvenskan in 2015.

Elfsborg

Elfsborg have been on a roller coaster ride since their last league title in 2012, and a strange pattern have evolved with both their xG and actual goal difference rising during the first half of the season only to fall in the second. With their lowest numbers since at least 2011, the questions is if they will be able to turn things around yet one more time?

If you wanna see individual plots of any of the other teams, just let me know on twitter. I can also do them without the over/underperformance coloring.