Here are the probabilities (in %), generated over 10.000 simulations. All match-results in each simulation are based on ClubElo prediction formula's for goals scored in a match depending on elo home win expectancy.
First another look at the play-offs as part of these complete simulations. These probabilities should be comparable to the numbers presented here directly after the play-offs draw.
This is a nice chance to research the margin in simulation-results for simulations of the same set of matches and with the same starting elo-rating for each team but with different start seeds. It turns out that the biggest difference is 1,09 procent-point (for the qualification of Norway for the final tournament).
path A | to final | qualification |
Iceland | 71,33 | 48,08 |
Bulgaria | 69,30 | 20,76 |
Romania | 28,67 | 20,73 |
Hungary | 30,70 | 10,43 |
path B | to final | qualification |
Slovakia | 74,36 | 48,51 |
Bosnia-Herzegovina | 73,99 | 24,79 |
Republic of Ireland | 25,64 | 17,14 |
Northern Ireland | 26,01 | 9,56 |
path C | to final | qualification |
Norway | 67,28 | 48,93 |
Serbia | 32,72 | 25,18 |
Scotland | 80,30 | 21,70 |
Israel | 19,70 | 4,19 |
path D | to final | qualification |
Georgia | 77,70 | 38,74 |
North Macedonia | 72,05 | 34,66 |
Kosovo | 27,95 | 18,60 |
Belarus | 22,30 | 8,00 |
Then the group stage of the EUROs. The teams are ordered by their average group position, but not the play-off winners: they are always presented from 4th position onwards:
group A | 1st | 2nd | 3rd | 4th |
Italy | 45,86 | 27,97 | 16,92 | 9,25 |
Turkey | 24,11 | 28,59 | 27,54 | 19,76 |
Switzerland | 19,48 | 25,47 | 29,49 | 25,56 |
Wales | 10,55 | 17,97 | 26,05 | 45,43 |
group B | 1st | 2nd | 3rd | 4th |
Denmark | 42,50 | 26,42 | 20,36 | 10,72 |
Belgium | 33,94 | 32,40 | 19,86 | 13,80 |
Russia | 12,42 | 22,11 | 31,87 | 33,60 |
Finland | 11,14 | 19,07 | 27,91 | 41,88 |
group C | 1st | 2nd | 3rd | 4th |
Netherlands | 62,81 | 24,31 | 9,59 | 3,29 |
Ukraine | 19,32 | 33,33 | 28,60 | 18,75 |
Austria | 11,03 | 27,00 | 30,59 | 31,38 |
Romania | 1,99 | 3,61 | 6,48 | 8,65 |
Kosovo | 1,07 | 2,46 | 4,66 | 6,61 |
North Macedonia | 1,77 | 4,06 | 8,29 | 13,38 |
Georgia | 1,68 | 4,43 | 9,79 | 14,66 |
Belarus | 0,33 | 0,80 | 2,00 | 3,28 |
group D | 1st | 2nd | 3rd | 4th |
England | 43,76 | 28,82 | 18,35 | 9,07 |
Croatia | 29,94 | 30,67 | 23,47 | 15,92 |
Czech Republic | 15,00 | 20,91 | 25,56 | 38,53 |
Serbia | 4,37 | 5,90 | 7,85 | 7,06 |
Norway | 5,27 | 9,90 | 15,82 | 17,94 |
Scotland | 1,37 | 3,20 | 7,82 | 9,31 |
Israel | 0,29 | 0,60 | 1,13 | 2,17 |
group E | 1st | 2nd | 3rd | 4th |
Spain | 55,81 | 25,51 | 13,33 | 5,35 |
Sweden | 18,02 | 28,11 | 28,52 | 25,35 |
Poland | 12,32 | 25,75 | 27,35 | 34,58 |
Slovakia | 7,40 | 10,46 | 14,84 | 15,81 |
Northern Ireland | 1,37 | 2,04 | 3,03 | 3,12 |
Bosnia-Herzegovina | 3,18 | 4,88 | 7,84 | 8,89 |
Republic of Ireland | 1,90 | 3,25 | 5,09 | 6,90 |
group F | 1st | 2nd | 3rd | 4th |
France | 38,93 | 27,91 | 20,54 | 12,62 |
Portugal | 33,74 | 30,30 | 22,89 | 13,07 |
Germany | 22,15 | 30,97 | 32,89 | 13,99 |
Iceland | 3,02 | 5,89 | 11,88 | 27,29 |
Hungary | 0,56 | 1,43 | 2,47 | 5,97 |
Bulgaria | 0,87 | 2,01 | 4,92 | 12,96 |
North Macedonia | 0,26 | 0,50 | 1,64 | 4,76 |
Georgia | 0,33 | 0,61 | 1,60 | 5,64 |
Kosovo | 0,10 | 0,28 | 0,85 | 2,57 |
Belarus | 0,04 | 0,10 | 0,32 | 1,13 |
Note the significant role the home advantage of Denmark (and Russia) plays in the outcome of group B.
Then the focus turns to the knock-out stage with the probabilities to qualify for each round. From the quarter finals onwards also the percentages are presented (in square brackets) to qualify for the round, given qualification for the previous knock-out round.
Round of 16
Netherlands | 95,10 |
Spain | 92,57 |
Italy | 87,73 |
England | 87,43 |
Denmark | 85,51 |
France | 83,43 |
Portugal | 82,23 |
Belgium | 81,63 |
Croatia | 78,93 |
Germany | 78,31 |
Ukraine | 73,33 |
Turkey | 72,96 |
Sweden | 66,79 |
Switzerland | 61,99 |
Austria | 55,62 |
Poland | 54,25 |
Russia | 53,27 |
Czech Republic | 51,92 |
Finland | 50,32 |
Wales | 43,71 |
Slovakia | 26,25 |
Norway | 23,63 |
Iceland | 14,91 |
Serbia | 14,84 |
Bosnia-Herzegovina | 12,11 |
Georgia | 11,63 |
North Macedonia | 11,10 |
Romania | 8,73 |
Scotland | 8,36 |
Republic of Ireland | 7,90 |
Kosovo | 6,49 |
Bulgaria | 5,13 |
Northern Ireland | 5,13 |
Hungary | 3,12 |
Belarus | 2,24 |
Israel | 1,40 |
Quarter finals
Spain | 66,45 | [71,78] | |
Netherlands | 62,84 | [66,08] | |
Italy | 56,54 | [64,45] | |
France | 53,65 | [64,31] | |
Portugal | 52,89 | [64,32] | |
England | 46,46 | [53,14] | |
Turkey | 45,98 | [63,02] | |
Germany | 44,48 | [56,80] | |
Denmark | 36,53 | [42,72] | |
Switzerland | 35,42 | [57,14] | |
Croatia | 32,62 | [41,33] | |
Belgium | 30,47 | [37,33] | |
Sweden | 28,21 | [42,24] | |
Czech Republic | 26,65 | [51,33] | |
Ukraine | 23,54 | [32,10] | |
Russia | 21,72 | [40,77] | |
Poland | 19,21 | [35,41] | |
Slovakia | 17,29 | [65,87] | |
Wales | 16,13 | [36,90] | |
Finland | 15,00 | [29,81] | |
Austria | 12,97 | [23,32] | |
Bosnia-Herzegovina | 8,05 | [66,47] | |
Norway | 6,56 | [27,76] | |
Republic of Ireland | 5,18 | [65,57] | |
Georgia | 5,13 | [44,11] | |
Serbia | 5,11 | [34,43] | |
North Macedonia | 4,97 | [44,77] | |
Romania | 4,85 | [55,56] | |
Iceland | 4,01 | [26,89] | |
Northern Ireland | 3,43 | [66,86] | |
Kosovo | 3,03 | [46,69] | |
Scotland | 2,03 | [24,28] | |
Bulgaria | 0,97 | [18,91] | |
Belarus | 0,86 | [38,39] | |
Hungary | 0,62 | [19,87] | |
Israel | 0,15 | [10,71] |
Semi finals
Netherlands | 43,24 | [68,81] | |
Spain | 41,84 | [62,96] | |
France | 31,73 | [59,14] | |
Portugal | 31,05 | [58,71] | |
Italy | 29,84 | [52,78] | |
Germany | 26,14 | [58,77] | |
Turkey | 24,15 | [52,52] | |
England | 20,94 | [45,07] | |
Switzerland | 15,30 | [43,20] | |
Denmark | 14,51 | [39,72] | |
Croatia | 12,89 | [39,52] | |
Czech Republic | 12,10 | [45,40] | |
Belgium | 11,07 | [36,33] | |
Slovakia | 10,18 | [58,88] | |
Sweden | 9,82 | [34,81] | |
Ukraine | 9,44 | [40,10] | |
Russia | 9,42 | [43,37] | |
Poland | 5,44 | [28,32] | |
Wales | 5,28 | [32,73] | |
Bosnia-Herzegovina | 5,04 | [62,61] | |
Finland | 4,59 | [30,60] | |
Austria | 3,73 | [28,76] | |
Republic of Ireland | 3,23 | [62,36] | |
Romania | 3,20 | [65,98] | |
North Macedonia | 3,04 | [61,17] | |
Georgia | 3,02 | [58,87] | |
Northern Ireland | 2,10 | [61,22] | |
Kosovo | 1,83 | [60,40] | |
Norway | 1,75 | [26,68] | |
Serbia | 1,56 | [30,53] | |
Iceland | 1,14 | [28,43] | |
Belarus | 0,54 | [62,79] | |
Scotland | 0,46 | [22,66] | |
Bulgaria | 0,22 | [22,68] | |
Hungary | 0,13 | [20,97] | |
Israel | 0,04 | [26,67] |
Final
Spain | 26,63 | [63,65] | |
Netherlands | 22,35 | [51,69] | |
France | 18,12 | [57,11] | |
Portugal | 17,90 | [57,65] | |
Italy | 14,18 | [47,52] | |
England | 13,80 | [65,90] | |
Germany | 12,91 | [49,39] | |
Turkey | 11,52 | [47,70] | |
Slovakia | 6,12 | [60,12] | |
Czech Republic | 5,83 | [48,18] | |
Croatia | 5,78 | [44,84] | |
Switzerland | 5,74 | [37,52] | |
Denmark | 5,70 | [39,28] | |
Belgium | 4,10 | [37,04] | |
Sweden | 3,66 | [37,27] | |
Russia | 3,51 | [37,26] | |
Ukraine | 2,91 | [30,83] | |
Bosnia-Herzegovina | 2,90 | [57,54] | |
Republic of Ireland | 1,92 | [59,44] | |
Wales | 1,62 | [30,68] | |
Romania | 1,58 | [49,38] | |
North Macedonia | 1,58 | [51,97] | |
Georgia | 1,55 | [51,32] | |
Poland | 1,55 | [28,49] | |
Finland | 1,38 | [30,07] | |
Northern Ireland | 1,16 | [55,24] | |
Kosovo | 1,07 | [58,47] | |
Austria | 0,87 | [23,32] | |
Serbia | 0,55 | [35,26] | |
Norway | 0,51 | [29,14] | |
Iceland | 0,36 | [31,58] | |
Belarus | 0,36 | [66,67] | |
Scotland | 0,16 | [34,78] | |
Bulgaria | 0,08 | [36,36] | |
Hungary | 0,03 | [23,08] | |
Israel | 0,01 | [25,00] |
And the winner:
Spain | 15,60 | [58,58] | |
Netherlands | 12,77 | [57,14] | |
France | 9,72 | [53,64] | |
Portugal | 9,37 | [52,35] | |
England | 7,21 | [52,25] | |
Italy | 6,89 | [48,59] | |
Germany | 5,77 | [44,69] | |
Turkey | 5,41 | [46,96] | |
Slovakia | 3,58 | [58,50] | |
Czech Republic | 2,77 | [47,51] | |
Denmark | 2,41 | [42,28] | |
Croatia | 2,41 | [41,70] | |
Switzerland | 2,37 | [41,29] | |
Bosnia-Herzegovina | 1,76 | [60,69] | |
Belgium | 1,49 | [36,34] | |
Russia | 1,35 | [38,46] | |
Sweden | 1,32 | [36,07] | |
Ukraine | 1,12 | [38,49] | |
Romania | 0,93 | [58,86] | |
Republic of Ireland | 0,91 | [47,40] | |
North Macedonia | 0,77 | [48,73] | |
Georgia | 0,76 | [49,03] | |
Kosovo | 0,55 | [51,40] | |
Wales | 0,54 | [33,33] | |
Poland | 0,51 | [32,90] | |
Northern Ireland | 0,48 | [41,38] | |
Finland | 0,42 | [30,43] | |
Belarus | 0,18 | [50,00] | |
Austria | 0,18 | [20,69] | |
Serbia | 0,17 | [30,91] | |
Iceland | 0,11 | [30,56] | |
Norway | 0,09 | [17,65] | |
Scotland | 0,07 | [43,75] | |
Hungary | 0,01 | [33,33] | |
Bulgaria | 0,00 | [0,00] | |
Israel | 0,00 | [0,00] |
Then a closer look to most probable match-ups in the different knock-out stages. A total of 594 different match-ups are generated in this simulation. Here are per match the 10 most probable match-ups presented. Also per knock-out stage a total overview of the 20 most probable match-ups.
First the chances of the 4 group winners of groups B, C E and F to meet a group third from the other groups in the round of 16:
group winner | grp A | grp B | grp C | grp D | grp E | grp F |
B | 18,02 | 0 | 0 | 16,28 | 31,49 | 34,21 |
C | 0 | 0 | 0 | 29,41 | 33,51 | 37,08 |
E | 16,28 | 32,04 | 30,86 | 20,82 | 0 | 0 |
F | 32,09 | 38,69 | 29,22 | 0 | 0 | 0 |
Round of 16 | ||||
A1 - C2 (London - ENG) | B1 - nr 3 (Bilbao - ESP) | |||
Italy - Ukraine | 15,34 | Denmark - Germany | 5,10 | |
Austria - Italy | 12,38 | Belgium - Germany | 4,30 | |
Italy - Netherlands | 11,15 | Denmark - Sweden | 4,17 | |
Turkey - Ukraine | 8,21 | Denmark - Portugal | 3,76 | |
Austria - Turkey | 6,28 | Belgium - Sweden | 3,63 | |
Switzerland - Ukraine | 6,23 | Denmark - France | 3,43 | |
Netherlands - Turkey | 5,79 | Denmark - Poland | 3,35 | |
Austria - Switzerland | 5,40 | Belgium - Portugal | 3,08 | |
Netherlands - Switzerland | 4,84 | Belgium - Poland | 2,71 | |
Ukraine - Wales | 3,55 | Belgium - France | 2,70 | |
A2 - B2 (Amsterdam - NED) | C1 - nr 3 (Budapest - HUN) | |||
Belgium - Italy | 9,32 | Germany - Netherlands | 4,70 | |
Belgium - Turkey | 8,92 | Netherlands - Sweden | 4,36 | |
Belgium - Switzerland | 8,50 | Netherlands - Portugal | 4,02 | |
Denmark - Italy | 7,91 | France - Netherlands | 3,45 | |
Denmark - Turkey | 7,49 | Netherlands - Poland | 2,82 | |
Russia - Turkey | 6,43 | Croatia - Netherlands | 2,40 | |
Denmark - Switzerland | 6,30 | Czech Republic - Netherlands | 2,23 | |
Finland - Turkey | 5,75 | England - Netherlands | 2,21 | |
Russia - Switzerland | 5,75 | Netherlands - Spain | 2,15 | |
Italy - Russia | 5,72 | Netherlands - Slovakia | 1,76 | |
F1 - nr 3 (Bucharest - ROM) | D2 - E2 (Copenhagen - DEN) | |||
Finland - France | 4,17 | Croatia - Sweden | 8,40 | |
France - Russia | 3,95 | Croatia - Poland | 8,03 | |
France - Ukraine | 3,90 | England - Sweden | 7,99 | |
France - Turkey | 3,83 | Croatia - Spain | 7,93 | |
Portugal - Russia | 3,78 | England - Poland | 7,40 | |
Finland - Portugal | 3,60 | England - Spain | 7,24 | |
Portugal - Ukraine | 3,55 | Czech Republic - Sweden | 5,97 | |
Austria - France | 3,51 | Czech Republic - Poland | 5,34 | |
Belgium - France | 3,43 | Czech Republic - Spain | 5,33 | |
Portugal - Turkey | 3,18 | Croatia - Slovakia | 3,41 | |
D1 - F2 (Dublin - IRL) | E1 - nr 3 (Glasgow - SCO) | |||
England - Germany | 13,45 | Spain - Ukraine | 5,45 | |
England - Portugal | 13,19 | Austria - Spain | 5,21 | |
England - France | 12,43 | Finland - Spain | 5,14 | |
Croatia - Portugal | 9,26 | Russia - Spain | 4,83 | |
Croatia - Germany | 9,19 | Denmark - Spain | 4,36 | |
Croatia - France | 8,39 | Belgium - Spain | 3,79 | |
Czech Republic - Portugal | 4,65 | Croatia - Spain | 3,12 | |
Czech Republic - Germany | 4,59 | Spain - Turkey | 3,06 | |
Czech Republic - France | 4,09 | Czech Republic - Spain | 2,77 | |
England - Iceland | 2,51 | Netherlands - Spain | 2,40 | |
total Round of 16 | ||||
Italy - Ukraine | 15,34 | |||
England - Germany | 13,45 | |||
England - Portugal | 13,19 | |||
England - France | 12,43 | |||
Austria - Italy | 12,38 | |||
Italy - Netherlands | 11,15 | |||
Croatia - Spain | 11,05 | |||
Belgium - Turkey | 10,74 | |||
Belgium - Italy | 10,38 | |||
Belgium - Switzerland | 10,16 | |||
Denmark - Turkey | 9,79 | |||
Croatia - Sweden | 9,56 | |||
Germany - Netherlands | 9,52 | |||
England - Spain | 9,50 | |||
Denmark - Italy | 9,49 | |||
Croatia - Portugal | 9,26 | |||
Croatia - Germany | 9,19 | |||
England - Sweden | 8,88 | |||
Croatia - Poland | 8,80 | |||
Croatia - France | 8,39 | |||
Denmark - Switzerland | 8,33 | |||
Quarter finals | ||||
B1-nr3 / A1-C2 (Munich - GER) | F1-nr3 / D2-E2 (St. Petersburg - RUS) | |||
Denmark - Italy | 6,78 | France - Spain | 5,50 | |
Belgium - Italy | 4,78 | Portugal - Spain | 4,94 | |
Denmark - Turkey | 3,82 | England - France | 4,76 | |
Germany - Italy | 2,98 | England - Portugal | 3,99 | |
Denmark - Netherlands | 2,90 | Croatia - France | 3,88 | |
Belgium - Turkey | 2,76 | Croatia - Portugal | 3,45 | |
Denmark - Switzerland | 2,70 | France - Sweden | 3,26 | |
Italy - Turkey | 2,19 | Czech Republic - Portugal | 3,22 | |
Italy - Russia | 2,15 | Czech Republic - France | 3,17 | |
Belgium - Netherlands | 2,08 | Germany - Spain | 2,74 | |
C1-nr3 / A2-B2 (Baku - AZB) | E1-nr3 / D1-F2 (Rome - ITA) | |||
Netherlands - Turkey | 9,65 | England - Spain | 10,07 | |
Italy - Netherlands | 9,20 | Portugal - Spain | 7,95 | |
Netherlands - Switzerland | 8,17 | France - Spain | 6,61 | |
Belgium - Netherlands | 4,96 | Germany - Spain | 6,14 | |
Denmark - Netherlands | 4,37 | Croatia - Spain | 5,65 | |
Netherlands - Russia | 4,18 | Czech Republic - Spain | 3,61 | |
Netherlands - Wales | 3,37 | England - Sweden | 2,93 | |
Finland - Netherlands | 2,70 | Portugal - Sweden | 1,95 | |
Turkey - Ukraine | 1,93 | France - Sweden | 1,57 | |
Italy - Ukraine | 1,84 | Germany - Sweden | 1,55 | |
total Quarter final | ||||
Portugal - Spain | 12,89 | |||
France - Spain | 12,11 | |||
England - Spain | 10,07 | |||
Netherlands - Turkey | 10,05 | |||
Italy - Netherlands | 9,52 | |||
Germany - Spain | 8,88 | |||
Netherlands - Switzerland | 8,49 | |||
Denmark - Netherlands | 7,27 | |||
Belgium - Netherlands | 7,04 | |||
Denmark - Italy | 6,78 | |||
Croatia - Spain | 5,65 | |||
England - France | 5,20 | |||
Netherlands - Russia | 5,03 | |||
France - Sweden | 4,83 | |||
Belgium - Italy | 4,78 | |||
Portugal - Sweden | 4,67 | |||
England - Portugal | 4,36 | |||
Germany - Italy | 4,35 | |||
Croatia - France | 4,23 | |||
Denmark - Turkey | 3,82 | |||
total Semi final (London-ENG) | ||||
Netherlands - Spain | 10,07 | |||
England - Netherlands | 4,77 | |||
France - Italy | 4,29 | |||
Italy - Spain | 4,24 | |||
France - Netherlands | 4,24 | |||
Netherlands - Portugal | 4,24 | |||
Italy - Portugal | 4,15 | |||
Spain - Turkey | 3,84 | |||
Germany - Netherlands | 3,36 | |||
France - Turkey | 3,26 | |||
Portugal - Turkey | 2,97 | |||
Germany - Italy | 2,76 | |||
Germany - Portugal | 2,60 | |||
Croatia - Netherlands | 2,60 | |||
Spain - Switzerland | 2,59 | |||
France - Germany | 2,44 | |||
France - Switzerland | 2,28 | |||
England - Italy | 2,23 | |||
Germany - Spain | 2,09 | |||
Denmark - France | 1,97 | |||
Final (London - ENG) | ||||
Portugal - Spain | 3,14 | |||
France - Spain | 3,11 | |||
Netherlands - Spain | 2,55 | |||
France - Netherlands | 2,49 | |||
Italy - Spain | 2,45 | |||
Netherlands - Portugal | 2,40 | |||
Italy - Netherlands | 2,12 | |||
Spain - Turkey | 2,04 | |||
France - Portugal | 2,02 | |||
England - Spain | 1,83 | |||
France - Germany | 1,71 | |||
Germany - Netherlands | 1,67 | |||
Germany - Spain | 1,66 | |||
Germany - Portugal | 1,56 | |||
England - France | 1,48 | |||
Netherlands - Turkey | 1,45 | |||
England - Portugal | 1,31 | |||
England - Italy | 1,23 | |||
England - Netherlands | 1,22 | |||
Italy - Portugal | 1,21 | |||
Total Knock-out matches | |
Italy - Netherlands | 23,58 |
England - Spain | 22,49 |
England - France | 19,79 |
England - Portugal | 19,69 |
Netherlands - Spain | 19,14 |
Croatia - Spain | 18,00 |
Netherlands - Turkey | 17,99 |
England - Germany | 17,96 |
Italy - Ukraine | 17,73 |
Portugal - Spain | 17,54 |
Denmark - Italy | 17,16 |
France - Spain | 16,63 |
Germany - Netherlands | 15,73 |
Belgium - Italy | 15,72 |
Netherlands - Portugal | 14,79 |
Netherlands - Switzerland | 14,63 |
France - Netherlands | 14,57 |
Denmark - Turkey | 14,24 |
Croatia - Portugal | 14,05 |
Belgium - Turkey | 13,96 |
… | |
Russia - Ukraine | 1,62 |
Kosovo - Russia | 0,27 |
Bosnia-Herzegovina - Kosovo | 0,14 |
Kosovo - Serbia | 0,05 |
About me:
Software engineer, happily unmarried and non-religious. You won't find me on Twitter or other so called social media. Dutchman, joined the blog in March 2018.
Thank you for your simulations. However, I wonder if there might be a mix-up between Belgium and Bosnia's rating used in the knock out. Belgium's chanches of progression from a round always among the lowest, while Bosnia's among the highest. Seems like it should be the other way around
ReplyDeleteI don't understand how is Croatia - Spain the most likely R16 pair involving Croatia. For that to happen Spain would need to finish second in group E, but your simulations show that both Poland and Sweden have a higher chance finishing second than Spain.
ReplyDeleteCroatia-Sweden and Croatia-Poland have higher probabilities than Croatia-Spain for the D2-E2 Round of 16 match. However, Croatia-Spain also occurs high on the list in the E1-nr 3 Round of 16 match.
DeleteSo the overview with summed probabilities over all round of 16 matches shows that for Croatia the Croatia-Spain match-up has the highest probability to occur in the round of 16.
Of course Belgium's unexpected low probabilities, given their number one status in both FIFA and elo rating, are rather eye-catching. I already surveyed the results but they are correct.
ReplyDeleteThe phenomenon we can see here, is the effect of the two away-matches Belgium has to play in the group. Against both Denmark and Russia they are playing away and have a bigger chance to lose points there, compared to the case the matches are played on neutral ground. Although they will qualify for the knock-out stage most of the time, it has a negative influence on their knock-out matches also for two reasons.
First, they are most of the time number two or three in the group and thus have stronger opponents in the round of 16. On top of that: when they win the group the most probable opponent turns out to be Germany as group F's number three.
Second, their high rating has already significantly deteriorated from the group matches. They are no longer big favorites in the round of 16 match. Their biggest drop (in probability) already occurs in the round of 16, when Belgium only has 37% probability to reach the quarter finals, compared to the 50 to 70% win probability of other favorites in that round.
But even in the final, Belgium's winning probability is only 36,34%? Even if there's a bit of rating drop-off in the group stage, they surely regain a fair amount of points and stay very high before the final. And all the scenarios where they don't drop many points in the group should keep their average quite high before the final.
DeleteSame can be said for other favorites reaching the final. Their points will have grown substantially in the knock-out stage AND in the group stage.
DeleteI can only say, that I can find no flaws in the simulation process. So, given the simulated schedule of matches, this is it...
I've been looking at Group B since the draw (because if Italy wins its group and the Dutch win their group ... etc., etc.) and it seems to me Belgium got screwed big time. First they play the Russians in Saint Petersburg, then they travel to Copenhagen to meet the Danes, and finally go back to Saint Petersburg to play the Finns just a stone throw from Finland. Basically they are facing two and a half away games out of three. Worst draw (well, non-draw) ever?
DeleteI'm afraid it's some kind of a methodology flaw here. You shouldn't change team's ELO rating BECAUSE the team has won a game in your prognosis. You should stay with the initial current ELO value in my opinion.
DeleteYour methodology causes absurdes, like Slovakia having 7 (!) times higher chance of winning Euro than Poland who is in the same group as Slovakia, is a clear favourite vs Slovakia and has much better chances for 1st and 2nd place in group than Slovakia.
Please change it, it's making your great work look worse.
Hi Ed, are you updating the Elo Ratings after each match taking into account the home advantage? If a team is 100 points lower but has the home advantage, it should have 50% of winning, hence the update should occur as k×0.5, right?
DeleteRunning the simulations hot is methodologically correct, U agree with you Ed. It does raises an issue with Elo Ratings, because playing more games raises the variance of the ratings for that team, but this the Elo model.
Perhaps the next project could be switching to Glicko2 :)
I don't agree with you, Amir.
DeleteIf in some simulation Kosovo reaches final of Euro, by winning in the meantime with Germany, Spain, Belgium, England and France, this doesn't mean that they are suddenly favorites against Portugal in the final.
Odds for winning a game in the Euro final in your simulation between team A and B, should be the same as odds for the game between the same teams in first group match.
@jakas1,
DeleteSee the simulations of Nate Silver here:
https://fivethirtyeight.com/methodology/how-our-nfl-predictions-work/
It is tbe correct methodology under the Elo model to account for the uncertainty of real underline strength.
Amir, great example! And please have a look at his predictions of cups in soccer: https://projects.fivethirtyeight.com/soccer-predictions/champions-league/
DeleteNate Silver's predictions don't assume that if Slavia will reach CL final after beating Bayern, Liverpool and Real, they will be favorites against Barcelona in the final.
Jakas1, that is completely opposite to what I conclude after reading this paragraph in the link you pointed at:
DeleteForecasting seasons
Once we have probabilities for every match, we then run Monte Carlo simulations to play out each league’s season 20,000 times using those forecasts. As with our other projections, we run our Monte Carlo simulations “hot,” meaning that instead of a team’s ratings remaining static within each simulated season, the ratings can rise or fall based on the simulated matches the team plays. In effect, this widens the distribution of possible outcomes by allowing a weak team to go on a winning streak and increase its ratings substantially, or providing for the possibility that a strong team loses its first few games of a simulated season and is penalized accordingly.
By the way, you have to follow the link "How it works" in your link to find a complete description of their prediction method and also this paragraph in it.
DeleteThanks Ed
ReplyDeleteOk even if we leave aside weird Belgium fluctuations, how come Turkey beats Switzerland in every round despite Switzerland is significantly higher than Turkey in both rankings: FIFA and elo?
ReplyDeleteThey both plays one away game vs Italy and 2 games on neutral ground in the EURO group.
Yeah Ed, it really looks like a bug... Perhaps you are not resetting each team to their original ratings after each simulation?
DeleteOr maybe the K value for updating the Elo Ratings is not right? It should be 40 for playoffs and 50 for the main tournament as per:
Deletehttps://www.eloratings.net/about
Belgium's position is a joke. You're saying you're not religious, but your rankings are just as irrational.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteGuys, now 'my great work' is less great because it delivers some less expected results, while I use this simulation system for two years now ? Of course I do take home advantage into account, use the correct K-factor and reset the elo-ratings before each simulation. Of course I apply the elo system correctly.
ReplyDeleteIt is a simulation of a real process with scheduled matches in a certain order and in reality when Kosovo wins against Germany, Spain, Belgium, England and France their elo rating might be that high that they just might be favorite against Portugal also (at least according to elo which is still the mathematical system I use). That it doesn't always match with the general expectations/feelings/opinions is just what makes these simulations worthwhile. Otherwise we could have just take a look at the top of the current elo ranking as the list with probable EURO winners.
So, in short, thank you for your comments, but I don't intend to alter my simulation system.
And... if that makes you feel better, I still do think Belgium is one of the favorites for the title, despite these simulation results.
Apparently such simulation results can still feel as an attack or a deliberate insult. Remarkable !
Hi Ed, we all really appriciate your efforts! No one is attacking you, we just find the results strange, and as I said especially Turkey being favorite over Switzerland. Are friendlies before the Euro also considered for the simulation?
ReplyDeleteTurkey are %100 percent favourite over Swiss squad. Please check h2h matches between them and results of last 10matches of Turkey and Switzerland
DeleteI'll run this evening simulations myself, and we can compare the results then (they should be almost equal of course)
ReplyDeleteAmir, great! Looking forward to your resuls.
DeleteI do take friendlies into account but only if they are included in both sources I use (Roon/BA and Soccerway). As Soccerway doesn't present any friendlies in 2020 yet, in this specific case there are no preparatory friendlies included in this simulation.
It's taking me longer than I thought to input all the groups including the hosts and paths (and http://www.eloratings.net/ change I have not implemented yet).
DeleteI hope to get to that on the weekend...
Admit it, Ed. This is all a carefully thought-out Dutch scheme intended to mess with the Belgians. :)
ReplyDeleteHm, the plot thickens.... :)
DeleteThere was a useful question on Twitter about the probabilities of teams to occur in each Round of 16 match. Here's the top-10 for each match:
ReplyDeleteA1-C2
Italy 45,86
Ukraine 33,33
Austria 27,00
Netherlands 24,31
Turkey 24,11
Switzerland 19,48
Wales 10,55
Georgia 4,43
North Macedonia 4,06
Romania 3,61
B1-nr3
Denmark 42,50
Belgium 33,94
Russia 12,42
Germany 11,88
Finland 11,14
Sweden 10,04
Portugal 8,84
France 8,08
Poland 7,83
Spain 5,73
A2-B2
Belgium 32,40
Turkey 28,59
Italy 27,97
Denmark 26,42
Switzerland 25,47
Russia 22,11
Finland 19,07
Wales 17,97
C1-nr3
Netherlands 62,81
Ukraine 19,32
Germany 13,31
Austria 11,03
Sweden 10,62
Portugal 9,35
France 8,51
Poland 8,35
Croatia 8,05
Czech Republic 6,99
F1-nr3
France 38,93
Portugal 33,74
Germany 22,15
Russia 10,68
Finland 10,68
Ukraine 10,36
Turkey 9,46
Denmark 8,87
Austria 8,49
Belgium 8,46
D2-E2
Croatia 30,67
England 28,82
Sweden 28,11
Poland 25,75
Spain 25,51
Czech Republic 20,91
Slovakia 10,46
Norway 9,90
Serbia 5,90
Bosnia-Herzegovina 4,88
D1-F2
England 43,76
Germany 30,97
Portugal 30,30
Croatia 29,94
France 27,91
Czech Republic 15,00
Iceland 5,89
Norway 5,27
Serbia 4,37
Bulgaria 2,01
E1-nr3
Spain 55,81
Sweden 18,02
Poland 12,32
Ukraine 10,32
Finland 9,43
Austria 9,10
Russia 8,06
Denmark 7,72
Slovakia 7,40
Belgium 6,83
Have you calculated the new Conmebol ranking for clubs (used for the Libertadores draw on the 17th of December)
ReplyDeleteThanks
I tried to calculate that ranking when CONMEBOL introduced it, but couldn't get it to match, although the description was clear, I thought. So no, haven't got that one for you.
Delete