So, we are down to the 3rd place match and the final. My model likes Germany to win the 3rd place match and Spain the final. I personally want to see Germany and the Netherlands win. We’ll see.
| Round of 16 |
| 61% |
Uruguay |
2 |
1 |
Korea |
39% |
| 55% |
USA |
1 |
2 |
Ghana |
45% |
| 64% |
Netherlands |
2 |
1 |
Slovakia |
36% |
| 65% |
Brazil |
3 |
0 |
Chile |
35% |
| 59% |
Argentina |
3 |
1 |
Mexico |
41% |
| 50% |
Germany |
4 |
1 |
England |
50% |
| 53% |
Paraguay |
0.5 |
0.3 |
Japan |
47% |
| 56% |
Spain |
1 |
0 |
Portugal |
44% |
| Quarterfinals |
| 54% |
Uruguay |
1.4 |
1.2 |
Ghana |
46% |
| 45% |
Netherlands |
2 |
1 |
Brazil |
55% |
| 52% |
Argentina |
0 |
4 |
Germany |
48% |
| 32% |
Paraguay |
0 |
1 |
Spain |
68% |
| Semifinals |
| 39% |
Uruguay |
2 |
3 |
Netherlands |
61% |
| 42% |
Germany |
0 |
1 |
Spain |
58% |
| 3rd Place |
| 44% |
Uruguay |
|
|
Germany |
56% |
| Final |
| 47% |
Netherlands |
|
|
Spain |
53% |
The model continues to perform within expectations.
| Matches played |
62 |
| Cumulative expected model accuracy |
58.9% |
| Actual matches resulting in probable outcome |
40 |
| Actual model accuracy |
64.5% |


Matches for the quarterfinals have been determined. Here is how the knockout round is going so far. The matches for the semifinals, third place match, and final (all in italics) are theoretical and based on the probabilities up to the quarterfinals.
| Round of 16 |
| 61% |
Uruguay |
2 |
1 |
Korea |
39% |
| 55% |
USA |
1 |
2 |
Ghana |
45% |
| 64% |
Netherlands |
2 |
1 |
Slovakia |
36% |
| 65% |
Brazil |
3 |
0 |
Chile |
35% |
| 59% |
Argentina |
3 |
1 |
Mexico |
41% |
| 50% |
Germany |
4 |
1 |
England |
50% |
| 53% |
Paraguay |
0.5 |
0.3 |
Japan |
47% |
| 56% |
Spain |
1 |
0 |
Portugal |
44% |
| Quarterfinals |
| 54% |
Uruguay |
|
|
Ghana |
46% |
| 45% |
Netherlands |
|
|
Brazil |
55% |
| 52% |
Argentina |
|
|
Germany |
48% |
| 32% |
Paraguay |
|
|
Spain |
68% |
| Semifinals |
| 38% |
Uruguay |
|
|
Brazil |
62% |
| 43% |
Argentina |
|
|
Spain |
57% |
| 3rd Place |
| 45% |
Uruguay |
|
|
Argentina |
55% |
| Final |
| 50% |
Brazil |
|
|
Spain |
50% |
As to the model accuracy to this point — it is still doing well.
| Matches played |
56 |
| Cumulative expected model accuracy |
59.0% |
| Actual matches resulting in probable outcome |
36 |
| Actual model accuracy |
64.3% |


Let’s start with the advancements to the Round of 16. The probabilities in the model were calculated using FIFA rankings at the beginning of the tournament. I did not adjust the probabilities after each match like I do for the match predictions. It’s possible to do so, but more work than I wanted to do this year. Still, the model faired well, though performing slightly better than expected.
| Teams advanced |
16 |
| Cumulative expected model accuracy |
57.73% |
| Actual highest probability teams advancing |
11 |
| Actual model accuracy |
68.75% |


The model continues to do well with the match to match probabilities.
| Matches played |
54 |
| Cumulative expected model accuracy |
59.22% |
| Actual matches resulting in probable outcome |
34 |
| Actual model accuracy |
62.96% |


So, for the knockout round so far and the probabilities for upcoming matches which have been determined:
| 61% |
Uruguay |
2 |
1 |
Korea |
39% |
| 55% |
USA |
1 |
2 |
Ghana |
45% |
| 64% |
Netherlands |
2 |
1 |
Slovakia |
36% |
| 65% |
Brazil |
3 |
0 |
Chile |
35% |
| 59% |
Argentina |
3 |
1 |
Mexico |
41% |
| 50% |
Germany |
4 |
1 |
England |
50% |
| 53% |
Paraguay |
|
|
Japan |
47% |
| 56% |
Spain |
|
|
Portugal |
44% |
| 54% |
Uruguay |
|
|
Ghana |
46% |
| 45% |
Netherlands |
|
|
Brazil |
55% |
| 52% |
Argentina |
|
|
Germany |
48% |
Eight teams have advanced. How well did my model predict those teams? Within expectations. Here is the analysis.
| Teams advanced |
8 |
| Cumulative expected model accuracy |
54.72% |
| Actual highest probability teams advancing |
5 |
| Actual model accuracy |
62.50% |


As for the match to match probabilities:
| Matches played |
40 |
| Cumulative expected model accuracy |
58.82% |
| Actual matches resulting in probable outcome |
25.5 |
| Actual model accuracy |
63.75% |


And here is the results table with the probabilites for upcoming fixtures, including Round of 16 matchups that have already been determined.
| Match |
| 35% |
South Africa |
1 |
1 |
Mexico |
65% |
| 46% |
Uruguay |
0 |
0 |
France |
54% |
| 54% |
Argentina |
1 |
0 |
Nigeria |
46% |
| 40% |
Korea |
2 |
0 |
Greece |
60% |
| 53% |
England |
1 |
1 |
USA |
47% |
| 49% |
Algeria |
0 |
1 |
Slovenia |
51% |
| 55% |
Germany |
4 |
0 |
Australia |
45% |
| 53% |
Serbia |
0 |
1 |
Ghana |
47% |
| 62% |
Netherlands |
2 |
0 |
Denmark |
38% |
| 42% |
Japan |
1 |
0 |
Cameroon |
58% |
| 59% |
Italy |
1 |
1 |
Paraguay |
41% |
| 35% |
New Zealand |
1 |
1 |
Slovakia |
65% |
| 41% |
Ivory Coast |
0 |
0 |
Portugal |
59% |
| 85% |
Brazil |
2 |
1 |
N Korea |
15% |
| 45% |
Honduras |
0 |
1 |
Chile |
55% |
| 65% |
Spain |
0 |
1 |
Switzerland |
35% |
| 36% |
South Africa |
0 |
3 |
Uruguay |
64% |
| 54% |
France |
0 |
2 |
Mexico |
46% |
| 50% |
Greece |
2 |
1 |
Nigeria |
50% |
| 63% |
Argentina |
4 |
1 |
Korea |
37% |
| 48% |
Slovenia |
2 |
2 |
USA |
52% |
| 58% |
England |
0 |
0 |
Algeria |
42% |
| 55% |
Germany |
0 |
1 |
Serbia |
45% |
| 51% |
Ghana |
1 |
1 |
Australia |
49% |
| 64% |
Netherlands |
1 |
0 |
Japan |
36% |
| 55% |
Cameroon |
1 |
2 |
Denmark |
45% |
| 48% |
Slovakia |
0 |
2 |
Paraguay |
52% |
| 74% |
Italy |
1 |
1 |
New Zealand |
26% |
| 65% |
Brazil |
3 |
1 |
Ivory Coast |
35% |
| 82% |
Portugal |
7 |
0 |
N Korea |
18% |
| 50% |
Chile |
1 |
0 |
Switzerland |
50% |
| 68% |
Spain |
2 |
0 |
Honduras |
32% |
| 50% |
Mexico |
0 |
1 |
Uruguay |
50% |
| 67% |
France |
1 |
2 |
South Africa |
33% |
| 57% |
Nigeria |
2 |
2 |
Korea |
43% |
| 45% |
Greece |
0 |
2 |
Argentina |
55% |
| 46% |
Slovenia |
0 |
1 |
England |
54% |
| 55% |
USA |
1 |
0 |
Algeria |
45% |
| 46% |
Ghana |
0 |
1 |
Germany |
54% |
| 47% |
Australia |
2 |
1 |
Serbia |
53% |
| 53% |
Denmark |
|
|
Japan |
47% |
| 39% |
Cameroon |
|
|
Netherlands |
61% |
| 39% |
Slovakia |
|
|
Italy |
61% |
| 67% |
Paraguay |
|
|
New Zealand |
33% |
| 43% |
Portugal |
|
|
Brazil |
57% |
| 24% |
N Korea |
|
|
Ivory Coast |
76% |
| 39% |
Chile |
|
|
Spain |
61% |
| 56% |
Switzerland |
|
|
Honduras |
44% |
| 61% |
Uruguay |
|
|
Korea |
39% |
| 55% |
USA |
|
|
Ghana |
45% |
| 59% |
Argentina |
|
|
Mexico |
41% |
| 50% |
Germany |
|
|
England |
50% |
Now that all teams have played two matches, how is the revised model holding up? Pretty well.
| Matches played |
32 |
| Cummulative expected model accuracy |
59.60% |
| Actual matches resulting in probable outcome |
20 |
| Actual model accuracy |
62.50% |


Here is the full table of group play fixtures, with probabilities and scores.
| |
Match |
|
| 35% |
South Africa |
1 |
1 |
Mexico |
65% |
| 46% |
Uruguay |
0 |
0 |
France |
54% |
| 54% |
Argentina |
1 |
0 |
Nigeria |
46% |
| 40% |
Korea |
2 |
0 |
Greece |
60% |
| 53% |
England |
1 |
1 |
USA |
47% |
| 49% |
Algeria |
0 |
1 |
Slovenia |
51% |
| 55% |
Germany |
4 |
0 |
Australia |
45% |
| 53% |
Serbia |
0 |
1 |
Ghana |
47% |
| 62% |
Netherlands |
2 |
0 |
Denmark |
38% |
| 42% |
Japan |
1 |
0 |
Cameroon |
58% |
| 59% |
Italy |
1 |
1 |
Paraguay |
41% |
| 35% |
New Zealand |
1 |
1 |
Slovakia |
65% |
| 41% |
Ivory Coast |
0 |
0 |
Portugal |
59% |
| 85% |
Brazil |
2 |
1 |
N Korea |
15% |
| 45% |
Honduras |
0 |
1 |
Chile |
55% |
| 65% |
Spain |
0 |
1 |
Switzerland |
35% |
| 36% |
South Africa |
0 |
3 |
Uruguay |
64% |
| 54% |
France |
0 |
2 |
Mexico |
46% |
| 50% |
Greece |
2 |
1 |
Nigeria |
50% |
| 63% |
Argentina |
4 |
1 |
Korea |
37% |
| 48% |
Slovenia |
2 |
2 |
USA |
52% |
| 58% |
England |
0 |
0 |
Algeria |
42% |
| 55% |
Germany |
0 |
1 |
Serbia |
45% |
| 51% |
Ghana |
1 |
1 |
Australia |
49% |
| 64% |
Netherlands |
1 |
0 |
Japan |
36% |
| 55% |
Cameroon |
1 |
2 |
Denmark |
45% |
| 48% |
Slovakia |
0 |
2 |
Paraguay |
52% |
| 74% |
Italy |
1 |
1 |
New Zealand |
26% |
| 65% |
Brazil |
3 |
1 |
Ivory Coast |
35% |
| 82% |
Portugal |
7 |
0 |
N Korea |
18% |
| 50% |
Chile |
1 |
0 |
Switzerland |
50% |
| 68% |
Spain |
2 |
0 |
Honduras |
32% |
| 50% |
Mexico |
|
|
Uruguay |
50% |
| 67% |
France |
|
|
South Africa |
33% |
| 57% |
Nigeria |
|
|
Korea |
43% |
| 45% |
Greece |
|
|
Argentina |
55% |
| 46% |
Slovenia |
|
|
England |
54% |
| 55% |
USA |
|
|
Algeria |
45% |
| 46% |
Ghana |
|
|
Germany |
54% |
| 47% |
Australia |
|
|
Serbia |
53% |
| 53% |
Denmark |
|
|
Japan |
47% |
| 39% |
Cameroon |
|
|
Netherlands |
61% |
| 39% |
Slovakia |
|
|
Italy |
61% |
| 67% |
Paraguay |
|
|
New Zealand |
33% |
| 43% |
Portugal |
|
|
Brazil |
57% |
| 24% |
N Korea |
|
|
Ivory Coast |
76% |
| 39% |
Chile |
|
|
Spain |
61% |
| 56% |
Switzerland |
|
|
Honduras |
44% |
After the first twelve matches completed, I revised my methodology for probabilites. The old method was:
- Start with the FIFA ranking points
- Add my modifier based on injuries, regional adder (+50 points for African teams), and my personal assessment of momentum
- Calculate a probability factor as 10^(points/400)
The tendancy of this method was to overrate the good teams. I modified step 3 to be closer to what I used in the 2006 World Cup:
- Start with the FIFA ranking points
- Add my modifier based on injuries, regional adder (+50 points for African teams), and my personal assessment of momentum
- Use the points as the initial probability factor
Since this World Cup I am also recalculating the probabilities after each match, I needed to modify how to get the probability factor for each subsequent match. I use Elo ranking to do this. (See Wikipedia for a good article on Elo ranking.) Following the notation in the Wiki article, I use the FIFA points as the team’s initial Q. I back-calculate R. From there I recalculate R after each match then forward-calculate the new Q. Simple, right?
Well, here is how the new method looks diagnostically:
| Matches played |
23 |
| Cummulative expected model accuracy |
58.58% |
| Actual matches resulting in probable outcome |
13 |
| Actual model accuracy |
56.52% |


And now the prediction table, with current results added.
| Match |
| South Africa |
35% |
1 |
1 |
65% |
Mexico |
| Uruguay |
46% |
0 |
0 |
54% |
France |
| Argentina |
54% |
1 |
0 |
46% |
Nigeria |
| Korea |
40% |
2 |
0 |
60% |
Greece |
| England |
53% |
1 |
1 |
47% |
USA |
| Algeria |
49% |
0 |
1 |
51% |
Slovenia |
| Germany |
55% |
4 |
0 |
45% |
Australia |
| Serbia |
53% |
0 |
1 |
47% |
Ghana |
| Netherlands |
62% |
2 |
0 |
38% |
Denmark |
| Japan |
42% |
1 |
0 |
58% |
Cameroon |
| Italy |
59% |
1 |
1 |
41% |
Paraguay |
| New Zealand |
35% |
1 |
1 |
65% |
Slovakia |
| Ivory Coast |
41% |
0 |
0 |
59% |
Portugal |
| Brazil |
85% |
2 |
1 |
15% |
N Korea |
| Honduras |
45% |
0 |
1 |
55% |
Chile |
| Spain |
65% |
0 |
1 |
35% |
Switzerland |
| South Africa |
36% |
0 |
3 |
64% |
Uruguay |
| France |
54% |
0 |
2 |
46% |
Mexico |
| Greece |
50% |
2 |
1 |
50% |
Nigeria |
| Argentina |
63% |
4 |
1 |
37% |
Korea |
| Slovenia |
48% |
2 |
2 |
52% |
USA |
| England |
58% |
0 |
0 |
42% |
Algeria |
| Germany |
55% |
0 |
1 |
45% |
Serbia |
| Ghana |
51% |
|
|
49% |
Australia |
| Netherlands |
64% |
|
|
36% |
Japan |
| Cameroon |
55% |
|
|
45% |
Denmark |
| Slovakia |
48% |
|
|
52% |
Paraguay |
| Italy |
74% |
|
|
26% |
New Zealand |
| Brazil |
65% |
|
|
35% |
Ivory Coast |
| Portugal |
82% |
|
|
18% |
N Korea |
| Chile |
50% |
|
|
50% |
Switzerland |
| Spain |
68% |
|
|
32% |
Honduras |
| Mexico |
50% |
|
|
50% |
Uruguay |
| France |
67% |
|
|
33% |
South Africa |
| Nigeria |
57% |
|
|
43% |
Korea |
| Greece |
45% |
|
|
55% |
Argentina |
| Slovenia |
46% |
|
|
54% |
England |
| USA |
55% |
|
|
45% |
Algeria |
| Ghana |
45% |
|
|
55% |
Germany |
| Australia |
49% |
|
|
51% |
Serbia |
| Denmark |
51% |
|
|
49% |
Japan |
| Cameroon |
41% |
|
|
59% |
Netherlands |
| Slovakia |
39% |
|
|
61% |
Italy |
| Paraguay |
67% |
|
|
33% |
New Zealand |
| Portugal |
43% |
|
|
57% |
Brazil |
| N Korea |
24% |
|
|
76% |
Ivory Coast |
| Chile |
38% |
|
|
62% |
Spain |
| Switzerland |
57% |
|
|
43% |
Honduras |
With each team having completed their first match, it is a good time to check in on the accuracy of my modelled predictions. As you can see below, the model underperformed. This was driven largely by upsets against the biggest favorites.
| Matches played |
16 |
| Cummulative expected model accuracy |
80.50% |
| Actual matches resulting in probable outcome |
9 |
| Actual model accuracy |
56.25% |
This chart shows in blue the distribution of possible outcomes assuming the model is correct. The red bar represents the actual model performance. Notice that it is just barely in distribution. Basically, at predicting a winner, so far the model is just a little better than flipping a coin.

As this model fit shows, the model underperformed primarily at the high end, meaning the biggest favorites ended up being the biggest upsets. Greece, Camaroon, and Spain all lost and Mexico, Italy, Slovakia, and Portugal all tied. It’s like my brother, Daniel, says: “Anything is possible at the World Cup.”

Here are updated predictions for the remainder of group play, with the results so far.
| Match |
| South Africa |
1 |
1 |
Mexico |
| Uruguay |
0 |
0 |
France |
| Argentina |
1 |
0 |
Nigeria |
| Korea |
2 |
0 |
Greece |
| England |
1 |
1 |
USA |
| Algeria |
0 |
1 |
Slovenia |
| Germany |
4 |
0 |
Australia |
| Serbia |
0 |
1 |
Ghana |
| Netherlands |
2 |
0 |
Denmark |
| Japan |
1 |
0 |
Cameroon |
| Italy |
1 |
1 |
Paraguay |
| New Zealand |
1 |
1 |
Slovakia |
| Ivory Coast |
0 |
0 |
Portugal |
| Brazil |
2 |
1 |
N Korea |
| Honduras |
0 |
1 |
Chile |
| Spain |
0 |
1 |
Switzerland |
| South Africa |
9% |
91% |
Uruguay |
| France |
72% |
28% |
Mexico |
| Greece |
49% |
51% |
Nigeria |
| Argentina |
91% |
9% |
Korea |
| Slovenia |
38% |
62% |
USA |
| England |
83% |
17% |
Algeria |
| Germany |
74% |
26% |
Serbia |
| Ghana |
53% |
47% |
Australia |
| Netherlands |
95% |
5% |
Japan |
| Cameroon |
67% |
33% |
Denmark |
| Slovakia |
37% |
63% |
Paraguay |
| Italy |
98% |
2% |
New Zealand |
| Brazil |
98% |
2% |
Ivory Coast |
| Portugal |
100% |
0% |
N Korea |
| Chile |
47% |
53% |
Switzerland |
| Spain |
99% |
1% |
Honduras |
| Mexico |
44% |
56% |
Uruguay |
| France |
95% |
5% |
South Africa |
| Nigeria |
79% |
21% |
Korea |
| Greece |
25% |
75% |
Argentina |
| Slovenia |
26% |
74% |
England |
| USA |
74% |
26% |
Algeria |
| Ghana |
25% |
75% |
Germany |
| Australia |
45% |
55% |
Serbia |
| Denmark |
54% |
46% |
Japan |
| Cameroon |
12% |
88% |
Netherlands |
| Slovakia |
9% |
91% |
Italy |
| Paraguay |
91% |
9% |
New Zealand |
| Portugal |
10% |
90% |
Brazil |
| N Korea |
3% |
97% |
Ivory Coast |
| Chile |
3% |
97% |
Spain |
| Switzerland |
77% |
23% |
Honduras |
Here are my World Cup predictions for the first round. Thanks to Avi for updates on injuries. Updates forthcoming as the tournament progresses.
| Group |
Match |
| A |
South Africa |
9% |
91% |
Mexico |
| A |
Uruguay |
30% |
70% |
France |
| B |
Argentina |
69% |
31% |
Nigeria |
| B |
Korea |
13% |
87% |
Greece |
| C |
England |
65% |
35% |
USA |
| C |
Algeria |
44% |
56% |
Slovenia |
| D |
Germany |
74% |
26% |
Australia |
| D |
Serbia |
64% |
36% |
Ghana |
| E |
Netherlands |
94% |
6% |
Denmark |
| E |
Japan |
19% |
81% |
Cameroon |
| F |
Italy |
89% |
11% |
Paraguay |
| F |
New Zealand |
11% |
89% |
Slovakia |
| G |
Ivory Coast |
10% |
90% |
Portugal |
| G |
Brazil |
100% |
0% |
N Korea |
| H |
Honduras |
29% |
71% |
Chile |
| H |
Spain |
98% |
2% |
Switzerland |
| A |
South Africa |
9% |
91% |
Uruguay |
| A |
France |
70% |
30% |
Mexico |
| B |
Greece |
54% |
46% |
Nigeria |
| B |
Argentina |
93% |
7% |
Korea |
| C |
Slovenia |
35% |
65% |
USA |
| C |
England |
81% |
19% |
Algeria |
| D |
Germany |
67% |
33% |
Serbia |
| D |
Ghana |
45% |
55% |
Australia |
| E |
Netherlands |
96% |
4% |
Japan |
| E |
Cameroon |
73% |
27% |
Denmark |
| F |
Slovakia |
44% |
56% |
Paraguay |
| F |
Italy |
99% |
1% |
New Zealand |
| G |
Brazil |
99% |
1% |
Ivory Coast |
| G |
Portugal |
100% |
0% |
N Korea |
| H |
Chile |
53% |
47% |
Switzerland |
| H |
Spain |
99% |
1% |
Honduras |
| A |
Mexico |
49% |
51% |
Uruguay |
| A |
France |
96% |
4% |
South Africa |
| B |
Nigeria |
85% |
15% |
Korea |
| B |
Greece |
34% |
66% |
Argentina |
| C |
Slovenia |
22% |
78% |
England |
| C |
USA |
70% |
30% |
Algeria |
| D |
Ghana |
22% |
78% |
Germany |
| D |
Australia |
41% |
59% |
Serbia |
| E |
Denmark |
62% |
38% |
Japan |
| E |
Cameroon |
16% |
84% |
Netherlands |
| F |
Slovakia |
9% |
91% |
Italy |
| F |
Paraguay |
91% |
9% |
New Zealand |
| G |
Portugal |
12% |
88% |
Brazil |
| G |
N Korea |
3% |
97% |
Ivory Coast |
| H |
Chile |
2% |
98% |
Spain |
| H |
Switzerland |
68% |
32% |
Honduras |

Murder data from the FBI, Crime in the United States, 2008.