International Football Modelling¶
Overview¶
Most football-modelling literature (and most of this KB's worked examples) assumes club football: a closed league of ~20 teams playing each other home-and-away, 38+ matches per season. International football violates every one of those assumptions:
- National teams play ~8–12 matches per year, not 40+
- Matches are a mix of friendlies, qualifiers, and tournaments with very different intensity
- Teams are clustered into confederations (UEFA, CONMEBOL, AFC, CAF, CONCACAF, OFC) that rarely play each other
- Tournament matches are mostly at neutral venues
A Poisson or ELO model trained on international data without accounting for these will be miscalibrated in exactly the matches that matter — World Cup games.
Neutral venues and home advantage¶
Club home advantage (~0.25–0.35 extra goals, or 55–100 ELO points) does not apply at a neutral venue. In a Maher-style fit (see fitting-poisson-mle), apply the home-advantage multiplier γ only when the neutral flag is false — the martj42 international results dataset carries this flag per match.
At World Cup 2026, only USA, Mexico, and Canada play true home matches. Everything else is neutral — though "neutral" hides second-order effects the model can optionally absorb: travel distance, altitude (Mexico City ~2,240 m), climate, and de-facto home crowds (e.g. Latin American teams in US stadiums). v1 should ignore these; they are candidates for v2 features if residuals show venue structure.
A subtlety: even at neutral venues, the dataset's "home" column is just the first-listed team. Don't accidentally learn a spurious advantage for it — the γ-gating above handles this.
Match importance weighting¶
Friendlies are noisy: heavy rotation, experimental lineups, low stakes. Established practice is to down-weight by competition type. The World Football Elo Ratings (eloratings.net) use K-factor multipliers roughly:
| Match type | Weight (ELO K) |
|---|---|
| World Cup finals | 60 |
| Continental finals / WC qualifiers | 40–50 |
| Nations League / minor tournaments | 30–40 |
| Friendlies | 20 |
For a Poisson MLE the same idea applies as a multiplier on each match's log-likelihood weight (stacked with the time-decay weight): w_m = importance_m × exp(−ξΔt_m). Treat the friendly weight (e.g. 0.3–0.6 relative to competitive matches) as a hyperparameter tuned by out-of-sample log-loss, like ξ.
Cross-confederation identifiability¶
This is the structural problem of international modelling. Attack/defense (and ELO) parameters are only comparable between teams that share opponents. Within UEFA the match graph is dense; between confederations it is thin — a handful of friendlies, Confederations Cup/Finalissima-type events, and the World Cup itself every four years.
Consequences:
- Relative strength within a confederation is well estimated; the offset between confederations rides on few matches and has high variance
- A model trained mostly on intra-confederation data can systematically over- or under-rate entire confederations — exactly the error that shows up in cross-confederation World Cup group games
- Mitigations: include all inter-confederation matches ever played (don't filter to recent-only for these), check the model's confederation-vs-confederation aggregate residuals during backtesting, and consider a soft prior anchoring confederation means (e.g. toward FIFA/Elo ranking gaps)
Sparsity and shrinkage¶
With ~40 matches per four-year cycle per team, per-team parameters are noisy, and squad turnover means even those 40 matches straddle different team generations. Practical guidance:
- Use time decay with a shorter half-life than club football (squads turn over across cycles), but not so short that the effective sample collapses — tune, don't guess
- Shrink parameters toward the global (or confederation) mean via an L2 penalty on log α, log β; minnows with 10 matches in the window need it most
- glicko-2-style uncertainty tracking is more useful here than in club football, since rating staleness varies hugely between teams
- Don't fit separate home/away parameters per team — the data cannot support it
Pitfalls¶
- Training on club intuitions: league average goals (~2.7/match) differ from international averages, and friendlies differ from competitive matches; estimate baselines from the actual corpus
- Dixon-Coles ρ on tournament data alone: 104 matches is far too few — estimate ρ on the full international history (see dixon-coles-correction)
- Country identity drift: USSR→Russia, Yugoslavia→Serbia, West Germany→Germany; decide successor mappings before fitting (see international-results-datasets)
- Ignoring the importance weight at prediction time: weights apply to fitting only; the World Cup match you predict needs no weight
See Also¶
- fitting-poisson-mle — where the neutral flag, decay, and importance weights plug in
- international-results-datasets — the training corpus and its traps
- knockout-tournament-modelling — tournament-format concerns downstream of this
- elo-rating-system — K-factor weighting is the ELO version of importance weighting