Group G · Matchday 2
BelgiumvsIran
2026-06-21·12:00 localPredictions finalised
The forecast
Match-outcome probability
- Belgium win48.5%
- Draw27.1%
- Iran win24.3%
A clash of identities: Belgium's balanced approach meets Iran's transition-heavy style in a fixture the model gives to Belgium at 61%.
Why the model says this
Favoring Belgium
- ·Belgium holds a significantly higher FIFA rank (8th) compared to Iran (20th).
- ·The Elo rating system indicates a 107-point advantage for Belgium.
- ·Belgium's expected goals (xG) are projected at 1.55, considerably higher than Iran's 0.9.
- ·Belgium is undefeated in their last six matches, recording three wins and three draws.
Favoring Iran
- ·Iran's style is highly direct (98.8 percentile), which can pose challenges to opposition defences.
- ·Iran's low pressing intensity (8.8 percentile PPDA) suggests a conservative defensive approach, potentially frustrating Belgium's patient build-up (83.8 percentile).
What the model can't fully price
- ·The model does not account for the two players carrying fitness doubts, one of whom is a projected starter, as its lineup channel currently contributes zero.
- ·Venue conditions and potential travel factors are not explicitly captured by the model's probabilities.
Form check
Belgium
SteadyBelgium enters this match in strong form, remaining undefeated in their last six fixtures with three wins and three draws. They have demonstrated significant attacking prowess, scoring 18 goals in these matches.
Scored 18 goals in their last six matches.
Iran
SteadyIran's recent form is mixed, with two wins, two draws, and two losses in their last six outings. While they secured a dominant 5-0 victory in their most recent fixture, they also suffered two defeats during this period.
Conceded 4 goals in their last six matches.
Analysis
How it plays out
Belgium's balanced setup will need to hold shape against Iran's direct transition game. The risk for Belgium: getting caught between attacking and defending. Belgium's aggressive press (PPDA 23.1) against Iran's deeper build-up (PPDA 29.0) creates a clear territory question: can Belgium force errors high up, or will Iran play through the press and find space behind it?
What decides it
Iran will concede possession willingly and attack in transition. Their defensive block needs to hold without fouling in dangerous areas. Kevin De Bruyne's 7.1% scoring probability is the highest in this fixture. Containing that output is Iran's primary defensive task.
Off the pitch
No major off-pitch asymmetries. This one is decided by the football.
The angle
Likely the last World Cup for Axel Witsel. Tournament experience at this level is hard to quantify but hard to replace.
▸Goals & scorelines
Likeliest score 1–0 (14.0%) · xG 1.5 - 0.8
Expected goals
Mean of the Dixon-Coles joint goal distribution. Same fit that produces the most-likely-scoreline list below.
Most likely scorelines
- 1–014.0%
- 1–112.7%
- 2–011.3%
- 0–010.3%
- 2–19.1%
From the Dixon-Coles joint Poisson with the low-score correction. Scorelines are listed in probability order; this is a description of the model's distribution, not a recommendation.
Most likely half-time scorelines
- 0–031.6%
- 1–023.2%
- 0–112.0%
- 1–110.2%
- 2–09.1%
Same Dixon-Coles fit as the full-time list above, with rates halved to a 45-minute window and the low-score correction applied to that 1st-half block. The 0-0 row sits higher here than at full-time because fewer minutes have elapsed.
Goal totals
- More than 0.5 goals89.7%
- More than 1.5 goals68.7%
- More than 2.5 goals41.6%
- More than 3.5 goals21.0%
- More than 4.5 goals8.9%
- More than 5.5 goals3.2%
- Both teams score44.3%
Each row is the probability the match finishes with more than the listed number of goals. Both-teams-to-score is the probability each side scores at least once. All values are marginals of the Dixon-Coles joint goal grid that produces the scoreline list above — not market lines or any other operator construct.
Event-typed probabilities
- Belgium clean sheetOpposing team scores zero44.4%
- Iran clean sheetOpposing team scores zero21.6%
Derived from the same Dixon-Coles joint distribution as the scoreline list. These are descriptive event probabilities — see CLAUDE.md §3/§4 (formerly COMPLIANCE.md §4.2.7) for the framing the project uses.
Win-margin probability
- Belgium by 4+3.9%
- Belgium by 3+11.7%
- Belgium by 2+28.4%
- Belgium by 1+53.6%
- Draw27.2%
- Iran by 1+19.1%
- Iran by 2+6.1%
- Iran by 3+1.4%
- Iran by 4+0.3%
Each row is the probability the match ends with the listed margin or larger in that direction. Marginal of the Dixon-Coles joint goal grid; the “by 1+” rows plus the draw row sum to 1.
▸How the match unfolds
Over 2.5 goals 41.6% · BTTS 44.3%
Game state through the match
- Belgium ahead54.4%
- Level25.8%
- Iran ahead19.8%
Probability of each game state at minutes 0, 15, 30, 45, 60, 75, 90 — derived from two independent thinned-Poisson processes with the Dixon-Coles per-team rates. The three lines always sum to 1 at each minute. The right column shows the state at the match's closing minute.
When the first goal arrives
- 0–1532.4%
- 15–3021.9%
- 30–4514.8%
- 45–6010.0%
- 60–756.8%
- 75–904.6%
- No goal9.6%
Probability the match's first goal arrives in each 15-minute window. Homogeneous Poisson with combined rate λ = λh + λa from the Dixon-Coles fit; the seven rows (six windows + no-goal tail) sum to 1.
Half-time / full-time grid
| HT ↓ / FT → | HBelgium win | DDraw | AIran win |
|---|---|---|---|
| HBelgium ahead | 35.0% | 4.3% | 0.9% |
| DLevel | 17.3% | 17.6% | 7.6% |
| AIran ahead | 1.9% | 4.2% | 11.2% |
Each cell is P(half-time result, full-time result). All nine cells sum to 1. Derived from a halved-λ Dixon-Coles fit for the first half plus an independent-Poisson second-half convolution.
Comeback probability
- Belgium trail at HT, avoid defeat at FT6.1%
- Iran trail at HT, avoid defeat at FT5.2%
Joint probability — P(side trailing at half-time AND avoiding defeat at full-time). NOT conditional on trailing at HT. Derived from the same half-time / full-time decomposition that produces the HT/FT grid above; a tied first half is neither a home nor an away comeback opportunity.
Cards
- Expected yellow cardsMean of the Poisson on total yellow cards.3.45
- Total yellows over 2.567.0%
- Total yellows over 3.545.3%
- Total yellows over 4.526.5%
- Any red cardP(at least one red card in the match).9.5%
Referee not yet assigned. Using the 2026 pool-mean per-match rate as a placeholder; the model picks up the referee's personal rate once the assignment is published. Total yellow cards modelled as a Poisson with mean equal to two team baselines plus the referee's deviation from the pool mean. Reds are modelled the same way, independently. See /docs/methodology/.
▸Teams & players
Top scorer: Bruyne (7.1%)
Match detail
Belgium
Model-rated key players: Kevin De Bruyne (MF) — P(scores) 7.1%; Loïs Openda (FW) — P(scores) 6.5%; Leandro Trossard (FW) — P(scores) 4.1%.
Belgium under Rudi Garcia play a balanced game, holding 54% of the ball — among the highest in the tournament field. Their likely shape is a other, though they have also used 4-2-3-1. They apply moderate pressing intensity (PPDA 23.1) and build patiently through midfield with 7.7 passes per attacking sequence.
Belgium will need to leverage their strengths while managing the physical demands of a tournament spread across three host countries. Managing minutes for Axel Witsel across what could be seven matches will test the coaching staff's rotation planning.
Iran
Model-rated key players: Mehdi Taremi (FW) — P(scores) 3.4%; Mehdi Ghayedi (FW) — P(scores) 2.6%; Shahriyar Moghanlou (FW) — P(scores) 2.3%.
Iran under Amir Ghalenoei play a transition heavy game, with just 33% possession — among the lowest in the field. Their likely shape is a 4-4-2, though they have also used other. They sit deeper and pick their moments to press (PPDA 29.0) and move the ball forward quickly at 4.5 passes per attack. They are selective in their shooting (8.4 per 90).
Iran rely on defensive discipline and quick transitions — absorbing pressure and converting turnovers into attacking chances. Concentration and defensive organisation for full 90-minute stretches will determine whether the approach holds against top opposition. Managing minutes for Ehsan Hajsafi across what could be seven matches will test the coaching staff's rotation planning.
Belgium historically converts 14.6% of xG from set-pieces, contributing 0.22 expected set-piece goals in this fixture. Combined, the model expects 0.22 set-piece goals across the 90 minutes.
- P(Belgium scores set-piece goal) 20.1%
- P(set-piece goal in match) 20.1%
Belgium: Kevin De Bruyne on corners (25 corners), Axel Witsel on free kicks (per fbref 2022 23)
If a penalty is awarded to Belgium, the model gives 71.4% conversion, 73.3% for Iran.
Belgium primary PK: Kevin De Bruyne (2/3 in 2020-21, per fbref 2022 23).
Derived from the model's per-fixture forecast joint and supporting reference data (predicted squads, set-piece xG share, PK posteriors, club minutes). See /docs/methodology/ for the full methodology.
Tactical forecast
- PPDA
- 23.1
- Possession
- 54%
- Directness (yds/pass)
- 5.0
- Long balls/90
- 32
- Set-piece xG
- 15%
- PPDA
- 29.0
- Possession
- 33%
- Directness (yds/pass)
- 10.6
- Long balls/90
- 46
- Set-piece xG
- —
Style profile per side from StatsBomb open-data aggregation across recent international tournaments (Euro 2020/2024, Copa America 2024, AFCON 2023, World Cup 2018/2022). The tactical-fingerprint badge maps each team’s observed style vector into one of eight canonical archetypes via a rule-based classifier; teams with fewer than three matches of qualifying coverage carry an “insufficient-data” label rather than being forced into a default. Sides outside the StatsBomb-open corpus use FotMob team match stats from recent qualifiers and friendlies instead (possession and shot volume only), marked as partial coverage. PPDA = passes the side allows per defensive action (lower = more intense press). Formation distributions are not yet produced — that head of the §2.7 classifier is pending its own data pull. See /docs/methodology/.
Squad depth
Most irreplaceable starters
Belgium
- Youri TielemansCentral midfieldNo natural backup0.41gap
- Romelu LukakuStrikerNo natural backup0.37gap
- Zeno DebastCentre-backCover: Brandon Mechele · 0.560.32gap
Iran
- Mehdi TaremiStrikerCover: Ali Alipour · 0.270.39gap
- Alireza JahanbakhshWingerCover: Mohammad Mohebi · 0.530.30gap
- Hossein KanaanizadeganCentre-backCover: Ali Nemati · 0.270.22gap
Gap = how far a side's rating at the position falls from the starter to his likely in-squad replacement (named under each name). Larger = harder to replace. Descriptive metric, does not feed the published probabilities. Methodology →
Match conditions
- AltitudeNear sea level26 m
- Avg temperatureFive-year mean over the tournament window20.8 °C
- Avg humidity70%
- Heat stressShade WBGT ~22.5 °CLow heat stress
- Pitch surfacetemporary natural grass over artificial turf
Indoor artificial-turf stadium; natural grass is grown on a drainage-tray system over the turf under the translucent roof.
Heat stress is a shade Wet-Bulb Globe Temperature proxy from the venue's climatology mean temperature and humidity; FIFA mandates cooling breaks at WBGT 32 °C. Afternoon kickoff (local time). These are long-window averages, not a match-day forecast, and they are not inputs to the forecast.
Top scorers · P(scores in this match)
- Kevin De BruynePKMF7.1%
- Loïs OpendaFW6.5%
- Leandro TrossardFW4.1%
- Mehdi TaremiFW3.4%
- Mehdi GhayediFW2.6%
- Shahriyar MoghanlouFW2.3%
Per-player scoring rate from Model #5 (`p_score_per_match`). Reflects each player's npxG/90, expected minutes, team xG share, and the average opposing-team defence. See /docs/methodology/.
Recent match form
Last match player ratings
Belgium
vs Senegal · avg 8.0
Iran
vs Egypt · avg 6.4
Player scores from official highlight analysis of each team's most recent match. Observational, not a model input. Methodology →
Video analysis: player performance
Per-player ratings and event breakdowns from official highlights analysis. Tap a player to see their full match timeline.
9Thibaut CourtoisHis numerous world-class saves were instrumental in keeping Belgium in the match and securing a point.
3saves▼
His numerous world-class saves were instrumental in keeping Belgium in the match and securing a point.
Match timeline
8Romelu Lukaku76'–76'Scored the vital equalizing goal, providing the attacking impetus Belgium needed to get back into the match.
1goals▼
Scored the vital equalizing goal, providing the attacking impetus Belgium needed to get back into the match.
Match timeline
6Kevin De BruyneShowed moments of quality in attack but failed to convert a clear scoring opportunity.
1shots▼
Showed moments of quality in attack but failed to convert a clear scoring opportunity.
Match timeline
6Jérémy DokuCreated a corner by driving at the Iran defender, but had no further notable impact.
Created a corner by driving at the Iran defender, but had no further notable impact.
6Arthur TheateWas fouled by an opponent, but his overall defensive or attacking contributions were not highlighted.
Was fouled by an opponent, but his overall defensive or attacking contributions were not highlighted.
5Leandro TrossardMissed a clear opportunity by shooting over the bar after a corner.
Missed a clear opportunity by shooting over the bar after a corner.
5Dodi LukébakioCommitted a foul, and no other significant contributions were noted.
Committed a foul, and no other significant contributions were noted.
8Mehdi TaremiScored a brilliant opening goal and was a constant threat, but missed a crucial late chance that could have secured the win.
1goals2shots1on target▼
Scored a brilliant opening goal and was a constant threat, but missed a crucial late chance that could have secured the win.
Match timeline
7Mahdi TorabiCreated a dangerous scoring opportunity by breaking through and hitting the post, almost giving Iran an early lead.
Created a dangerous scoring opportunity by breaking through and hitting the post, almost giving Iran an early lead.
7Mehdi GhayediCreated a significant scoring opportunity by chipping the goalkeeper, which required a brilliant save to deny him.
Created a significant scoring opportunity by chipping the goalkeeper, which required a brilliant save to deny him.
6Alireza JahanbakhshWas fouled by an opponent, but his overall contributions were not highlighted.
Was fouled by an opponent, but his overall contributions were not highlighted.
4Sardar AzmounReceived a yellow card for a foul and was visibly frustrated by missed opportunities, indicating a poor performance.
1fouls won1 yellow▼
Received a yellow card for a foul and was visibly frustrated by missed opportunities, indicating a poor performance.
Match timeline
Match observations
- The match was a tense and hard-fought encounter at SoFi Stadium, with both teams desperate for a victory to advance in the World Cup.
- The first half was a cagey affair with few clear-cut chances, though Iran came closest with a shot hitting the post.
- The second half exploded into life with end-to-end action, featuring a goal for Iran, a late equalizer for Belgium, and numerous dramatic moments.
▸Under the hood
Model-by-model comparison
Belgium vs Iran
| Model | Weight | Home | Draw | Away |
|---|---|---|---|---|
| EloRating-based strength estimate | 32% | 57.1% | 22.0% | 20.9% |
| Dixon-ColesGoal-process model with low-score correction | 63% | 53.8% | 26.7% | 19.5% |
| Hierarchical PoissonBayesian model with confederation pooling | 6% | 54.9% | 25.6% | 19.4% |
| Bayesian stackingLearned-weight combination | — | 60.8% | 26.5% | 12.7% |
| Ensemble (published)Uniform average + isotonic calibration | — | 61.0% | 24.8% | 14.2% |
How each model works
- Elo
- Each team carries a single strength rating updated after every match by a margin-aware K-factor. Match probabilities come from the logistic function of the rating gap. Elo is fast-adapting but coarse — it sees only who won and by how much, not how the goals were scored.
- Dixon-Coles
- A Poisson regression on team-level attack and defence parameters, fitted via maximum likelihood with an exponential time-decay weighting. The Dixon-Coles correction adjusts the four low-score cells (0-0, 1-0, 0-1, 1-1) where independent Poisson underestimates dependence. Produces full scoreline distributions, not just H/D/A.
- Hierarchical Poisson
- A Bayesian Poisson model fitted via MCMC (PyMC) with hierarchical priors that pool attack and defence parameters within confederations. Shrinks small-sample teams toward their confederation mean — helpful for nations with few recent competitive fixtures. Slower to fit but better-calibrated on the tails.
- Bayesian stacking
- Optimises simplex weights (w_elo, w_dc, w_hp) to maximise the leave-one-out log-score across a walk-forward backtest (Yao et al. 2018). The result is a weighted average of the three component models' probabilities, then isotonic-calibrated. Adds no extra features — just learns which component to trust more from historical accuracy.
- Ensemble (published)
- Equal-weight average of all three component models, followed by per-class isotonic regression calibration fitted on 24 months of walk-forward out-of-fold predictions. This is the probability published on the site. The uniform mean is deliberately simple — it avoids overfitting to the stacking weights' training window.
Three independent component models feed two combination strategies. The uniform ensemble is the published probability; Bayesian stacking uses learned weights. Amber bars flag >5pp divergence from the published number. Full methodology
Probability decomposition (transparency surface)
- Baseline ensemble — P(Belgium win)50.8%
- + Lineup contribution0.0pp
- + Style-matchup contribution0.0pp
- Published P(Belgium win)50.8%
Decomposition of the published P(Belgium win) into the calibrated- baseline plus contributions from the §2.3 expected-XI lineup delta and the §2.7 style-matchup interaction. The §2.7 roadmap is explicit that style effects are second-order to team strength — single-digit-percentage P(win) shifts on extreme style matchups, near-zero on balanced ones. We surface the decomposition for transparency even when the contributions are small; the baseline carries the prediction. Methodology: /docs/methodology.
For this fixture both contributions round to under 0.05pp — the fitted style-matchup pair effect is in the small-magnitude regime the model expects to dominate.
Head-to-head history
| Date | Competition | Venue | Score | Result | xG |
|---|---|---|---|---|---|
| 21 Jun 2026 | FIFA World Cup | NInglewood | 0–0 | D | — |
Belgium vs Iran, every senior international meeting in the martj42 results dataset (score from Belgium's perspective; H/A/N = home/away/neutral).
Latest news & match context
- Folarin Balogun tells Donald Trump his World Cup red card intervention DID impact USA team before Belgium loss · Daily Mail — Football · 14 Jul
- Stage:
- Group G · Matchday 2
- Date:
- 21 Jun
Belgium and Iran both come in at close to full strength, so the forecast rests on baseline team strength rather than late team-news swings.
Availability from the predicted squads and injury feed; forecast adjustments from the model's own decomposition. See /docs/methodology/.
Standard Pass
This match is a free preview
You're seeing the model's full forecast for this fixture for free. Unlock the same depth: probabilities, expected goals, scoreline distributions, and per-player scoring, for all 104 matches with a Standard Pass, valid through the tournament.
Every forecast graded against the real result, scored on 987 matches since 2014. See the scorecard.
24h money-back, no questions asked·No subscription, no auto-renewal·Access through 31 Dec 2026. See refund policy.