British Premier League II

Code location: PremierLeague7

This example shows application of DDR to prediction of outcomes of football matches. The predicted season is 2020-2021. The basic concept and betting rules are explained in the previous article, they are not repeated here.

The inputs are changed in this model. Since top 17 teams from the previous season are playing in the new season, we can use prvious scores as indicators pointing to the mastership of involved teams. For any two teams with conventional names HOME and AWAY we can find 16 matches played against same opponents, where HOME team played at home and AWAY team played away. Here, for example, the results for 2019-2020 from Wikipedia:

The row with name 'Chelsea' shows scores in matches with other 19 teams when Chelsea played at home. The column with the name 'BOU' shows scores with all other 19 teams when Bournemouth played away. This information can be used for predicting match 'Chelsea-Bournemouth' in the next season.

The number of inputs for each team is reduced to 3. First input is a sum of all goal differences in games where the team lost, second input is a sum of all goal differences in the games where team won and the third input is a number of draws. So we have 6 inputs per match, the model target is a goal difference as real number.


For training we used historical records from 2004 through 2020. They are available in multiple location, we used


The predicted season is 2020-2021. The previous season 2019-2020 was taken as initial scoring table and this table was updated after prediction of each game with the new result. The draws were excluded from predictions and predicted result was either HOME or AWAY depending on the sign of predicted goal difference. The balance summary can be seen below:

The number of bets 272 is less than 380 because we use only on top 17 teams from the previous season and place bets only on games where these 17 teams are playing. Similar to the previous model the bets are placed mostly on underestimated underdogs selectively. Number of correct predictions 78 out of 272 gives positive balance, when betting on favorites typically gives near 50% correct predictions with 5% to 15% money loss. This model is more stable than the previous one, the result varies in each execution due to random initialization, but the profit almost always is between 15% and 20%.