Prediction Model

Dixon-Coles + bilinear style layer · 1,667 matches · K=4 style dimensions · Monte Carlo simulation

MATCH EXPLORER — expected goals by layer

vs
Layer🇫🇷 λΔ🇦🇷 λΔ🇫🇷 winDraw🇦🇷 win
Base (DC)0.8401.03428.2%33.1%38.6%
+ Style2.980+254.6%1.320+27.7%70.7%15.4%13.8%
+ Attr3.157+5.9%1.400+6.0%71.7%14.6%13.5%

λ = expected goals (A scores) · Δ = multiplicative shift from previous layer · win% excludes extra time/penalties

TEAM STRENGTH PROFILE — log expected goals vs average opponent, by layer

Each column shows the log contribution to expected goals when playing an average tournament opponent. Sorted by net attack − defense strength (full model).

TeamAtk base+Style+AttrDef baseStyle ΔAttr ΔxG scoredxG conceded
🇧🇷Brazil0.597+0.135+0.124-0.632+0.142-0.0612.3530.577
🇦🇷Argentina0.489+0.111+0.129-0.631+0.079-0.0412.0740.553
🇪🇸Spain0.593+0.130+0.166-0.532+0.189-0.0682.4310.663
🏴󠁧󠁢󠁥󠁮󠁧󠁿England0.413+0.093+0.174-0.497+0.090-0.0591.9720.627
🇳🇱Netherlands0.451+0.201+0.132-0.190-0.029-0.0412.1910.771
🇫🇷France0.457+0.009+0.131-0.456+0.059-0.0391.8160.647
🇵🇹Portugal0.439+0.117+0.122-0.341+0.058-0.0571.9710.712
🇧🇪Belgium0.508+0.022+0.107-0.327+0.025-0.0461.8900.706
🇩🇪Germany0.589+0.092+0.130-0.175+0.160-0.0622.2500.926
🇨🇴Colombia0.335+0.085+0.048-0.486+0.144-0.0241.5980.693
🇺🇾Uruguay0.257+0.144+0.087-0.307+0.132-0.0181.6290.825
🇨🇭Switzerland0.242+0.166+0.113-0.118+0.020-0.0131.6840.895
🇲🇦Morocco0.004+0.143+0.039-0.316-0.056-0.0111.2050.682
🇭🇷Croatia0.248+0.109+0.108-0.218+0.151-0.0141.5930.922
🇪🇨Ecuador0.155+0.062-0.004-0.238+0.055+0.0251.2380.853
🇦🇹Austria0.117+0.190+0.070-0.005+0.026-0.0001.4591.021
🇸🇪Sweden0.142+0.194+0.073-0.019+0.122+0.0071.5051.116
🇯🇵Japan0.080+0.220+0.0800.003+0.096+0.0151.4631.121
🇨🇮Ivory Coast0.009+0.228+0.021-0.012+0.025+0.0511.2941.065
🇲🇽Mexico-0.001+0.150+0.050-0.076+0.086+0.0161.2201.027
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland-0.024+0.157+0.0960.076-0.015+0.0281.2591.093
🇮🇷Iran-0.056+0.006-0.029-0.113-0.046+0.0570.9250.903
🇺🇸United States-0.006+0.036+0.0210.041-0.010+0.0511.0531.085
🇩🇿Algeria0.171+0.036+0.0930.194+0.075+0.0751.3501.410
🇹🇷Turkey0.110+0.082+0.0210.102+0.122+0.0511.2371.317
🇳🇴Norway0.062+0.043+0.0570.100+0.104+0.0381.1761.274
🇵🇾Paraguay-0.097+0.074+0.031-0.055+0.116+0.0531.0091.121
🇨🇿Czech Republic-0.015-0.051+0.0210.092-0.006+0.0510.9561.146
🇸🇳Senegal-0.037-0.007+0.033-0.074+0.241+0.0070.9881.189
🇰🇷South Korea-0.138+0.131+0.0300.031+0.098+0.0851.0241.239
🇬🇭Ghana-0.118+0.131+0.0410.158+0.073+0.0281.0551.296
🇦🇺Australia-0.024+0.021-0.0030.120+0.111+0.0750.9941.359
🇧🇦Bosnia and Herzegovina-0.040-0.076-0.0010.259+0.004+0.0220.8901.330
🇹🇳Tunisia-0.139-0.017-0.0340.020+0.108+0.0960.8271.251
🇪🇬Egypt-0.144-0.086-0.0510.026+0.054+0.0770.7551.171
🇨🇦Canada-0.167+0.025-0.0530.160+0.079+0.0720.8231.364
🇨🇩DR Congo-0.288+0.142-0.0580.185+0.105+0.0740.8151.438
🇿🇦South Africa-0.349-0.083-0.0860.154-0.099+0.0910.5951.158
🇸🇦Saudi Arabia-0.435+0.078-0.0150.311-0.088+0.0880.6901.365
🇶🇦Qatar-0.327+0.151-0.0510.499-0.093+0.0850.7971.634
🇺🇿Uzbekistan-0.341-0.050-0.0400.119+0.157+0.0550.6501.393
🇨🇻Cape Verde-0.410-0.137+0.0210.321-0.070+0.0510.5911.352
🇵🇦Panama-0.369-0.134-0.0440.325+0.095+0.0820.5791.652
🇮🇶Iraq-0.473-0.041-0.1110.325+0.099+0.1070.5351.701
🇯🇴Jordan-0.441-0.040-0.0750.434+0.167+0.1220.5742.060
🇳🇿New Zealand-0.784+0.100-0.0250.492+0.068+0.1340.4922.002
🇭🇹Haiti-0.506+0.042-0.0850.607+0.218+0.0790.5782.469
🇨🇼Curacao-0.737+0.132-0.0560.664+0.025+0.1550.5172.326

Defense column: lower xG conceded = better defense. Style/Attr Δ in defense column shows how much opponents' style boosts their scoring against you (red = they score more on you).

Stage 1 — base layer: Dixon-Coles bivariate Poisson. Attack (α) and defence (β) per team fitted by competition-weighted MLE (competition-tier weights only — no calendar decay or manager discount, both found RPS-inert under forward cross-validation) on 6,377 matches (≥1 WC team) since 2012. ρ = -0.061.

Stage 2 — style layer: K=4 bilinear interaction vectors ui, vj per team, trained as a residual correction on top of the frozen DC base. log(μij) = log(αi) + log(βj) + ui·vj. ρ re-estimated jointly = -0.048.

Stage 3 — attribute correction: Position-stratified FC 26 squad embeddings (GK/DEF/MID/FWD) fed into a ridge-regression linear model (R²=0.097) predicting log goals. Centered residuals γij applied at λ=0.31to log expected goals. Fitted 6/13/2026.

Bracket: Top 2 per group + 8 best 3rd-place teams → R32. Knockout draws resolved as 50/50 (extra time + penalties).

DC fitted 6/13/2026 · style vectors fitted 6/13/2026.