Retrospective for Bundesliga season 2017/18

The Bundesliga season 2017/18 has taken a dramatic end. The last never-relegated founding member Hamburger SV is on its way to the 2nd division. I am really happy about this, as there will be two thrilling derbies next season and St. Pauli will be able to defend there derby title.

But the end of this season does also mean something else: I am now using the Poisson model for one year in a productive way by populating picks, betting with some mini stacks and analysing the results. So it is time to do a retrospective and sum up all the experiences and all weaknesses discovered.

Weakness #1: adapt to performance trends

The beginning of the season already reveals the first weakness of my Poisson model. FC Cologne suffered a huge performance drop and caused about 50% of my loss. The team strength calculation did not adapt fast enough to the inability to score goals. This was shown by a MACD analysis. For me it was really surprising, that such a method for stock analysis was also usable to determine a performance trend of a football team.

Weakness #2: team motivation and table position

A second weakness appeared at the last match day. The comparison of the bookie odds and the predicted odds show significant  deviations.

Odds comparison (Bundesliga, matchday 34, 2017/18)

I did not discover such deviations the rest of the season. So there is just one explanation for such huge differences between Bet365 odds and my predicted fair odds: motivation and table position. Otherwise an betting odd of 1.64 for Wolfsburg against Cologne would not be explainable with respect to their past performances. Speaking in percentage the Bookie odds indicate a over 21% higher win probability (incl. margin) in comparison to the Poisson model odds. Cologne was already relegated, Wolfsburg was still fighting against relegation. The match between Bayer Leverkusen and Hannover showed a even higher difference. The Poisson model predicted a probability of 49% for a home win of Leverkusen. The Bookie probability is 35% higher. Leverkusen had to fight for the Champions League qualification. Hannover already finished as a boring mid-table team. Such facts  are just not able to model with a simple Poisson model.

Loss analysis

A look at the overall loss during this season provides also some surprises. That the current season ended with a loss is not a secret. The simulation with a 5 unit flat stack yields a loss of -165,65 units. In comparison the Pyckio betting history shows a loss of just only -28,95 units. This looks much better in comparison to simulation, but what causes the differences?

Pyckio betting history

During backtesting my models, I use the Bet365 odds, as these are similar to the odds of Tipico, which I use for my real money betting. Pyckio uses the closing odds of Pinnacle. These are in general higher, as the margin of Pinnacle is smaller. But this does not explain the differences. Using the Pinnacle odds during the simulation decreases the loss just to -135 units.

Betting simulation (Bundesliga 2017/18)

Another difference between my backtests and Pyckio are the possible bets on different markets. At Pyckio I am only allowed to place on bet per market. So one bet per 1×2 market. Additionally it is not always possible to bet the lay market. Pyckio and Pinnacle offer Asian Handicap bets in instead of lay bets. A handicap of +0.5 represents the lay bet for the corresponding back market. But such handicaps are only available, if the opponent’s strength differ not too much. The betting market history shows, that the average odds of the handicap bets are about 2. So every lay bet with a probability around 50% is also available as a handicap bet at Pyckio.

Pyckio betting markets

Moreover, the Pyckio history reveals, that there is also a profit asymmetry regarding the betting markets. While the home market offers an overall profit, the away market generated a loss. The asian handicap markets also mainly produce profit for the home market. Taking a look at the simulated profit shows a similar distribution.

Enter a caption

So it seams like the Poisson model overestimates the away teams. But this is just a presumption as I don’t know how to proof this. The profit distribution only indicates this.

Adapt betting strategy

All these findings can now be used to test some adapted betting strategies. I defined following strategies for this test:

  • Strategy 1: all bets
  • Strategy 2: all back markets, no lay draw, lay markets with about 50% probability
  • Strategy 3: only back home, only lay away with about 50% probability
Strategy simulation (Bet365, Bundesliga 2012 – 2018)

Strategy 1 and 2 show nearly the same progress until this season. The limitation for the lay markets decreases the overall loss of the current season a little bit. While selecting only bets for the home team even results in profit. Comparing all 3 strategies seems also to indicate, that the Poisson model overestimated away teams this season. But can this easily be generalized? The seasons 2012/13 and 2013/14 don’t suggest this. Strategy 1 & 2 provided much more profit including the away bets during that time.


This something you must always keep in mind, when analysing the performance of predictive models. If you find patterns for e.g the current season, you should not ignore the overall view. An overestimation of away teams in the past season does not imply, that away teams are always overestimated. As well as a correct home team prediction will continue the next season.

On the other hand, findings like missing information should be used to improve your predictions. They can be used to define new variables or create new models. I currently try to extend my Poisson model with the exponential moving average, so that the prediction reacts better to performance fluctuations. My goal is to provide a improved model until next season.



If you have further questions, feel free to leave a comment or contact me @Mo_Nbg.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: