| Date | Home | H% | A% | Away | Top 3 scorelines | Result | W/D/L | Score | |
|---|---|---|---|---|---|---|---|---|---|
| Jul 19 | 🇪🇸 Spain | 62% | 38% | 🇦🇷 Argentina | 1-0 0-0 1-1 | 1-0 | ✓ | ✓ | |
| Jul 18 | 🇫🇷 France | 55% | 45% | 🏴 England | 1-1 1-0 0-0 | 4-6 | ✗ | ✗ | |
| Jul 15 | 🏴 England | 47% | 53% | 🇦🇷 Argentina | 1-1 0-1 0-0 | 1-2 | ✓ | ✗ | |
| Jul 14 | 🇫🇷 France | 40% | 60% | 🇪🇸 Spain | 0-1 1-1 0-0 | 0-2 | ✓ | ✗ | |
| Jul 12 | 🇦🇷 Argentina | 61% | 39% | 🇨🇭 Switzerland | 1-0 0-0 1-1 | 3-1 | ✓ | ✗ | |
| Jul 11 | 🇳🇴 Norway | 41% | 59% | 🏴 England | 0-1 1-1 0-0 | 1-2 | ✓ | ✗ | |
| Jul 10 | 🇪🇸 Spain | 74% | 26% | 🇧🇪 Belgium | 2-0 1-0 1-1 | 2-1 | ✓ | ✗ | |
| Jul 09 | 🇫🇷 France | 53% | 47% | 🇲🇦 Morocco | 0-0 1-0 0-1 | 2-0 | ✓ | ✗ | |
| Jul 07 | 🇨🇭 Switzerland | 33% | 67% | 🇨🇴 Colombia | 0-1 0-0 0-2 | 0-0 (4-3 pens) | ✗ | ~ | |
| Jul 07 | 🇦🇷 Argentina | 76% | 24% | 🇪🇬 Egypt | 1-0 0-0 2-0 | 3-2 | ✓ | ✗ | |
| Jul 07 | 🇺🇸 United States | 44% | 56% | 🇧🇪 Belgium | 1-1 0-1 1-2 | 1-4 | ✓ | ✗ | |
| Jul 06 | 🇵🇹 Portugal | 33% | 67% | 🇪🇸 Spain | 0-1 1-1 0-2 | 0-1 | ✓ | ✓ | |
| Jul 06 | 🇲🇽 Mexico | 35% | 65% | 🏴 England | 0-1 0-0 1-1 | 2-3 | ✓ | ✗ | |
| Jul 05 | 🇧🇷 Brazil | 69% | 31% | 🇳🇴 Norway | 1-0 2-0 1-1 | 1-2 | ✗ | ✗ | |
| Jul 04 | 🇵🇾 Paraguay | 20% | 80% | 🇫🇷 France | 0-1 0-0 0-2 | 0-1 | ✓ | ✓ | |
| Jul 04 | 🇨🇦 Canada | 48% | 52% | 🇲🇦 Morocco | 0-0 0-1 1-0 | 0-3 | ✓ | ✗ | |
| Jul 04 | 🇨🇴 Colombia | 79% | 21% | 🇬🇭 Ghana | 1-0 2-0 0-0 | 1-0 | ✓ | ✓ | |
| Jul 03 | 🇦🇷 Argentina | 88% | 12% | 🇨🇻 Cape Verde | 2-0 1-0 3-0 | 3-2 | ✓ | ✗ | |
| Jul 03 | 🇦🇺 Australia | 51% | 49% | 🇪🇬 Egypt | 0-0 1-0 0-1 | 1-1 (2-4 pens) | ✗ | ✗ | |
| Jul 03 | 🇨🇭 Switzerland | 66% | 34% | 🇩🇿 Algeria | 1-0 1-1 2-0 | 2-0 | ✓ | ~ | |
| Jul 02 | 🇵🇹 Portugal | 71% | 29% | 🇭🇷 Croatia | 1-0 2-0 1-1 | 2-1 | ✓ | ✗ | |
| Jul 02 | 🇪🇸 Spain | 81% | 19% | 🇦🇹 Austria | 2-0 1-0 3-0 | 3-0 | ✓ | ~ | |
| Jul 02 | 🇺🇸 United States | 84% | 16% | 🇧🇦 Bosnia and Herzegovina | 2-0 1-0 3-0 | 2-0 | ✓ | ✓ | |
| Jul 01 | 🇧🇪 Belgium | 62% | 38% | 🇸🇳 Senegal | 1-0 1-1 0-0 | 3-2 | ✓ | ✗ | |
| Jul 01 | 🏴 England | 81% | 19% | 🇨🇩 DR Congo | 1-0 2-0 0-0 | 2-1 | ✓ | ✗ | |
| Jul 01 | 🇲🇽 Mexico | 52% | 48% | 🇪🇨 Ecuador | 0-0 1-0 0-1 | 2-0 | ✓ | ✗ | |
| Jun 30 | 🇫🇷 France | 79% | 21% | 🇸🇪 Sweden | 2-0 2-1 3-0 | 3-0 | ✓ | ~ | |
| Jun 30 | 🇨🇮 Ivory Coast | 56% | 44% | 🇳🇴 Norway | 1-0 0-0 1-1 | 1-2 | ✗ | ✗ | |
| Jun 30 | 🇳🇱 Netherlands | 65% | 35% | 🇲🇦 Morocco | 1-1 1-0 2-1 | 1-1 (2-3 pens) | ✗ | ✓ | |
| Jun 29 | 🇩🇪 Germany | 84% | 16% | 🇵🇾 Paraguay | 1-0 2-0 0-0 | 1-1 (3-4 pens) | ✗ | ✗ | |
| Jun 29 | 🇧🇷 Brazil | 69% | 31% | 🇯🇵 Japan | 1-0 1-1 2-0 | 2-1 | ✓ | ✗ | |
| Jun 28 | 🇿🇦 South Africa | 28% | 72% | 🇨🇦 Canada | 0-1 0-0 0-2 | 0-1 | ✓ | ✓ | |
| Jun 28 | 🇩🇿 Algeria | 22% | 57% | 🇦🇹 Austria | 0-2 1-2 1-1 | 3-3 | ✗ | ✗ | |
| Jun 28 | 🇯🇴 Jordan | 4% | 93% | 🇦🇷 Argentina | 0-4 0-3 0-5 | 1-3 | ✓ | ✗ | |
| Jun 27 | 🇨🇩 DR Congo | 53% | 16% | 🇺🇿 Uzbekistan | 0-0 1-0 1-1 | 3-1 | ✓ | ✗ | |
| Jun 27 | 🇨🇴 Colombia | 34% | 35% | 🇵🇹 Portugal | 1-1 0-1 1-2 | 0-0 | ✗ | ✗ | |
| Jun 27 | 🇭🇷 Croatia | 51% | 19% | 🇬🇭 Ghana | 1-1 1-0 0-0 | 2-1 | ✓ | ✗ | |
| Jun 27 | 🇵🇦 Panama | 6% | 86% | 🏴 England | 0-3 0-2 0-4 | 0-2 | ✓ | ~ | |
| Jun 27 | 🇪🇬 Egypt | 49% | 20% | 🇮🇷 Iran | 0-0 1-0 1-1 | 1-1 | ✗ | ~ | |
| Jun 27 | 🇳🇿 New Zealand | 8% | 73% | 🇧🇪 Belgium | 0-2 0-3 0-4 | 1-5 | ✓ | ✗ | |
| Jun 27 | 🇺🇾 Uruguay | 26% | 46% | 🇪🇸 Spain | 0-1 1-1 0-0 | 0-1 | ✓ | ✓ | |
| Jun 27 | 🇨🇻 Cape Verde | 39% | 18% | 🇸🇦 Saudi Arabia | 0-0 0-1 1-0 | 0-0 | ✓ | ✓ | |
| Jun 26 | 🇸🇳 Senegal | 70% | 7% | 🇮🇶 Iraq | 2-0 1-0 1-1 | 5-0 | ✓ | ✗ | |
| Jun 26 | 🇳🇴 Norway | 23% | 58% | 🇫🇷 France | 1-2 1-3 0-2 | 1-4 | ✓ | ✗ | |
| Jun 26 | 🇵🇾 Paraguay | 24% | 45% | 🇦🇺 Australia | 0-0 0-1 1-1 | 0-0 | ✗ | ✓ | |
| Jun 26 | 🇹🇷 Turkey | 6% | 86% | 🇺🇸 United States | 0-3 0-2 0-4 | 3-2 | ✗ | ✗ | |
| Jun 25 | 🇯🇵 Japan | 34% | 42% | 🇸🇪 Sweden | 1-1 1-2 2-2 | 1-1 | ✗ | ✓ | |
| Jun 25 | 🇹🇳 Tunisia | 8% | 73% | 🇳🇱 Netherlands | 0-2 0-3 0-1 | 1-3 | ✓ | ✗ | |
| Jun 25 | 🇨🇼 Curaçao | 7% | 74% | 🇨🇮 Ivory Coast | 0-2 0-3 0-1 | 0-2 | ✓ | ✓ | |
| Jun 25 | 🇪🇨 Ecuador | 19% | 61% | 🇩🇪 Germany | 0-2 0-1 0-3 | 2-1 | ✗ | ✗ | |
| Jun 25 | 🇿🇦 South Africa | 23% | 47% | 🇰🇷 South Korea | 0-1 0-0 0-2 | 1-0 | ✗ | ✗ | |
| Jun 25 | 🇨🇿 Czech Republic | 20% | 53% | 🇲🇽 Mexico | 0-1 0-2 0-0 | 0-3 | ✓ | ✗ | |
| Jun 24 | 🇲🇦 Morocco | 79% | 1% | 🇭🇹 Haiti | 1-0 2-0 0-0 | 4-2 | ✓ | ✗ | |
| Jun 24 | 🏴 Scotland | 9% | 69% | 🇧🇷 Brazil | 0-2 0-1 0-3 | 0-3 | ✓ | ~ | |
| Jun 24 | 🇧🇦 Bosnia and Herzegovina | 53% | 19% | 🇶🇦 Qatar | 1-1 1-0 2-1 | 3-1 | ✓ | ✗ | |
| Jun 24 | 🇨🇭 Switzerland | 34% | 35% | 🇨🇦 Canada | 1-1 0-1 0-0 | 2-1 | ✗ | ✗ | |
| Jun 24 | 🇨🇴 Colombia | 64% | 7% | 🇨🇩 DR Congo | 1-0 0-0 2-0 | 1-0 | ✓ | ✓ | |
| Jun 23 | 🇵🇦 Panama | 21% | 56% | 🇭🇷 Croatia | 0-2 0-1 1-1 | 0-1 | ✓ | ~ | |
| Jun 23 | 🏴 England | 75% | 6% | 🇬🇭 Ghana | 2-0 1-0 3-0 | 0-0 | ✗ | ✗ | |
| Jun 23 | 🇵🇹 Portugal | 81% | 1% | 🇺🇿 Uzbekistan | 3-0 2-0 4-0 | 5-0 | ✓ | ✗ | |
| Jun 23 | 🇯🇴 Jordan | 32% | 42% | 🇩🇿 Algeria | 1-1 0-1 0-2 | 1-2 | ✓ | ✗ | |
| Jun 23 | 🇳🇴 Norway | 55% | 19% | 🇸🇳 Senegal | 1-1 1-0 2-1 | 3-2 | ✓ | ✗ | |
| Jun 22 | 🇫🇷 France | 96% | 1% | 🇮🇶 Iraq | 5-0 4-0 6-0 | 3-0 | ✓ | ✗ | |
| Jun 22 | 🇦🇷 Argentina | 74% | 7% | 🇦🇹 Austria | 2-0 1-0 2-1 | 2-0 | ✓ | ✓ | |
| Jun 22 | 🇳🇿 New Zealand | 33% | 37% | 🇪🇬 Egypt | 1-1 0-1 0-0 | 1-3 | ✓ | ✗ | |
| Jun 21 | 🇺🇾 Uruguay | 56% | 9% | 🇨🇻 Cape Verde | 0-0 1-0 2-0 | 2-2 | ✗ | ✗ | |
| Jun 21 | 🇧🇪 Belgium | 74% | 7% | 🇮🇷 Iran | 2-0 1-0 3-0 | 0-0 | ✗ | ✗ | |
| Jun 21 | 🇪🇸 Spain | 72% | 6% | 🇸🇦 Saudi Arabia | 1-0 2-0 0-0 | 4-0 | ✓ | ✗ | |
| Jun 21 | 🇹🇳 Tunisia | 20% | 58% | 🇯🇵 Japan | 0-2 0-1 1-1 | 0-4 | ✓ | ✗ | |
| Jun 21 | 🇪🇨 Ecuador | 72% | 6% | 🇨🇼 Curaçao | 1-0 2-0 0-0 | 0-0 | ✗ | ~ | |
| Jun 20 | 🇩🇪 Germany | 69% | 8% | 🇨🇮 Ivory Coast | 2-0 1-1 1-0 | 2-1 | ✓ | ✗ | |
| Jun 20 | 🇳🇱 Netherlands | 49% | 32% | 🇸🇪 Sweden | 2-2 2-1 1-2 | 5-1 | ✓ | ✗ | |
| Jun 20 | 🇹🇷 Turkey | 56% | 17% | 🇵🇾 Paraguay | 1-0 1-1 2-0 | 0-1 | ✗ | ✗ | |
| Jun 20 | 🇧🇷 Brazil | 95% | 1% | 🇭🇹 Haiti | 3-0 4-0 2-0 | 3-0 | ✓ | ✓ | |
| Jun 19 | 🏴 Scotland | 16% | 55% | 🇲🇦 Morocco | 0-1 0-0 0-2 | 0-1 | ✓ | ✓ | |
| Jun 19 | 🇺🇸 United States | 33% | 34% | 🇦🇺 Australia | 0-0 1-1 0-1 | 2-0 | ✗ | ✗ | |
| Jun 19 | 🇲🇽 Mexico | 39% | 28% | 🇰🇷 South Korea | 0-0 1-0 1-1 | 1-0 | ✓ | ~ | |
| Jun 18 | 🇨🇦 Canada | 44% | 26% | 🇶🇦 Qatar | 1-1 1-0 0-0 | 6-0 | ✓ | ✗ | |
| Jun 18 | 🇨🇭 Switzerland | 69% | 11% | 🇧🇦 Bosnia and Herzegovina | 2-0 1-0 1-1 | 4-1 | ✓ | ✗ | |
| Jun 18 | 🇨🇿 Czech Republic | 56% | 17% | 🇿🇦 South Africa | 1-0 1-1 2-0 | 1-1 | ✗ | ~ | |
| Jun 18 | 🇺🇿 Uzbekistan | 11% | 64% | 🇨🇴 Colombia [r] | 0-2 0-1 0-3 | 1-3 | ✓ | ✗ | |
| Jun 17 | 🇬🇭 Ghana | 36% | 35% | 🇵🇦 Panama [r] | 0-0 1-0 1-1 | 1-0 | ✓ | ~ | |
| Jun 17 | 🏴 England | 53% | 20% | 🇭🇷 Croatia [r] | 2-1 2-0 1-1 | 4-2 | ✓ | ✗ | |
| Jun 17 | 🇵🇹 Portugal | 77% | 6% | 🇨🇩 DR Congo [r] | 2-0 1-0 3-0 | 1-1 | ✗ | ✗ | |
| Jun 17 | 🇦🇹 Austria | 63% | 11% | 🇯🇴 Jordan [r] | 1-0 2-0 0-0 | 3-1 | ✓ | ✗ | |
| Jun 17 | 🇦🇷 Argentina | 78% | 5% | 🇩🇿 Algeria [r] | 2-0 1-0 3-0 | 3-0 | ✓ | ~ | |
| Jun 16 | 🇮🇶 Iraq | 4% | 80% | 🇳🇴 Norway [r] | 0-2 0-1 0-3 | 1-4 | ✓ | ✗ | |
| Jun 16 | 🇫🇷 France | 53% | 20% | 🇸🇳 Senegal [r] | 1-0 1-1 2-0 | 3-1 | ✓ | ✗ | |
| Jun 16 | 🇮🇷 Iran | 57% | 13% | 🇳🇿 New Zealand [r] | 1-0 0-0 2-0 | 2-2 | ✗ | ✗ | |
| Jun 15 | 🇸🇦 Saudi Arabia | 8% | 65% | 🇺🇾 Uruguay [r] | 0-1 0-0 0-2 | 1-1 | ✗ | ✗ | |
| Jun 15 | 🇧🇪 Belgium | 46% | 24% | 🇪🇬 Egypt [r] | 1-0 1-1 0-0 | 1-1 | ✗ | ~ | |
| Jun 15 | 🇪🇸 Spain | 85% | 2% | 🇨🇻 Cape Verde [r] | 2-0 1-0 3-0 | 0-0 | ✗ | ✗ | |
| Jun 15 | 🇸🇪 Sweden | 56% | 17% | 🇹🇳 Tunisia [r] | 1-0 2-0 0-0 | 5-1 | ✓ | ✗ | |
| Jun 14 | 🇨🇮 Ivory Coast | 30% | 30% | 🇪🇨 Ecuador [r] | 0-0 0-1 1-0 | 1-0 | ✗ | ~ | |
| Jun 14 | 🇳🇱 Netherlands | 39% | 31% | 🇯🇵 Japan [r] | 1-1 1-0 0-0 | 2-2 | ✗ | ✗ | |
| Jun 14 | 🇩🇪 Germany | 94% | 1% | 🇨🇼 Curaçao [r] | 3-0 2-0 4-0 | 7-1 | ✓ | ✗ | |
| Jun 14 | 🇦🇺 Australia | 36% | 28% | 🇹🇷 Turkey [r] | 0-0 1-0 0-1 | 2-0 | ✗ | ✗ | |
| Jun 14 | 🇭🇹 Haiti | 28% | 36% | 🏴 Scotland [r] | 0-0 0-1 1-0 | 0-1 | ✗ | ~ | |
| Jun 13 | 🇧🇷 Brazil | 52% | 17% | 🇲🇦 Morocco [r] | 1-0 0-0 2-0 | 1-1 | ✗ | ✗ | |
| Jun 13 | 🇶🇦 Qatar | 7% | 74% | 🇨🇭 Switzerland [r] | 0-2 0-1 0-3 | 1-1 | ✗ | ✗ | |
| Jun 13 | 🇺🇸 United States | 44% | 10% | 🇵🇾 Paraguay [r] | 0-0 1-0 2-0 | 4-1 | ✗ | ✗ | |
| Jun 12 | 🇨🇦 Canada | 58% | 10% | 🇧🇦 Bosnia and Herzegovina [r] | 1-0 0-0 2-0 | 1-1 | ✗ | ✗ | |
| Jun 12 | 🇰🇷 South Korea | 29% | 42% | 🇨🇿 Czech Republic [r] | 1-1 0-1 0-0 | 2-1 | ✗ | ✗ | |
| Jun 11 | 🇲🇽 Mexico | 53% | 15% | 🇿🇦 South Africa [r] | 1-0 0-0 2-0 | 2-0 | ✓ | ~ |
| Team | Final Odds | Result | |
|---|---|---|---|
| #1 | 🇪🇸 Spain | 100.0% | Winner |
| #2 | 🇦🇷 Argentina | — | Runner-up |
| #3 | 🏴 England | — | Third place |
| #4 | 🇫🇷 France | — | Fourth place |
The model ran 10,000 bracket simulations of the full tournament using match probabilities from the Dixon-Coles model — the same model that generated the per-match predictions above. After each completed result, the model was refit and the simulations rerun.
Model prediction shows each team's win probability from the final simulation run before the tournament ended.
All predictions were locked before kickoff — no hindsight adjustments.