A genuine shock — the model gave South Africa just 22% before kick-off, and they beat South Korea anyway. The xG race tells a different story though: South Korea created more (2.21 vs 1.93) and will feel hard done by.
Expected goals race
South AfricaSouth Korea● goal
Cumulative expected goals, minute by minute. ESPN's free feed has no xG, so each shot's xG is estimated with a naive distance-and-angle logistic model fitted on shot coordinates from the play-by-play.
Shot map
South Africa (attacking →)South Korea (attacking ←)size = xG · star = goal
South Africa · match stats · South Korea
31.5Possession68.5
13Shots8
4On Target3
4Corners6
7Fouls9
3Offsides0
2Saves3
1Yellows1
0Reds0
What the model expected
Pre-match Elo: South Africa 1705, South Korea 1823. The model priced this South Africa 22% / draw 24% / South Korea 54%, most likely score 1–1. Reality had other plans. The result moves 33 Elo points from South Korea to South Africa — that flows straight into the next round of tournament simulations.
Timeline
45'SUBSubstitution, Korea Republic. Son Heung-Min replaces Hwang Hee-Chan.
45'SUBSubstitution, Korea Republic. Kim Jin-Gyu replaces Paik Seung-Ho.
45'SUBSubstitution, Korea Republic. Jens Castrop replaces Lee Tae-Seok.
62'SUBSubstitution, South Africa. Tshepang Moremi replaces Oswin Appollis.
63'GOALGoal! South Africa 1, Korea Republic 0. Thapelo Maseko (South Africa) left footed shot from the centre of the box to the bottom right corner. Assisted by Tshepang Moremi following a fast break.
66'SUBSubstitution, Korea Republic. Park Jin-Seob replaces Kim Min-Jae.
73'YELLOWAubrey Modiba (South Africa) is shown the yellow card for a bad foul.
74'SUBSubstitution, Korea Republic. Cho Gue-Sung replaces Oh Hyeon-Gyu.
75'SUBSubstitution, South Africa. Iqraam Rayners replaces Thapelo Maseko.
79'YELLOWCho Gue-Sung (Korea Republic) is shown the yellow card for a bad foul.
80'SUBSubstitution, South Africa. Jayden Adams replaces Relebohile Mofokeng.