-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExpected_Results.py
276 lines (264 loc) · 58.7 KB
/
Expected_Results.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
import pandas as pd
import time
from World_Cup_Simulator import world_cup_simulation
# imports CSV file of results from all World Cups
df = pd.read_csv("Historical_World_Cup_Teams.csv")
# creates a grand dictionary to store the summary of all simulations based on elo ratings at the start of
# the tournament and the end of the tournament
starting_elo_based_summary = {1930: {}}
final_elo_based_summary = {1930: {}}
year_of_dict = 1930
for row, row_contents in df.iterrows():
year = row_contents['Year']
team = row_contents['Team']
if not year == year_of_dict:
year_of_dict = year
starting_elo_based_summary.update({year: {}})
final_elo_based_summary.update({year: {}})
starting_elo_based_summary[year].update({team: [0, 0, 0, 0, 0, 0]})
final_elo_based_summary[year].update({team: [0, 0, 0, 0, 0, 0]})
# Adds the expected results of each World Cup to the dictionaries
starting_elo_based_summary[1930] = {'Uruguay': [3932, 7197, 9537, 9943, 10000, 332689], 'Argentina': [4979, 8662, 9512, 9991, 10000, 350766], 'Brazil': [891, 2684, 8912, 9957, 10000, 274172], 'United States': [19, 225, 2668, 5931, 10000, 177279], 'Paraguay': [148, 827, 5469, 8348, 10000, 215523], 'Chile': [1, 38, 152, 5552, 10000, 153818], 'Serbia': [4, 69, 1051, 7688, 10000, 170591], 'Romania': [1, 22, 221, 3177, 10000, 144772], 'Belgium': [11, 146, 1863, 4971, 10000, 166278], 'France': [0, 13, 74, 4295, 10000, 147937], 'Mexico': [12, 89, 262, 6505, 10000, 158995], 'Peru': [2, 28, 242, 3014, 10000, 144348], 'Bolivia': [0, 0, 37, 628, 10000, 132832]}
final_elo_based_summary[1930] = {'Uruguay': [5780, 8528, 9730, 9977, 10000, 361522], 'Argentina': [3648, 8467, 9390, 9990, 10000, 332993], 'Brazil': [426, 1355, 8037, 9896, 10000, 254659], 'United States': [77, 750, 5041, 8291, 10000, 210716], 'Paraguay': [52, 548, 4007, 7747, 10000, 198362], 'Chile': [5, 141, 399, 7492, 10000, 164385], 'Serbia': [6, 81, 1925, 8533, 10000, 181851], 'Romania': [1, 28, 197, 3844, 10000, 147216], 'Belgium': [2, 47, 952, 3213, 10000, 151017], 'France': [3, 37, 150, 5399, 10000, 153205], 'Mexico': [0, 10, 61, 3309, 10000, 143848], 'Peru': [0, 8, 73, 1857, 10000, 138098], 'Bolivia': [0, 0, 38, 452, 10000, 132128]}
starting_elo_based_summary[1934] = {'Italy': [2478, 3916, 6455, 8897, 10000, 270820], 'Argentina': [3785, 6964, 8090, 9128, 10000, 312820], 'Austria': [2542, 4345, 8098, 9511, 10000, 291271], 'Spain': [265, 631, 1617, 5007, 10000, 170685], 'Czech Republic': [332, 1660, 6215, 8149, 10000, 227216], 'Brazil': [295, 687, 1671, 4993, 10000, 171657], 'Germany': [134, 791, 1480, 8597, 10000, 182109], 'Hungary': [89, 322, 1394, 6859, 10000, 172426], 'United States': [12, 46, 257, 1103, 10000, 137058], 'Sweden': [22, 154, 377, 872, 10000, 137574], 'Egypt': [9, 44, 396, 3141, 10000, 146290], 'Netherlands': [25, 292, 2240, 6599, 10000, 176660], 'Switzerland': [3, 59, 729, 3401, 10000, 149863], 'Romania': [9, 77, 816, 1851, 10000, 144555], 'France': [0, 9, 112, 489, 10000, 132935], 'Belgium': [0, 3, 53, 1403, 10000, 136061]}
final_elo_based_summary[1934] = {'Italy': [4648, 5862, 7526, 9360, 10000, 315584], 'Argentina': [2079, 5047, 6771, 8641, 10000, 270851], 'Austria': [1489, 2572, 7273, 9341, 10000, 262808], 'Spain': [476, 921, 1784, 6799, 10000, 182975], 'Czech Republic': [789, 3046, 7419, 8751, 10000, 252488], 'Brazil': [59, 176, 540, 3201, 10000, 149126], 'Germany': [259, 1371, 2686, 9062, 10000, 198517], 'Hungary': [138, 400, 2261, 7520, 10000, 183680], 'United States': [10, 40, 150, 640, 10000, 134176], 'Sweden': [21, 191, 492, 1359, 10000, 140717], 'Egypt': [6, 19, 325, 2480, 10000, 142851], 'Netherlands': [10, 175, 1195, 5592, 10000, 163173], 'Switzerland': [8, 102, 837, 4408, 10000, 155116], 'Romania': [6, 57, 549, 1249, 10000, 139837], 'France': [1, 10, 141, 659, 10000, 133866], 'Belgium': [1, 11, 51, 938, 10000, 134235]}
starting_elo_based_summary[1938] = {'Italy': [5264, 6843, 8697, 9069, 10000, 336687], 'Hungary': [2435, 6137, 6899, 9615, 10000, 284483], 'Brazil': [1225, 2122, 6227, 8720, 10000, 246878], 'Czech Republic': [215, 540, 2574, 6622, 10000, 185322], 'Germany': [556, 2138, 2657, 7504, 10000, 199082], 'France': [16, 80, 439, 6182, 10000, 159182], 'Norway': [74, 213, 666, 931, 10000, 141547], 'Switzerland': [25, 216, 399, 2496, 10000, 144642], 'Netherlands': [43, 148, 844, 3378, 10000, 152394], 'Sweden': [124, 1169, 6729, 10000, 10000, 233481], 'Poland': [8, 34, 355, 1280, 10000, 138534], 'Belgium': [1, 20, 198, 3818, 10000, 147076], 'Romania': [6, 183, 1820, 5297, 10000, 167139], 'Cuba': [7, 146, 1451, 4703, 10000, 161580], 'Indonesia': [1, 11, 45, 385, 10000, 131973]}
final_elo_based_summary[1938] = {'Italy': [6104, 7432, 8903, 9396, 10000, 351990], 'Hungary': [2337, 7131, 7883, 9669, 10000, 296301], 'Brazil': [1027, 1778, 6714, 9048, 10000, 249622], 'Czech Republic': [172, 435, 2600, 7428, 10000, 187979], 'Germany': [107, 883, 1269, 5570, 10000, 168327], 'France': [65, 230, 729, 7947, 10000, 170192], 'Norway': [22, 81, 309, 604, 10000, 135843], 'Switzerland': [47, 538, 816, 4430, 10000, 157634], 'Netherlands': [8, 28, 440, 2572, 10000, 144480], 'Sweden': [97, 1235, 7294, 10000, 10000, 237971], 'Poland': [2, 13, 246, 952, 10000, 136059], 'Belgium': [1, 3, 59, 2053, 10000, 138749], 'Romania': [6, 102, 1391, 5130, 10000, 162452], 'Cuba': [4, 101, 1315, 4870, 10000, 160755], 'Indonesia': [1, 10, 32, 331, 10000, 131646]}
starting_elo_based_summary[1950] = {'Brazil': [3743, 6254, 7895, 9850, 10000, 311502], 'Italy': [872, 2136, 3884, 6867, 10000, 212404], 'England': [3385, 5909, 7569, 9958, 10000, 303353], 'Sweden': [1016, 2430, 4300, 7169, 10000, 220394], 'Uruguay': [156, 797, 8815, 8824, 10000, 245361], 'Serbia': [67, 312, 927, 6875, 10000, 167986], 'Spain': [456, 1109, 2330, 9474, 10000, 199281], 'Paraguay': [225, 717, 1816, 4284, 10000, 169469], 'Switzerland': [7, 38, 248, 3523, 10000, 146550], 'Mexico': [72, 286, 930, 6952, 10000, 168288], 'Chile': [1, 5, 57, 2807, 10000, 141747], 'United States': [0, 3, 44, 2199, 10000, 139191], 'Bolivia': [0, 4, 1185, 1218, 10000, 144474]}
final_elo_based_summary[1950] = {'Brazil': [5313, 7141, 8315, 9931, 10000, 337421], 'Italy': [995, 2477, 4598, 7445, 10000, 223511], 'England': [1555, 3625, 6704, 9849, 10000, 263525], 'Sweden': [746, 1943, 3913, 6850, 10000, 209725], 'Uruguay': [782, 2768, 9620, 9622, 10000, 274310], 'Serbia': [203, 486, 1232, 8056, 10000, 177700], 'Spain': [275, 1003, 2950, 9338, 10000, 201127], 'Paraguay': [113, 475, 1489, 3884, 10000, 162149], 'Switzerland': [12, 30, 237, 4248, 10000, 149306], 'Mexico': [5, 33, 216, 3834, 10000, 147405], 'Chile': [1, 15, 271, 4316, 10000, 149613], 'United States': [0, 2, 75, 2225, 10000, 139518], 'Bolivia': [0, 2, 380, 402, 10000, 134690]}
starting_elo_based_summary[1954] = {'Hungary': [4506, 5712, 7018, 8659, 10000, 305678], 'Germany': [522, 1559, 2842, 5143, 10000, 188793], 'Brazil': [1578, 3085, 4529, 7584, 10000, 232975], 'England': [1616, 3144, 6157, 8187, 10000, 251492], 'Austria': [204, 764, 2374, 5659, 10000, 179260], 'Uruguay': [256, 889, 2618, 5816, 10000, 183333], 'Serbia': [452, 1280, 2492, 5284, 10000, 184204], 'Italy': [406, 1330, 3704, 6760, 10000, 200262], 'Switzerland': [37, 201, 875, 2522, 10000, 148915], 'Scotland': [272, 901, 2497, 5222, 10000, 180057], 'France': [66, 440, 1448, 4665, 10000, 163752], 'Belgium': [29, 225, 930, 2531, 10000, 149453], 'Czech Republic': [26, 162, 845, 3303, 10000, 151426], 'Turkey': [2, 50, 403, 2786, 10000, 144726], 'Mexico': [13, 117, 586, 2467, 10000, 145467], 'South Korea': [15, 141, 682, 3412, 10000, 150207]}
final_elo_based_summary[1954] = {'Hungary': [4644, 6039, 6993, 8109, 10000, 305981], 'Germany': [1971, 3662, 4770, 6149, 10000, 236384], 'Brazil': [966, 2361, 3675, 7647, 10000, 215063], 'England': [602, 1597, 4403, 7500, 10000, 213901], 'Austria': [736, 2051, 5179, 7907, 10000, 225811], 'Uruguay': [581, 1638, 4737, 7652, 10000, 216958], 'Serbia': [221, 886, 1788, 4916, 10000, 171888], 'Italy': [103, 475, 2080, 5662, 10000, 174017], 'Switzerland': [42, 282, 1335, 3808, 10000, 158578], 'Scotland': [39, 240, 1092, 2805, 10000, 152168], 'France': [68, 412, 1364, 5270, 10000, 165390], 'Belgium': [12, 125, 780, 3030, 10000, 149449], 'Czech Republic': [3, 39, 394, 1636, 10000, 140055], 'Turkey': [4, 104, 721, 3661, 10000, 151184], 'Mexico': [7, 62, 392, 2167, 10000, 142278], 'South Korea': [1, 27, 297, 2081, 10000, 140895]}
starting_elo_based_summary[1958] = {'Brazil': [853, 1762, 3147, 5871, 10000, 199174], 'Sweden': [397, 1258, 2625, 6321, 10000, 188596], 'Hungary': [2926, 4098, 6004, 9095, 10000, 272728], 'France': [173, 626, 1876, 5273, 10000, 172236], 'England': [1258, 2390, 3940, 6673, 10000, 217134], 'Argentina': [2268, 3457, 6107, 8228, 10000, 259799], 'Czech Republic': [309, 985, 2600, 4688, 10000, 179575], 'Russia': [226, 660, 1440, 3411, 10000, 161856], 'Serbia': [530, 1345, 3171, 6962, 10000, 198077], 'Germany': [529, 1429, 3353, 5648, 10000, 194635], 'Austria': [291, 797, 1726, 4045, 10000, 168369], 'Wales': [14, 104, 348, 1758, 10000, 140614], 'Northern Ireland': [18, 120, 504, 1436, 10000, 140782], 'Scotland': [124, 505, 1581, 4670, 10000, 166151], 'Paraguay': [39, 193, 808, 3095, 10000, 150635], 'Mexico': [45, 271, 770, 2826, 10000, 149639]}
final_elo_based_summary[1958] = {'Brazil': [4073, 5075, 6575, 8820, 10000, 294483], 'Sweden': [1272, 2516, 3940, 7931, 10000, 222772], 'Hungary': [1079, 2350, 3700, 7722, 10000, 216732], 'France': [851, 1869, 4665, 7689, 10000, 220859], 'England': [596, 1465, 2546, 5129, 10000, 186485], 'Argentina': [551, 1433, 3553, 6380, 10000, 199803], 'Czech Republic': [375, 1092, 2945, 5696, 10000, 188018], 'Russia': [257, 804, 1535, 3718, 10000, 164930], 'Serbia': [371, 1108, 3163, 6257, 10000, 192188], 'Germany': [287, 904, 2688, 5338, 10000, 182406], 'Austria': [91, 353, 796, 2333, 10000, 148879], 'Wales': [54, 251, 635, 2765, 10000, 148329], 'Northern Ireland': [40, 202, 920, 2586, 10000, 149680], 'Scotland': [46, 263, 1030, 3018, 10000, 152615], 'Paraguay': [43, 231, 1036, 3036, 10000, 152597], 'Mexico': [14, 84, 273, 1582, 10000, 139224]}
starting_elo_based_summary[1962] = {'Brazil': [2910, 4071, 5956, 8461, 10000, 269423], 'Russia': [1973, 3292, 5949, 8217, 10000, 253964], 'Czech Republic': [723, 1574, 2935, 5429, 10000, 193060], 'Hungary': [526, 1263, 2571, 6183, 10000, 189227], 'Argentina': [850, 1764, 3295, 7118, 10000, 205494], 'Spain': [534, 1306, 2537, 4822, 10000, 183676], 'Chile': [145, 511, 1665, 5245, 10000, 169433], 'Serbia': [1037, 2253, 4621, 7013, 10000, 221273], 'Germany': [322, 970, 2569, 6767, 10000, 187684], 'England': [322, 936, 1975, 5159, 10000, 175888], 'Italy': [263, 830, 2278, 6231, 10000, 181640], 'Uruguay': [335, 934, 2601, 4710, 10000, 179698], 'Mexico': [25, 141, 404, 1288, 10000, 139529], 'Bulgaria': [25, 91, 327, 1540, 10000, 139663], 'Switzerland': [10, 63, 313, 1757, 10000, 140071], 'Colombia': [0, 1, 4, 60, 10000, 130277]}
final_elo_based_summary[1962] = {'Brazil': [4963, 5844, 7416, 9269, 10000, 317640], 'Russia': [1329, 2581, 5619, 8632, 10000, 242107], 'Czech Republic': [700, 1932, 3298, 5641, 10000, 198506], 'Hungary': [545, 1435, 2687, 6864, 10000, 193949], 'Argentina': [374, 1145, 2264, 6337, 10000, 184713], 'Spain': [253, 873, 1752, 3446, 10000, 165957], 'Chile': [404, 1300, 3501, 7203, 10000, 200180], 'Serbia': [452, 1413, 3608, 6821, 10000, 200649], 'Germany': [379, 1230, 3299, 7014, 10000, 197064], 'England': [243, 787, 1699, 5296, 10000, 172471], 'Italy': [172, 561, 1916, 5065, 10000, 171503], 'Uruguay': [135, 583, 1923, 4452, 10000, 168711], 'Mexico': [44, 227, 639, 1644, 10000, 143617], 'Bulgaria': [5, 70, 245, 1503, 10000, 138464], 'Switzerland': [2, 17, 123, 718, 10000, 133991], 'Colombia': [0, 2, 11, 95, 10000, 130478]}
starting_elo_based_summary[1966] = {'England': [3128, 4264, 6442, 9264, 10000, 280522], 'Germany': [802, 1764, 3541, 7041, 10000, 206770], 'Portugal': [90, 367, 1035, 2936, 10000, 153435], 'Russia': [1228, 2432, 4519, 7885, 10000, 226940], 'Argentina': [945, 2009, 3848, 7360, 10000, 213457], 'Hungary': [679, 1583, 3376, 6711, 10000, 201765], 'Italy': [953, 2034, 3976, 7392, 10000, 215000], 'Brazil': [1379, 2533, 4753, 8008, 10000, 231887], 'Spain': [282, 860, 2091, 4950, 10000, 175236], 'Uruguay': [130, 559, 1588, 4164, 10000, 164421], 'Mexico': [183, 723, 1873, 4652, 10000, 170223], 'North Korea': [117, 401, 1221, 3210, 10000, 156635], 'France': [16, 128, 514, 1920, 10000, 142848], 'Chile': [24, 98, 389, 1513, 10000, 140100], 'Bulgaria': [43, 232, 731, 2345, 10000, 147230], 'Switzerland': [1, 13, 103, 649, 10000, 133531]}
final_elo_based_summary[1966] = {'England': [4453, 5546, 7339, 9733, 10000, 311594], 'Germany': [1328, 2917, 4954, 8514, 10000, 236563], 'Portugal': [1111, 2202, 4846, 7835, 10000, 227568], 'Russia': [1061, 2489, 4923, 8475, 10000, 231219], 'Argentina': [673, 1813, 3468, 7508, 10000, 206601], 'Hungary': [399, 1208, 3189, 6161, 10000, 192876], 'Italy': [357, 1095, 3006, 6665, 10000, 192157], 'Brazil': [277, 912, 2421, 5082, 10000, 178924], 'Spain': [100, 396, 1066, 3634, 10000, 156716], 'Uruguay': [82, 505, 1426, 4443, 10000, 163213], 'Mexico': [84, 468, 1347, 4157, 10000, 161266], 'North Korea': [52, 245, 1042, 3273, 10000, 153779], 'France': [13, 90, 370, 1667, 10000, 140354], 'Chile': [4, 62, 344, 1587, 10000, 139608], 'Bulgaria': [6, 51, 229, 922, 10000, 135929], 'Switzerland': [0, 1, 30, 344, 10000, 131633]}
starting_elo_based_summary[1970] = {'Brazil': [1308, 2511, 4047, 6106, 10000, 216837], 'Germany': [1449, 2740, 4579, 9213, 10000, 236818], 'England': [2642, 3881, 5707, 7810, 10000, 260543], 'Italy': [1729, 3141, 6107, 8718, 10000, 254003], 'Russia': [1262, 2572, 5398, 9059, 10000, 240666], 'Czech Republic': [768, 1636, 2862, 4900, 10000, 191202], 'Uruguay': [224, 803, 2420, 5186, 10000, 177991], 'Sweden': [212, 752, 2303, 4981, 10000, 175766], 'Mexico': [109, 520, 1944, 5590, 10000, 172726], 'Romania': [31, 169, 416, 1184, 10000, 139445], 'Peru': [25, 123, 457, 2741, 10000, 145691], 'Bulgaria': [165, 669, 1656, 6055, 10000, 173521], 'Belgium': [70, 374, 1491, 4796, 10000, 164438], 'Israel': [2, 46, 269, 1115, 10000, 136944], 'Morocco': [4, 54, 276, 1991, 10000, 140590], 'El Salvador': [0, 9, 68, 555, 10000, 132819]}
final_elo_based_summary[1970] = {'Brazil': [4698, 6120, 7660, 9246, 10000, 317580], 'Germany': [1636, 3418, 5188, 9615, 10000, 248974], 'England': [1158, 2801, 4391, 7175, 10000, 223671], 'Italy': [1290, 2862, 6182, 8763, 10000, 248578], 'Russia': [620, 1732, 5058, 8988, 10000, 226050], 'Czech Republic': [86, 356, 848, 2145, 10000, 148550], 'Uruguay': [151, 640, 2456, 5231, 10000, 176898], 'Sweden': [134, 603, 2370, 4840, 10000, 174181], 'Mexico': [113, 606, 2487, 6687, 10000, 182340], 'Romania': [30, 173, 486, 1434, 10000, 141087], 'Peru': [32, 255, 705, 4617, 10000, 156051], 'Bulgaria': [24, 181, 599, 4124, 10000, 152731], 'Belgium': [21, 181, 1105, 3953, 10000, 156261], 'Israel': [4, 40, 310, 1166, 10000, 137508], 'Morocco': [3, 32, 123, 1644, 10000, 137786], 'El Salvador': [0, 0, 32, 372, 10000, 131754]}
starting_elo_based_summary[1974] = {'Germany': [5374, 7463, 9191, 9794, 10000, 347245], 'Poland': [374, 1242, 3604, 6900, 10000, 199358], 'Netherlands': [66, 276, 1230, 5461, 10000, 164522], 'Brazil': [2519, 5086, 7791, 9314, 10000, 289096], 'Italy': [669, 1854, 4839, 7860, 10000, 220832], 'East Germany': [357, 1421, 3592, 7086, 10000, 200295], 'Sweden': [123, 513, 1952, 6707, 10000, 177599], 'Serbia': [290, 1011, 3009, 6256, 10000, 189417], 'Scotland': [40, 173, 717, 2657, 10000, 148073], 'Argentina': [125, 484, 1887, 4870, 10000, 169650], 'Chile': [11, 115, 439, 2208, 10000, 143211], 'Bulgaria': [41, 217, 957, 4761, 10000, 158693], 'Uruguay': [3, 59, 344, 3071, 10000, 145497], 'DR Congo': [6, 66, 338, 1773, 10000, 140356], 'Australia': [2, 19, 100, 912, 10000, 134589], 'Haiti': [0, 1, 10, 370, 10000, 131567]}
final_elo_based_summary[1974] = {'Germany': [5513, 7211, 9139, 9854, 10000, 347793], 'Poland': [1578, 3775, 6592, 9056, 10000, 260213], 'Netherlands': [1013, 2178, 5627, 9197, 10000, 239090], 'Brazil': [904, 2599, 5344, 8553, 10000, 233827], 'Italy': [330, 1190, 3317, 7398, 10000, 197844], 'East Germany': [210, 1032, 2656, 6731, 10000, 187004], 'Sweden': [177, 761, 2497, 6920, 10000, 184747], 'Serbia': [117, 456, 1642, 5369, 10000, 169030], 'Scotland': [110, 392, 1454, 5072, 10000, 165960], 'Argentina': [26, 162, 697, 3344, 10000, 150410], 'Chile': [16, 111, 403, 2449, 10000, 143883], 'Bulgaria': [5, 85, 380, 2468, 10000, 143511], 'Uruguay': [1, 29, 119, 1415, 10000, 136799], 'DR Congo': [0, 10, 66, 1006, 10000, 134616], 'Australia': [0, 9, 64, 966, 10000, 134439], 'Haiti': [0, 0, 3, 202, 10000, 130834]}
starting_elo_based_summary[1978] = {'Brazil': [2083, 3748, 6374, 8728, 10000, 262864], 'Argentina': [1092, 2342, 4591, 7607, 10000, 224324], 'Netherlands': [2381, 3955, 6709, 9283, 10000, 272753], 'Germany': [2508, 4187, 6973, 9418, 10000, 278201], 'Italy': [309, 834, 2128, 5120, 10000, 176496], 'Spain': [461, 1233, 2856, 6268, 10000, 190971], 'Poland': [397, 1126, 2872, 7113, 10000, 193102], 'Scotland': [423, 1251, 3071, 6901, 10000, 194979], 'Austria': [68, 258, 780, 3219, 10000, 151560], 'France': [91, 333, 1030, 3378, 10000, 154975], 'Peru': [7, 44, 213, 1629, 10000, 138582], 'Hungary': [122, 386, 1207, 3895, 10000, 159212], 'Sweden': [17, 80, 292, 1785, 10000, 140182], 'Tunisia': [0, 5, 51, 811, 10000, 133687], 'Iran': [17, 82, 373, 2187, 10000, 142478], 'Mexico': [24, 136, 480, 2658, 10000, 145634]}
final_elo_based_summary[1978] = {'Brazil': [3074, 4664, 7430, 9208, 10000, 290332], 'Argentina': [2859, 4620, 7393, 9081, 10000, 286758], 'Netherlands': [1403, 3068, 5815, 9065, 10000, 248048], 'Germany': [1010, 2395, 5004, 9034, 10000, 232959], 'Italy': [661, 1759, 3802, 6619, 10000, 205463], 'Spain': [302, 960, 2434, 5615, 10000, 181458], 'Poland': [253, 867, 2628, 7674, 10000, 190399], 'Scotland': [207, 659, 2007, 6366, 10000, 178249], 'Austria': [99, 426, 1286, 3941, 10000, 159898], 'France': [76, 329, 966, 2951, 10000, 152457], 'Peru': [22, 92, 477, 2971, 10000, 146572], 'Hungary': [19, 74, 239, 1349, 10000, 137986], 'Sweden': [7, 30, 148, 1236, 10000, 136404], 'Tunisia': [2, 30, 163, 1971, 10000, 139414], 'Iran': [5, 17, 125, 1598, 10000, 137577], 'Mexico': [1, 10, 83, 1321, 10000, 136026]}
starting_elo_based_summary[1982] = {'Brazil': [2269, 3775, 5741, 8444, 9839, 257757], 'Italy': [169, 549, 1495, 3969, 8977, 159333], 'Germany': [2790, 4528, 6363, 9098, 9916, 275542], 'England': [502, 1138, 2473, 5869, 9414, 183978], 'Russia': [888, 1785, 3666, 6292, 9384, 203695], 'Poland': [506, 1149, 2621, 6181, 9530, 187145], 'Argentina': [801, 1688, 3372, 7138, 9702, 204190], 'Spain': [794, 1709, 3545, 7180, 9741, 206049], 'France': [126, 381, 1130, 3025, 8165, 147785], 'Serbia': [297, 827, 2060, 4867, 9279, 171803], 'Austria': [296, 828, 2355, 4355, 8689, 169926], 'Belgium': [263, 721, 1785, 4475, 9036, 166043], 'Scotland': [45, 141, 524, 1246, 6232, 125647], 'Czech Republic': [184, 490, 1488, 3718, 8633, 156742], 'Hungary': [28, 98, 417, 1243, 6546, 125490], 'Northern Ireland': [6, 34, 169, 625, 5397, 115750], 'Peru': [20, 91, 344, 1080, 6438, 123677], 'Algeria': [0, 4, 34, 97, 1884, 98228], 'Chile': [16, 58, 348, 791, 5121, 117076], 'Cameroon': [0, 1, 19, 114, 2328, 99927], 'Honduras': [0, 0, 12, 55, 1778, 97432], 'Kuwait': [0, 3, 23, 73, 1689, 97257], 'New Zealand': [0, 1, 7, 16, 755, 93145], 'El Salvador': [0, 1, 9, 49, 1527, 96383]}
final_elo_based_summary[1982] = {'Brazil': [2351, 3556, 5505, 8524, 9875, 256418], 'Italy': [1599, 2594, 4694, 8155, 9815, 234376], 'Germany': [1524, 3098, 4906, 8292, 9778, 237238], 'England': [1290, 2767, 4467, 7738, 9744, 226759], 'Russia': [731, 1360, 3080, 5801, 9377, 192946], 'Poland': [687, 1295, 3047, 6110, 9396, 193127], 'Argentina': [265, 636, 1701, 5433, 9553, 170956], 'Spain': [416, 1142, 2548, 5814, 9424, 183158], 'France': [376, 1026, 2432, 4678, 8870, 174386], 'Serbia': [205, 650, 1740, 4318, 8985, 163658], 'Austria': [246, 809, 2148, 4219, 8552, 166143], 'Belgium': [102, 285, 901, 3124, 8930, 148561], 'Scotland': [41, 139, 524, 1314, 6643, 127513], 'Czech Republic': [101, 352, 1034, 2242, 7353, 140032], 'Hungary': [36, 104, 386, 1580, 7848, 131966], 'Northern Ireland': [17, 80, 297, 1083, 6352, 122812], 'Peru': [2, 24, 121, 358, 3889, 108144], 'Algeria': [6, 42, 227, 522, 4205, 111100], 'Chile': [3, 26, 154, 389, 3567, 107272], 'Cameroon': [2, 7, 38, 134, 2354, 100331], 'Honduras': [0, 1, 18, 79, 2356, 99897], 'Kuwait': [0, 7, 29, 60, 1282, 95641], 'New Zealand': [0, 0, 1, 6, 552, 92242], 'El Salvador': [0, 0, 2, 27, 1300, 95324]}
starting_elo_based_summary[1986] = {'Argentina': [372, 873, 1871, 3810, 8495, 163965], 'France': [1542, 2558, 4104, 6388, 9227, 218446], 'Brazil': [612, 1266, 2480, 4937, 8910, 180242], 'Mexico': [951, 1712, 3144, 5839, 9472, 197980], 'Spain': [571, 1149, 2325, 4813, 8731, 176561], 'Germany': [710, 1359, 2456, 4495, 8077, 176509], 'England': [1472, 2368, 3935, 6230, 9665, 216516], 'Russia': [912, 1765, 3191, 5424, 8639, 193193], 'Denmark': [367, 824, 1679, 3456, 7029, 154760], 'Italy': [394, 915, 2043, 4082, 8748, 168049], 'Hungary': [474, 1050, 2217, 4241, 7676, 167414], 'Scotland': [319, 671, 1414, 2980, 6532, 147247], 'Belgium': [199, 547, 1413, 3460, 7686, 151719], 'Paraguay': [160, 443, 1186, 3165, 7433, 146631], 'Uruguay': [128, 355, 911, 2143, 5241, 130611], 'Northern Ireland': [269, 659, 1492, 3645, 7725, 154657], 'Bulgaria': [265, 634, 1493, 3286, 7894, 153738], 'Poland': [142, 398, 1104, 2882, 6997, 142576], 'Portugal': [126, 382, 1152, 2842, 6948, 142360], 'Morocco': [3, 20, 118, 544, 2284, 102426], 'Canada': [2, 14, 75, 314, 1294, 97170], 'South Korea': [2, 10, 59, 335, 1869, 99378], 'Algeria': [2, 13, 69, 309, 1503, 97917], 'Iraq': [6, 15, 69, 380, 1925, 99935]}
final_elo_based_summary[1986] = {'Argentina': [1778, 2862, 4769, 6809, 9872, 232946], 'France': [1481, 2542, 4183, 7021, 9663, 222718], 'Brazil': [1392, 2454, 4018, 6648, 9680, 218296], 'Mexico': [1014, 1965, 3770, 6644, 9731, 209701], 'Spain': [850, 1737, 3169, 5781, 9457, 196839], 'Germany': [678, 1351, 2659, 4737, 8952, 182313], 'England': [737, 1480, 3072, 5566, 9551, 192988], 'Russia': [767, 1649, 3083, 5731, 9162, 193223], 'Denmark': [485, 1139, 2272, 4408, 8505, 172529], 'Italy': [195, 622, 1571, 3543, 8461, 156798], 'Hungary': [119, 364, 1091, 2719, 6729, 140344], 'Scotland': [88, 246, 759, 1962, 5539, 128738], 'Belgium': [127, 425, 1257, 3647, 7961, 150647], 'Paraguay': [88, 327, 1036, 3187, 7666, 144865], 'Uruguay': [34, 129, 435, 1257, 4225, 116673], 'Northern Ireland': [48, 172, 558, 1774, 5537, 125358], 'Bulgaria': [30, 138, 584, 1906, 6058, 127836], 'Poland': [32, 148, 594, 2091, 6119, 129002], 'Portugal': [36, 151, 591, 2020, 6034, 128407], 'Morocco': [19, 76, 347, 1483, 5048, 119638], 'Canada': [2, 6, 53, 245, 1314, 96742], 'South Korea': [0, 8, 57, 327, 1819, 99100], 'Algeria': [0, 6, 43, 238, 1289, 96504], 'Iraq': [0, 3, 29, 256, 1628, 97795]}
starting_elo_based_summary[1990] = {'Italy': [2165, 3407, 5043, 7516, 9900, 245259], 'Germany': [1114, 2067, 3730, 6340, 9812, 210071], 'Brazil': [1085, 2036, 3793, 6422, 9645, 209890], 'England': [567, 1244, 2464, 4877, 8623, 178040], 'Netherlands': [1589, 2629, 4224, 6620, 9590, 222891], 'Spain': [442, 986, 2192, 4261, 8631, 170540], 'Serbia': [334, 859, 2044, 4596, 9224, 170957], 'Romania': [323, 782, 1839, 4275, 8843, 165878], 'Czech Republic': [182, 570, 1460, 3562, 8288, 154794], 'Ireland': [292, 749, 1747, 3789, 7640, 157811], 'Argentina': [59, 202, 737, 2291, 6737, 134128], 'Belgium': [96, 342, 1009, 2415, 6803, 138338], 'Russia': [604, 1268, 2638, 5437, 9342, 185240], 'Uruguay': [281, 656, 1614, 3449, 7946, 155972], 'Sweden': [694, 1541, 3094, 5765, 9418, 193139], 'Colombia': [93, 300, 944, 2803, 7725, 142706], 'Austria': [39, 160, 582, 2042, 6149, 128920], 'Scotland': [22, 92, 359, 1433, 4908, 119088], 'Cameroon': [3, 11, 62, 315, 2065, 100117], 'South Korea': [13, 76, 310, 1050, 4009, 113352], 'Egypt': [0, 8, 35, 218, 1116, 95666], 'Costa Rica': [2, 11, 49, 268, 1725, 98451], 'United States': [1, 4, 26, 224, 1453, 96952], 'UAE': [0, 0, 5, 32, 408, 91800]}
final_elo_based_summary[1990] = {'Italy': [3195, 4470, 6166, 8285, 9969, 275628], 'Germany': [2008, 3472, 5161, 7267, 9936, 243796], 'Brazil': [923, 1803, 3609, 6306, 9732, 205199], 'England': [753, 1610, 3140, 5643, 9156, 193114], 'Netherlands': [678, 1497, 2838, 5352, 8967, 187025], 'Spain': [430, 1012, 2427, 4359, 9095, 174892], 'Serbia': [430, 1081, 2594, 5088, 9409, 180789], 'Romania': [241, 663, 1746, 4232, 8265, 161145], 'Czech Republic': [270, 851, 1895, 4840, 8701, 167677], 'Ireland': [189, 561, 1387, 3279, 7372, 149483], 'Argentina': [193, 579, 1536, 3891, 8034, 155997], 'Belgium': [174, 524, 1456, 3145, 8094, 152052], 'Russia': [185, 535, 1490, 3831, 7921, 154679], 'Uruguay': [137, 428, 1196, 2599, 7527, 144434], 'Sweden': [100, 386, 1125, 3337, 7975, 147892], 'Colombia': [36, 174, 675, 2105, 6491, 131392], 'Austria': [24, 161, 607, 2177, 5704, 127765], 'Scotland': [16, 90, 365, 1560, 5340, 121314], 'Cameroon': [8, 47, 238, 1003, 3488, 110299], 'South Korea': [5, 19, 111, 432, 2613, 103277], 'Egypt': [2, 17, 84, 350, 1671, 98889], 'Costa Rica': [3, 20, 134, 727, 3303, 107384], 'United States': [0, 0, 19, 163, 910, 94446], 'UAE': [0, 0, 1, 29, 327, 91432]}
starting_elo_based_summary[1994] = {'Brazil': [1112, 2018, 3451, 5997, 9099, 203088], 'Italy': [1246, 2156, 3542, 6035, 8878, 205484], 'Germany': [1721, 2891, 4417, 6755, 9724, 228349], 'Sweden': [556, 1152, 2428, 4888, 8314, 175972], 'Netherlands': [1445, 2508, 3971, 6165, 9782, 217240], 'Spain': [452, 1080, 2401, 4709, 8761, 175212], 'Romania': [220, 588, 1434, 3288, 7089, 149324], 'Colombia': [915, 1744, 3346, 5730, 9016, 197276], 'Mexico': [196, 488, 1233, 2866, 5974, 140668], 'Norway': [178, 463, 1175, 2828, 5927, 139521], 'Argentina': [642, 1388, 2811, 5384, 9329, 187486], 'Russia': [295, 712, 1735, 3850, 7602, 157718], 'Ireland': [243, 622, 1366, 3076, 6263, 144994], 'Belgium': [201, 550, 1565, 3461, 8286, 155502], 'Switzerland': [363, 847, 2024, 4102, 7972, 164149], 'Bulgaria': [77, 258, 796, 2365, 6828, 135718], 'Nigeria': [56, 180, 592, 1933, 6185, 129058], 'United States': [13, 51, 232, 905, 3111, 108431], 'Saudi Arabia': [2, 25, 140, 682, 3227, 106947], 'South Korea': [8, 40, 217, 863, 3194, 108314], 'Bolivia': [25, 94, 373, 1219, 4130, 115310], 'Cameroon': [9, 30, 164, 636, 2301, 103366], 'Morocco': [9, 57, 305, 1142, 4501, 115517], 'Greece': [16, 58, 282, 1121, 4507, 115356]}
final_elo_based_summary[1994] = {'Brazil': [2373, 3627, 5319, 7551, 9705, 250555], 'Italy': [1741, 2894, 4251, 6875, 9357, 226106], 'Germany': [1202, 2330, 3902, 6423, 9655, 213430], 'Sweden': [980, 1881, 3717, 6111, 9080, 203829], 'Netherlands': [848, 1651, 3022, 5624, 9718, 195573], 'Spain': [662, 1425, 3036, 5508, 9209, 189927], 'Romania': [406, 958, 2208, 4517, 8413, 170266], 'Colombia': [380, 957, 2214, 4446, 8390, 169593], 'Mexico': [195, 523, 1241, 3103, 6188, 142677], 'Norway': [169, 483, 1155, 2983, 6012, 140199], 'Argentina': [237, 699, 1750, 4080, 8871, 163091], 'Russia': [154, 457, 1272, 2931, 6528, 142813], 'Ireland': [108, 315, 904, 2421, 5232, 131185], 'Belgium': [130, 412, 1300, 3160, 8383, 150924], 'Switzerland': [130, 382, 1112, 2779, 6608, 140524], 'Bulgaria': [146, 434, 1210, 3215, 8335, 150350], 'Nigeria': [87, 306, 992, 2777, 7764, 143138], 'United States': [16, 80, 349, 1112, 3799, 113170], 'Saudi Arabia': [17, 71, 360, 1319, 5069, 119129], 'South Korea': [11, 45, 223, 939, 3590, 110331], 'Bolivia': [4, 38, 231, 895, 3455, 109584], 'Cameroon': [0, 14, 90, 348, 1400, 97806], 'Morocco': [2, 12, 100, 569, 2912, 104836], 'Greece': [2, 6, 42, 314, 2327, 100964]}
starting_elo_based_summary[1998] = {'France': [2206, 3603, 5381, 7689, 9770, 249771], 'Brazil': [1912, 3226, 4774, 7579, 9420, 237230], 'Italy': [510, 1141, 2283, 5175, 9244, 178933], 'Germany': [1455, 2552, 4599, 6767, 9267, 223784], 'Croatia': [477, 1129, 2712, 5332, 8689, 180757], 'Spain': [1123, 2110, 3429, 6189, 9396, 205310], 'Netherlands': [407, 941, 2181, 3920, 8050, 166181], 'England': [520, 1177, 2677, 5312, 8745, 181373], 'Serbia': [506, 1200, 2857, 4918, 8026, 178262], 'Argentina': [194, 506, 1536, 3672, 7376, 152168], 'Norway': [169, 516, 1236, 3360, 6314, 143816], 'Denmark': [174, 510, 1243, 3262, 7626, 148664], 'Romania': [123, 431, 1333, 3344, 7018, 146451], 'Mexico': [56, 197, 686, 1632, 5003, 124037], 'Belgium': [39, 135, 461, 1248, 4252, 117047], 'Paraguay': [7, 43, 170, 680, 3209, 107285], 'Morocco': [3, 27, 126, 566, 1722, 100369], 'Chile': [18, 108, 383, 1475, 5792, 123046], 'Colombia': [15, 53, 265, 1022, 3244, 109731], 'Bulgaria': [32, 134, 411, 1317, 5039, 119928], 'Scotland': [15, 70, 232, 948, 2544, 106440], 'South Korea': [11, 32, 217, 680, 2695, 105626], 'Nigeria': [5, 25, 104, 397, 2356, 102065], 'Austria': [3, 38, 142, 738, 3671, 109046], 'United States': [12, 41, 188, 687, 2050, 102891], 'Iran': [0, 3, 32, 148, 657, 93499], 'Japan': [6, 30, 190, 844, 2782, 106328], 'South Africa': [0, 0, 33, 211, 1287, 96270], 'Jamaica': [1, 8, 41, 265, 1153, 96064], 'Saudi Arabia': [0, 8, 33, 255, 1317, 96598], 'Tunisia': [1, 2, 25, 209, 993, 95040], 'Cameroon': [0, 4, 20, 159, 1293, 95990]}
final_elo_based_summary[1998] = {'France': [3723, 4992, 6511, 8604, 9908, 288184], 'Brazil': [1096, 2302, 3872, 6722, 8987, 210334], 'Italy': [695, 1443, 2472, 6130, 9605, 189459], 'Germany': [718, 1519, 3457, 5829, 9076, 195775], 'Croatia': [749, 1674, 3431, 6058, 9224, 197890], 'Spain': [664, 1650, 2985, 5386, 9123, 189420], 'Netherlands': [544, 1334, 2770, 4875, 8516, 180418], 'England': [411, 932, 2527, 4922, 8807, 176392], 'Serbia': [438, 1079, 2590, 4792, 8501, 175923], 'Argentina': [298, 804, 2109, 4520, 8363, 167198], 'Norway': [174, 482, 1107, 3240, 6398, 142416], 'Denmark': [165, 578, 1518, 3468, 7600, 151924], 'Romania': [119, 381, 1226, 3084, 7334, 145421], 'Mexico': [81, 229, 859, 2118, 5520, 130047], 'Belgium': [35, 134, 518, 1452, 4345, 118658], 'Paraguay': [30, 116, 380, 1199, 5202, 119752], 'Morocco': [15, 66, 251, 1070, 2987, 108840], 'Chile': [15, 80, 338, 1386, 5343, 120334], 'Colombia': [9, 43, 169, 715, 2832, 105925], 'Bulgaria': [3, 27, 131, 529, 3142, 105957], 'Scotland': [2, 13, 66, 485, 1628, 99085], 'South Korea': [3, 13, 106, 368, 1619, 98937], 'Nigeria': [3, 23, 94, 351, 2533, 102477], 'Austria': [5, 29, 164, 744, 3479, 108463], 'United States': [1, 14, 78, 350, 1403, 97748], 'Iran': [0, 10, 39, 216, 1020, 95320], 'Japan': [0, 8, 56, 291, 1334, 97002], 'South Africa': [1, 8, 52, 268, 1382, 97086], 'Jamaica': [1, 4, 43, 238, 1079, 95652], 'Saudi Arabia': [2, 7, 34, 195, 1110, 95559], 'Tunisia': [0, 4, 22, 172, 1027, 94998], 'Cameroon': [0, 2, 25, 223, 1573, 97406]}
starting_elo_based_summary[2002] = {'Brazil': [208, 521, 1329, 3935, 7748, 153267], 'Spain': [867, 1903, 3351, 6052, 9176, 199187], 'Argentina': [1177, 1947, 3563, 5058, 8149, 197269], 'England': [333, 688, 1599, 2656, 5904, 145520], 'Germany': [251, 709, 1595, 3745, 6637, 151591], 'France': [2691, 3849, 5270, 6710, 9467, 250485], 'Italy': [1294, 2530, 3992, 5702, 8502, 208716], 'Japan': [675, 1329, 2790, 5871, 8412, 185947], 'Portugal': [915, 1923, 3209, 5110, 8470, 192019], 'Ireland': [283, 760, 1661, 3731, 6674, 152866], 'Denmark': [147, 345, 1006, 2015, 5354, 131625], 'South Korea': [114, 339, 923, 2003, 5098, 129269], 'Turkey': [26, 99, 400, 1668, 4660, 119519], 'Sweden': [132, 297, 830, 1565, 4108, 122901], 'Croatia': [253, 670, 1468, 2820, 5725, 143050], 'Mexico': [89, 276, 773, 1739, 4021, 122102], 'United States': [52, 225, 664, 1480, 4137, 119831], 'Belgium': [138, 354, 1045, 3320, 5840, 139046], 'Uruguay': [53, 140, 566, 1222, 3735, 116042], 'Cameroon': [89, 277, 762, 2096, 4526, 125391], 'Senegal': [6, 20, 96, 297, 1444, 97946], 'Russia': [69, 209, 686, 2417, 4731, 126311], 'Nigeria': [17, 60, 193, 477, 1839, 101400], 'Costa Rica': [20, 87, 396, 1586, 4515, 118459], 'Poland': [8, 63, 235, 642, 2295, 104127], 'Ecuador': [9, 31, 146, 504, 1752, 100507], 'Paraguay': [15, 88, 407, 1384, 4015, 115660], 'South Africa': [4, 19, 90, 522, 2056, 101197], 'Slovenia': [37, 135, 537, 1798, 4753, 121845], 'Saudi Arabia': [14, 52, 187, 672, 2163, 103320], 'Tunisia': [1, 5, 33, 294, 1017, 95553], 'China': [13, 50, 198, 909, 3077, 108032]}
final_elo_based_summary[2002] = {'Brazil': [2318, 3457, 4942, 7359, 9530, 244307], 'Spain': [1257, 2451, 3881, 6027, 9532, 212335], 'Argentina': [815, 1433, 2706, 4743, 7504, 179133], 'England': [635, 1127, 2191, 4154, 6912, 166281], 'Germany': [948, 1972, 3442, 5646, 8363, 196376], 'France': [597, 1083, 2148, 4217, 7744, 168869], 'Italy': [581, 1314, 2404, 4496, 7655, 172454], 'Japan': [481, 953, 2173, 4292, 8394, 170029], 'Portugal': [418, 1082, 2078, 4078, 7127, 162848], 'Ireland': [424, 964, 2113, 3999, 7167, 162572], 'Denmark': [187, 418, 1073, 2562, 5860, 137302], 'South Korea': [277, 702, 1535, 3269, 6165, 147600], 'Turkey': [252, 586, 1585, 3583, 6933, 151604], 'Sweden': [114, 257, 729, 1738, 3915, 121511], 'Croatia': [141, 411, 1053, 2494, 5262, 133693], 'Mexico': [103, 320, 874, 2147, 4759, 127886], 'United States': [96, 281, 771, 1944, 4328, 124193], 'Belgium': [81, 241, 796, 2118, 6048, 131649], 'Uruguay': [39, 121, 388, 1122, 3423, 112563], 'Cameroon': [60, 187, 578, 1521, 3705, 117427], 'Senegal': [30, 102, 336, 937, 2973, 109380], 'Russia': [35, 105, 443, 1327, 4503, 118033], 'Nigeria': [13, 37, 137, 527, 1669, 100285], 'Costa Rica': [21, 74, 303, 1056, 2870, 108876], 'Poland': [18, 65, 256, 806, 2380, 105459], 'Ecuador': [18, 75, 242, 766, 2324, 104983], 'Paraguay': [24, 104, 430, 1411, 4821, 119352], 'South Africa': [10, 44, 202, 738, 3139, 107514], 'Slovenia': [4, 20, 104, 477, 2508, 102944], 'Saudi Arabia': [3, 8, 37, 181, 765, 94158], 'Tunisia': [0, 3, 31, 143, 1055, 95057], 'China': [0, 3, 19, 122, 667, 93327]}
starting_elo_based_summary[2006] = {'Italy': [562, 1158, 2215, 3963, 7393, 166802], 'France': [989, 1944, 3622, 6336, 9266, 204920], 'Brazil': [1541, 2464, 3902, 5790, 8940, 212786], 'Germany': [1212, 2136, 3636, 6000, 9163, 206762], 'Argentina': [429, 961, 2043, 3944, 6687, 159917], 'England': [959, 1813, 3393, 5722, 8849, 197805], 'Netherlands': [1089, 1949, 3389, 5650, 8304, 197469], 'Spain': [897, 1751, 3119, 6100, 9255, 197445], 'Portugal': [414, 938, 2017, 3939, 7920, 164290], 'Czech Republic': [812, 1534, 2721, 4698, 7955, 181200], 'Switzerland': [97, 280, 869, 2615, 6258, 135408], 'Sweden': [202, 521, 1336, 3053, 6565, 144875], 'Mexico': [112, 340, 928, 2405, 6146, 135154], 'Croatia': [91, 281, 756, 1760, 4582, 124267], 'Australia': [47, 152, 437, 1132, 3358, 112970], 'Ukraine': [68, 235, 744, 2392, 6095, 132209], 'United States': [88, 243, 657, 1545, 4118, 120501], 'Poland': [110, 318, 919, 2355, 5855, 133534], 'Ecuador': [9, 36, 136, 558, 2195, 102440], 'Ivory Coast': [31, 84, 290, 819, 2163, 105174], 'Paraguay': [35, 148, 471, 1421, 4009, 116868], 'Japan': [32, 118, 366, 1025, 3120, 110666], 'Iran': [87, 252, 770, 1960, 5309, 127900], 'South Korea': [18, 89, 298, 1303, 4038, 114507], 'Ghana': [0, 1, 12, 87, 534, 92591], 'Serbia': [41, 127, 407, 1189, 2846, 110719], 'Tunisia': [11, 56, 252, 1013, 3526, 110692], 'Costa Rica': [16, 59, 234, 807, 2787, 106815], 'Angola': [0, 3, 22, 94, 625, 93077], 'Saudi Arabia': [0, 7, 26, 195, 1124, 95529], 'Trinidad and Tobago': [1, 2, 9, 84, 577, 92740], 'Togo': [0, 0, 4, 46, 438, 91968]}
final_elo_based_summary[2006] = {'Italy': [1590, 2555, 4187, 6839, 9385, 222379], 'France': [1664, 2798, 4547, 7644, 9651, 231782], 'Brazil': [1471, 2722, 4280, 6419, 9317, 220328], 'Germany': [1390, 2399, 4516, 6919, 9588, 223523], 'Argentina': [812, 1618, 3265, 5868, 8461, 193076], 'England': [844, 1792, 3569, 6160, 9132, 200814], 'Netherlands': [668, 1379, 2909, 5442, 8188, 184291], 'Spain': [526, 1314, 2589, 5539, 9368, 184450], 'Portugal': [388, 960, 2181, 4330, 8728, 170214], 'Czech Republic': [147, 441, 1089, 2466, 6049, 137257], 'Switzerland': [126, 444, 1201, 3384, 7242, 146350], 'Sweden': [86, 331, 1041, 2593, 6528, 138007], 'Mexico': [66, 234, 768, 2165, 6581, 133438], 'Croatia': [49, 147, 460, 1327, 4373, 118027], 'Australia': [27, 110, 371, 1204, 3994, 114798], 'Ukraine': [38, 161, 541, 1995, 6790, 130937], 'United States': [17, 59, 242, 815, 2795, 106969], 'Poland': [25, 105, 440, 1480, 4578, 118759], 'Ecuador': [15, 87, 359, 1331, 4320, 116213], 'Ivory Coast': [7, 66, 243, 797, 2062, 103874], 'Paraguay': [17, 84, 345, 1173, 3835, 113538], 'Japan': [6, 33, 123, 540, 2316, 102689], 'Iran': [3, 36, 179, 827, 3622, 109490], 'South Korea': [11, 53, 196, 885, 2862, 106999], 'Ghana': [2, 27, 97, 390, 1771, 99605], 'Serbia': [3, 18, 108, 429, 1289, 97904], 'Tunisia': [2, 12, 62, 425, 2731, 103232], 'Costa Rica': [0, 7, 43, 284, 1514, 97577], 'Angola': [0, 2, 20, 142, 1069, 95016], 'Saudi Arabia': [0, 3, 13, 106, 1111, 94987], 'Trinidad and Tobago': [0, 3, 14, 60, 505, 92393], 'Togo': [0, 0, 2, 22, 245, 91084]}
starting_elo_based_summary[2010] = {'Spain': [2509, 3999, 5320, 7005, 9585, 250941], 'Netherlands': [1444, 2560, 3785, 7547, 9591, 220528], 'Brazil': [2234, 3528, 4769, 7052, 9708, 241434], 'Germany': [626, 1429, 3429, 5553, 8523, 190575], 'Argentina': [396, 1028, 2654, 5024, 8479, 176804], 'England': [1058, 2042, 4482, 6551, 9531, 216128], 'Portugal': [173, 505, 1085, 2323, 7084, 141369], 'Uruguay': [104, 362, 1223, 2830, 5437, 136658], 'Chile': [159, 461, 966, 2158, 6315, 136257], 'Mexico': [251, 693, 2031, 4193, 6938, 158541], 'Italy': [521, 1316, 2340, 5938, 9266, 183414], 'Serbia': [97, 362, 1297, 2682, 5877, 138342], 'Australia': [31, 112, 574, 1359, 3778, 116342], 'Switzerland': [9, 59, 181, 555, 2465, 104001], 'Paraguay': [36, 140, 446, 2123, 6575, 129654], 'France': [164, 484, 1503, 3321, 6006, 144636], 'Ghana': [7, 22, 149, 477, 1822, 100642], 'United States': [65, 229, 979, 2375, 6355, 135117], 'Ivory Coast': [11, 52, 164, 562, 2811, 105260], 'Japan': [3, 24, 111, 676, 2420, 103458], 'South Korea': [19, 117, 571, 1778, 4600, 121187], 'Denmark': [34, 175, 470, 2063, 5240, 124455], 'South Africa': [2, 24, 137, 534, 1619, 99900], 'Greece': [16, 84, 378, 1255, 3666, 113496], 'Slovenia': [4, 45, 258, 884, 3227, 108881], 'Honduras': [3, 19, 83, 302, 1635, 98583], 'Nigeria': [14, 61, 316, 1065, 3255, 110407], 'Slovakia': [0, 24, 101, 692, 3226, 106640], 'Cameroon': [10, 40, 160, 867, 2749, 106128], 'New Zealand': [0, 1, 9, 94, 933, 94185], 'Algeria': [0, 1, 19, 119, 887, 94185], 'North Korea': [0, 2, 10, 43, 397, 91852]}
final_elo_based_summary[2010] = {'Spain': [3058, 4603, 6293, 7558, 9749, 271909], 'Netherlands': [2002, 3612, 4846, 8304, 9774, 244858], 'Brazil': [1693, 3027, 4101, 6706, 9593, 224899], 'Germany': [1479, 2705, 5310, 7490, 9344, 234699], 'Argentina': [488, 1231, 3214, 6108, 9131, 190951], 'England': [341, 1007, 3004, 4988, 8997, 180945], 'Portugal': [137, 507, 1098, 2158, 7021, 140237], 'Uruguay': [185, 582, 2017, 4224, 7196, 158144], 'Chile': [103, 408, 848, 2047, 6020, 132712], 'Mexico': [110, 411, 1510, 3421, 6408, 145637], 'Italy': [99, 403, 1025, 4099, 8260, 151383], 'Serbia': [39, 199, 838, 1838, 4080, 122257], 'Australia': [20, 128, 614, 1485, 3580, 116348], 'Switzerland': [18, 85, 197, 706, 2935, 106853], 'Paraguay': [38, 165, 502, 2360, 6698, 131731], 'France': [20, 126, 543, 1623, 3905, 117552], 'Ghana': [21, 93, 475, 1226, 2996, 111633], 'United States': [31, 157, 796, 1931, 6173, 130339], 'Ivory Coast': [20, 76, 236, 585, 3140, 107520], 'Japan': [34, 117, 396, 2160, 4788, 122149], 'South Korea': [15, 74, 551, 1765, 4630, 120756], 'Denmark': [7, 51, 251, 1580, 3713, 113619], 'South Africa': [7, 32, 241, 870, 2491, 105738], 'Greece': [10, 54, 380, 1168, 3453, 112082], 'Slovenia': [10, 54, 282, 936, 3929, 112176], 'Honduras': [0, 15, 50, 233, 1296, 96603], 'Nigeria': [7, 41, 207, 821, 2786, 106443], 'Slovakia': [5, 22, 90, 713, 3442, 107534], 'Cameroon': [2, 9, 46, 548, 1725, 99547], 'New Zealand': [1, 5, 19, 236, 1600, 97537], 'Algeria': [0, 1, 18, 106, 901, 94181], 'North Korea': [0, 0, 2, 7, 246, 91028]}
starting_elo_based_summary[2014] = {'Germany': [1352, 2412, 5259, 7098, 8884, 228116], 'Netherlands': [340, 900, 1621, 2586, 6377, 148168], 'Brazil': [4140, 5401, 6742, 7783, 9910, 293551], 'Argentina': [813, 2013, 4075, 6551, 9365, 208497], 'Colombia': [180, 550, 1162, 4121, 7657, 151896], 'Spain': [1579, 3132, 4537, 5916, 8771, 221636], 'Chile': [94, 313, 711, 1379, 4260, 121265], 'France': [164, 501, 1649, 3900, 7169, 152895], 'Portugal': [313, 901, 2319, 4192, 6454, 160711], 'Belgium': [88, 357, 1242, 2825, 7906, 146319], 'Mexico': [28, 162, 441, 1017, 4477, 116842], 'Uruguay': [172, 550, 1183, 3830, 6425, 145854], 'England': [196, 592, 1307, 4111, 6733, 149812], 'Italy': [101, 328, 765, 3014, 5471, 133260], 'Costa Rica': [1, 9, 54, 437, 1371, 97743], 'Switzerland': [92, 314, 1121, 2887, 6057, 137984], 'United States': [62, 264, 898, 2084, 3681, 122764], 'Ecuador': [58, 250, 908, 2446, 5405, 131060], 'Greece': [44, 166, 457, 2034, 5113, 123792], 'Russia': [90, 343, 1196, 2766, 7768, 145117], 'Croatia': [32, 171, 499, 1188, 4887, 119769], 'Bosnia and Herzegovina': [24, 120, 599, 2036, 4992, 124094], 'Ivory Coast': [11, 59, 219, 1174, 3529, 111089], 'Japan': [10, 81, 268, 1279, 3701, 112681], 'Nigeria': [6, 41, 236, 1039, 3033, 108529], 'Ghana': [1, 16, 85, 336, 981, 96062], 'Algeria': [1, 5, 62, 261, 1796, 98775], 'Australia': [3, 12, 21, 62, 592, 92880], 'Iran': [3, 18, 160, 803, 2610, 105132], 'South Korea': [2, 7, 113, 438, 2530, 102871], 'Honduras': [0, 10, 78, 338, 1369, 97540], 'Cameroon': [0, 2, 13, 69, 726, 93296]}
final_elo_based_summary[2014] = {'Germany': [3899, 5395, 7356, 8812, 9805, 300231], 'Netherlands': [2050, 3553, 5413, 6770, 9003, 241299], 'Brazil': [885, 1737, 3712, 5305, 9471, 200629], 'Argentina': [1102, 2507, 4592, 7051, 9658, 221601], 'Colombia': [534, 1235, 2939, 6389, 9138, 190177], 'Spain': [286, 778, 1790, 2925, 5608, 146766], 'Chile': [209, 601, 1516, 2507, 5123, 139057], 'France': [281, 836, 1884, 5187, 8265, 167438], 'Portugal': [159, 611, 1577, 3585, 6006, 146629], 'Belgium': [148, 560, 1557, 3721, 8824, 157982], 'Mexico': [60, 274, 857, 1745, 6470, 132190], 'Uruguay': [62, 285, 840, 2793, 5672, 133105], 'England': [48, 215, 663, 2379, 5045, 126937], 'Italy': [27, 131, 526, 2066, 4621, 122181], 'Costa Rica': [27, 140, 527, 2123, 4662, 122650], 'Switzerland': [53, 215, 671, 2298, 5605, 128973], 'United States': [33, 157, 542, 1546, 3213, 114753], 'Ecuador': [42, 212, 657, 2203, 5406, 127526], 'Greece': [28, 145, 542, 2232, 5055, 124749], 'Russia': [16, 106, 451, 1502, 6601, 126902], 'Croatia': [8, 62, 274, 680, 3657, 110086], 'Bosnia and Herzegovina': [20, 95, 324, 1769, 5041, 120659], 'Ivory Coast': [6, 50, 238, 1134, 3180, 109572], 'Japan': [5, 34, 148, 884, 2627, 105504], 'Nigeria': [6, 29, 164, 979, 3381, 109049], 'Ghana': [2, 18, 57, 312, 976, 95734], 'Algeria': [0, 7, 79, 372, 2895, 103761], 'Australia': [0, 0, 9, 41, 266, 91304], 'Iran': [2, 5, 50, 393, 1920, 99715], 'South Korea': [1, 3, 20, 150, 1680, 97511], 'Honduras': [1, 3, 19, 120, 724, 93561], 'Cameroon': [0, 1, 6, 27, 402, 91769]}
starting_elo_based_summary[2018] = {'France': [640, 1340, 2885, 5121, 7924, 181298], 'Brazil': [2991, 4328, 5876, 7532, 9655, 265528], 'Belgium': [375, 949, 2059, 5428, 8618, 172901], 'Spain': [1388, 2498, 4517, 6848, 8775, 220364], 'Germany': [1654, 2919, 4600, 6465, 9429, 227003], 'Uruguay': [211, 577, 1727, 3708, 8827, 160359], 'Croatia': [89, 295, 999, 2513, 6127, 135661], 'Colombia': [301, 790, 1730, 4424, 8305, 163172], 'Portugal': [588, 1365, 2966, 5371, 7617, 181237], 'England': [431, 1091, 2184, 5524, 8723, 176209], 'Argentina': [638, 1418, 2831, 5260, 8819, 185232], 'Denmark': [78, 247, 802, 1948, 4229, 123721], 'Peru': [204, 591, 1543, 3261, 6226, 146555], 'Switzerland': [133, 450, 1108, 2284, 6007, 136388], 'Sweden': [23, 83, 283, 821, 3528, 110497], 'Mexico': [80, 256, 698, 1584, 5376, 125980], 'Russia': [37, 153, 615, 1887, 6877, 131441], 'Iran': [18, 91, 347, 1019, 2203, 106477], 'Poland': [65, 214, 653, 2392, 6125, 131446], 'Serbia': [12, 59, 220, 601, 2462, 104527], 'Senegal': [11, 55, 204, 1069, 3525, 110511], 'South Korea': [2, 18, 72, 270, 1667, 98470], 'Costa Rica': [1, 39, 136, 443, 1876, 100611], 'Morocco': [3, 29, 126, 544, 1405, 99025], 'Australia': [6, 27, 118, 510, 1621, 99723], 'Iceland': [11, 62, 332, 1034, 3416, 111074], 'Nigeria': [2, 8, 90, 353, 1638, 98776], 'Japan': [4, 13, 70, 468, 2045, 100747], 'Tunisia': [0, 11, 48, 337, 1313, 97049], 'Panama': [1, 10, 59, 358, 1346, 97376], 'Saudi Arabia': [0, 5, 26, 196, 1609, 97463], 'Egypt': [3, 9, 76, 427, 2687, 103179]}
final_elo_based_summary[2018] = {'France': [2484, 3471, 5436, 7342, 9334, 250251], 'Brazil': [2123, 3174, 5074, 7453, 9536, 242614], 'Belgium': [1418, 2411, 4217, 7374, 9634, 223169], 'Spain': [848, 1870, 3376, 5908, 8389, 195398], 'Germany': [490, 1166, 2344, 4306, 7959, 170656], 'Uruguay': [341, 851, 2073, 4916, 9411, 173467], 'Croatia': [335, 947, 2060, 3917, 8328, 165233], 'Colombia': [368, 1029, 2194, 4345, 8578, 169843], 'Portugal': [355, 862, 1855, 4228, 7087, 159558], 'England': [332, 925, 2157, 4813, 8323, 169437], 'Argentina': [171, 549, 1342, 2883, 7498, 147693], 'Denmark': [158, 491, 1160, 2466, 4837, 133359], 'Peru': [116, 410, 1045, 2385, 4788, 131012], 'Switzerland': [134, 486, 1221, 2880, 6050, 140058], 'Sweden': [77, 297, 822, 1988, 5377, 128831], 'Mexico': [40, 171, 521, 1373, 4290, 118377], 'Russia': [90, 326, 898, 2777, 8023, 143450], 'Iran': [37, 117, 401, 1415, 3160, 112731], 'Poland': [17, 114, 377, 1357, 4826, 118686], 'Serbia': [20, 78, 276, 886, 2618, 106964], 'Senegal': [13, 76, 274, 1090, 4110, 113638], 'South Korea': [13, 45, 165, 577, 2374, 103571], 'Costa Rica': [4, 37, 139, 537, 1796, 100721], 'Morocco': [1, 10, 71, 414, 1364, 97772], 'Australia': [4, 15, 73, 307, 1041, 96121], 'Iceland': [4, 17, 86, 346, 2152, 100841], 'Nigeria': [2, 11, 82, 354, 2022, 100273], 'Japan': [4, 25, 107, 491, 2486, 102965], 'Tunisia': [0, 10, 89, 363, 1325, 97544], 'Panama': [0, 1, 23, 167, 718, 93745], 'Saudi Arabia': [0, 4, 23, 169, 1354, 96296], 'Egypt': [1, 4, 19, 173, 1212, 95726]}
starting_elo_based_summary[2022] = {'Argentina': [2163, 3208, 5301, 7218, 9738, 245344], 'Brazil': [2508, 3510, 5387, 7434, 9592, 251722], 'France': [691, 1611, 3238, 5149, 8802, 189591], 'Netherlands': [899, 1638, 3382, 6888, 9276, 202820], 'Portugal': [549, 1358, 2401, 4477, 8787, 176682], 'Spain': [832, 1542, 2893, 5799, 8811, 190962], 'England': [231, 740, 1797, 4184, 7597, 158764], 'Germany': [308, 852, 1752, 3993, 7483, 158650], 'Croatia': [167, 491, 1138, 3044, 6835, 143619], 'Belgium': [590, 1379, 2505, 4857, 8529, 178699], 'Uruguay': [219, 616, 1416, 3040, 7730, 150832], 'Denmark': [399, 1083, 2453, 4160, 8295, 170875], 'Switzerland': [111, 418, 954, 2182, 5052, 130380], 'Morocco': [4, 22, 121, 582, 2221, 102392], 'Japan': [10, 48, 190, 695, 2162, 103376], 'Ecuador': [64, 253, 830, 2546, 5317, 130451], 'Serbia': [96, 372, 855, 2145, 4989, 128734], 'United States': [23, 93, 422, 1514, 4186, 117103], 'Mexico': [26, 142, 522, 1310, 4538, 118770], 'Poland': [34, 169, 614, 1463, 4676, 120977], 'South Korea': [9, 43, 178, 643, 3120, 106873], 'Iran': [18, 113, 403, 1510, 4275, 117281], 'Australia': [2, 17, 75, 291, 1564, 98157], 'Tunisia': [3, 8, 58, 243, 1339, 96880], 'Senegal': [0, 14, 104, 499, 1668, 99600], 'Costa Rica': [3, 26, 81, 416, 1544, 98672], 'Wales': [25, 89, 353, 1367, 3942, 114939], 'Canada': [8, 35, 121, 614, 2415, 103393], 'Cameroon': [0, 1, 6, 45, 367, 91707], 'Saudi Arabia': [0, 6, 30, 166, 1048, 95140], 'Ghana': [0, 0, 2, 34, 363, 91604], 'Qatar': [8, 103, 418, 1492, 3739, 115011]}
final_elo_based_summary[2022] = {'Argentina': [2173, 3271, 5140, 7513, 9789, 245457], 'Brazil': [2122, 3206, 5379, 7289, 9619, 245300], 'France': [1575, 3105, 4771, 6886, 9350, 229545], 'Netherlands': [1169, 2092, 3739, 7243, 9481, 213480], 'Portugal': [636, 1436, 2950, 5041, 8826, 185336], 'Spain': [489, 1056, 2312, 4768, 7872, 171520], 'England': [423, 1134, 2266, 5126, 8603, 174758], 'Germany': [265, 721, 1717, 3830, 6957, 154571], 'Croatia': [264, 648, 1645, 3627, 7086, 153342], 'Belgium': [241, 662, 1612, 3668, 7006, 152648], 'Uruguay': [143, 455, 1275, 2768, 7217, 144775], 'Denmark': [86, 318, 898, 2082, 5917, 132220], 'Switzerland': [87, 343, 981, 2402, 5521, 132719], 'Morocco': [55, 181, 636, 1892, 4665, 123209], 'Japan': [46, 175, 528, 1509, 3734, 116827], 'Ecuador': [55, 300, 822, 2732, 5986, 133908], 'Serbia': [36, 168, 537, 1439, 3853, 116936], 'United States': [32, 131, 463, 1766, 5122, 122473], 'Mexico': [33, 150, 497, 1263, 4742, 119340], 'Poland': [17, 127, 448, 1193, 4390, 116921], 'South Korea': [9, 43, 230, 796, 3380, 108977], 'Iran': [10, 68, 255, 1154, 3902, 112822], 'Australia': [5, 39, 136, 524, 2578, 103799], 'Tunisia': [3, 29, 120, 392, 2155, 101373], 'Senegal': [15, 54, 223, 1005, 2974, 108210], 'Costa Rica': [3, 19, 90, 405, 1437, 98247], 'Wales': [2, 22, 110, 548, 2373, 102740], 'Canada': [2, 12, 60, 301, 1243, 96762], 'Cameroon': [0, 7, 38, 201, 1007, 95181], 'Saudi Arabia': [0, 6, 30, 147, 1079, 95182], 'Ghana': [0, 0, 10, 64, 577, 92646], 'Qatar': [4, 22, 82, 426, 1559, 98776]}
# # Simulates All World Cups 10,000 times and stores data for each simulation before updating the
# # summary dictionary
# # Warning: If you try running this, you will wait 20+ hours for the final results
# for year in starting_elo_based_summary:
# starting_dict = starting_elo_based_summary[year]
# final_dict = final_elo_based_summary[year]
# start_time = time.time()
# for simulation in range(10000):
# if simulation % 10 == 0 and simulation > 0:
# end_time = time.time()
# time_so_far = (end_time - start_time) / 60
# time_when_finished = time_so_far / simulation * 10000
# print(year, simulation / 100, "% complete")
# print(time_when_finished - time_so_far, "minutes left for", year, "simulations")
# # This is a simulation based on Starting Elo Ratings
# sim = world_cup_simulation(True, year)
# standings = sim.final_standings()
# for rank, team_info in enumerate(standings):
# team_name = team_info[0]
# simulation_results = starting_dict[team_name]
# if rank < 1:
# simulation_results[0] += 1
# simulation_results[1] += 1
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 42
# elif rank < 2:
# simulation_results[1] += 1
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 30
# elif rank < 3:
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 27
# elif rank < 4:
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 25
# elif rank < 8:
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 17
# elif rank < 16:
# simulation_results[4] += 1
# simulation_results[5] += 13
# else:
# simulation_results[5] += 9
# starting_dict[team_name] = simulation_results
# starting_elo_based_summary[year] == starting_dict
#
# # This is a simulation based on Final Elo Ratings
# sim = world_cup_simulation(False, year)
# standings = sim.final_standings()
# for rank, team_info in enumerate(standings):
# team_name = team_info[0]
# simulation_results = final_dict[team_name]
# if rank < 1:
# simulation_results[0] += 1
# simulation_results[1] += 1
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 42
# elif rank < 2:
# simulation_results[1] += 1
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 30
# elif rank < 3:
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 27
# elif rank < 4:
# simulation_results[2] += 1
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 25
# elif rank < 8:
# simulation_results[3] += 1
# simulation_results[4] += 1
# simulation_results[5] += 17
# elif rank < 16:
# simulation_results[4] += 1
# simulation_results[5] += 13
# else:
# simulation_results[5] += 9
# final_dict[team_name] = simulation_results
# final_elo_based_summary[year] == final_dict
num_of_sims = 10000
start_wc_wins = []
start_wc_final_appearances = []
start_wc_semifinal_appearances = []
start_wc_quarterfinal_appearances = []
start_wc_r16_appearances = []
start_wc_prize_money = []
final_wc_wins = []
final_wc_final_appearances = []
final_wc_semifinal_appearances = []
final_wc_quarterfinal_appearances = []
final_wc_r16_appearances = []
final_wc_prize_money = []
# Stores All Simulation Data in the lists created above
for tournament, starting_tournament_sims_data in starting_elo_based_summary.items():
for team, total_data, in starting_tournament_sims_data.items():
start_wc_wins.append(total_data[0] / num_of_sims)
start_wc_final_appearances.append(total_data[1] / num_of_sims)
start_wc_semifinal_appearances.append(total_data[2] / num_of_sims)
start_wc_quarterfinal_appearances.append(total_data[3] / num_of_sims)
start_wc_r16_appearances.append(total_data[4] / num_of_sims)
start_wc_prize_money.append(total_data[5] / num_of_sims)
final_elo_rating_data = final_elo_based_summary[tournament]
for team, total_data, in final_elo_rating_data.items():
final_wc_wins.append(total_data[0] / num_of_sims)
final_wc_final_appearances.append(total_data[1] / num_of_sims)
final_wc_semifinal_appearances.append(total_data[2] / num_of_sims)
final_wc_quarterfinal_appearances.append(total_data[3] / num_of_sims)
final_wc_r16_appearances.append(total_data[4] / num_of_sims)
final_wc_prize_money.append(total_data[5] / num_of_sims)
#
# Stores data from the lists in the DataFrame
df['Win World Cup (Starting Elo)'] = start_wc_wins
df['Make Final (Starting Elo)'] = start_wc_final_appearances
df['Make Semifinals (Starting Elo)'] = start_wc_semifinal_appearances
df['Make Quarterfinals (Starting Elo)'] = start_wc_quarterfinal_appearances
df['Make Round of 16 (Starting Elo)'] = start_wc_r16_appearances
df['Average Prize Money (Starting Elo)'] = start_wc_prize_money
df['Win World Cup (Final Elo)'] = final_wc_wins
df['Make Final (Final Elo)'] = final_wc_final_appearances
df['Make Semifinals (Final Elo)'] = final_wc_semifinal_appearances
df['Make Quarterfinals (Final Elo)'] = final_wc_quarterfinal_appearances
df['Make Round of 16 (Final Elo)'] = final_wc_r16_appearances
df['Average Prize Money (Final Elo)'] = final_wc_prize_money
# Finds the Adjusted Chances of Making it to Each Round Based off a 32-team tournament. This is helpful
# for comparisons between different tournaments
start_adj_win_wc = []
start_adj_make_final = []
start_adj_make_semis = []
start_adj_make_quarters = []
start_adj_make_r16 = []
final_adj_win_wc = []
final_adj_make_final = []
final_adj_make_semis = []
final_adj_make_quarters = []
final_adj_make_r16 = []
# Tournament Percentiles will help determine how well a team performed based on its Elo Rating in the
# tournament
start_tournament_percentiles = []
final_tournament_percentiles = []
for row, row_contents in df.iterrows():
actual_prize_money = row_contents['Prize Money']
teams_in_path = row_contents['Teams (in effect)']
start_adj_win_wc.append(row_contents['Win World Cup (Starting Elo)'] * teams_in_path / 32)
start_adj_make_final.append(row_contents['Make Final (Starting Elo)'] * teams_in_path / 32)
start_adj_make_semis.append(row_contents['Make Semifinals (Starting Elo)'] * teams_in_path / 32)
start_adj_make_quarters.append(row_contents['Make Quarterfinals (Starting Elo)'] * teams_in_path / 32)
start_adj_make_r16.append(row_contents['Make Round of 16 (Starting Elo)'] * teams_in_path / 32)
final_adj_win_wc.append(row_contents['Win World Cup (Final Elo)'] * teams_in_path / 32)
final_adj_make_final.append(row_contents['Make Final (Final Elo)'] * teams_in_path / 32)
final_adj_make_semis.append(row_contents['Make Semifinals (Final Elo)'] * teams_in_path / 32)
final_adj_make_quarters.append(row_contents['Make Quarterfinals (Final Elo)'] * teams_in_path / 32)
final_adj_make_r16.append(row_contents['Make Round of 16 (Final Elo)'] * teams_in_path / 32)
if actual_prize_money == 42:
start_tournament_percentiles.append(1 - (start_adj_win_wc[row] / 2))
final_tournament_percentiles.append(1 - (final_adj_win_wc[row] / 2))
elif actual_prize_money == 30:
start_tournament_percentiles.append(1 - ((start_adj_make_final[row] + start_adj_win_wc[row]) / 2))
final_tournament_percentiles.append(1 - ((final_adj_make_final[row] + final_adj_win_wc[row]) / 2))
elif actual_prize_money > 24:
start_tournament_percentiles.append(1 - ((start_adj_make_semis[row] + start_adj_make_final[row]) / 2))
final_tournament_percentiles.append(1 - ((final_adj_make_semis[row] + final_adj_make_final[row]) / 2))
elif actual_prize_money == 17:
start_tournament_percentiles.append(1 - ((start_adj_make_quarters[row] + start_adj_make_semis[row]) / 2))
final_tournament_percentiles.append(1 - ((final_adj_make_quarters[row] + final_adj_make_semis[row]) / 2))
elif actual_prize_money == 13:
start_tournament_percentiles.append(1 - ((start_adj_make_r16[row] + start_adj_make_quarters[row]) / 2))
final_tournament_percentiles.append(1 - ((final_adj_make_r16[row] + final_adj_make_quarters[row]) / 2))
elif actual_prize_money == 9:
start_tournament_percentiles.append(1 - ((1 + start_adj_make_r16[row]) / 2))
final_tournament_percentiles.append(1 - ((1 + final_adj_make_r16[row]) / 2))
df['Adjusted Win World Cup (Starting Elo)'] = start_adj_win_wc
df['Adjusted Make Final (Starting Elo)'] = start_adj_make_final
df['Adjusted Make Semifinals (Starting Elo)'] = start_adj_make_semis
df['Adjusted Make Quarterfinals (Starting Elo)'] = start_adj_make_quarters
df['Adjusted Make Round of 16 (Starting Elo)'] = start_adj_make_r16
df['Adjusted Win World Cup (Final Elo)'] = final_adj_win_wc
df['Adjusted Make Final (Final Elo)'] = final_adj_make_final
df['Adjusted Make Semifinals (Final Elo)'] = final_adj_make_semis
df['Adjusted Make Quarterfinals (Final Elo)'] = final_adj_make_quarters
df['Adjusted Make Round of 16 (Final Elo)'] = final_adj_make_r16
df['Tournament Performance Rating (Starting Elo)'] = start_tournament_percentiles
df['Tournament Performance Rating (Final Elo)'] = final_tournament_percentiles
# updates data frame to original CSV file
df.to_csv("Historical_World_Cup_Teams.csv", index=False, header=True)