How expected points (xPts) are calculated

Expected points turn a match's expected goals into the points a team would earn on average. Here is exactly how this site does it.

1. The inputs: match-level xG

For every finished World Cup 2026 match we take each team's total expected goals (xG) from the match data — a single number per team that sums the quality of all their chances. Goals, results and the official table come from public match data too. Expected goals are sourced, not computed here; only expected points (xPts) are calculated on this site, from those xG figures.

Matches enter the dataset only after they are completed and published xG is available. Scheduled, live, in-progress, postponed, and xG-pending matches are not added to the xG tables, and missing xG is never filled in as 0.00.

2. The model: two independent Poisson distributions

We treat each team's match xG as the mean (λ) of a Poisson distribution over goals scored. From the two distributions we build a score-probability matrix for every realistic scoreline (0–0 up to 10–10), then sum the cells into three outcomes: P(home win), P(draw), P(away win). Expected points are then:

xPts = 3 × P(win) + 1 × P(draw)

This is the same independent-Poisson approach used by outlets like FiveThirtyEight, and it lands within a hundredth of a point of the shot-by-shot simulation Understat uses — without needing shot-level data.

3. A worked example

Take a match where the home side records 2.1 xG and the away side 0.2 xG. Running the Poisson matrix gives roughly P(win) = 0.83, P(draw) = 0.15, P(loss) = 0.02 — so the home team's expected points are 3 × 0.83 + 1 × 0.15 ≈ 2.63, and the away team's are ≈ 0.23. If that match actually finished 0–0, both sides scored 1 actual point: the home team massively under-performed (Δ ≈ −1.63), the away team over-performed (Δ ≈ +0.77).

4. Reading the numbers

In the group stage, we sum each team's per-match expected points and compare them to its official group points. A large positive Δ (points − xPts) marks an overperformer — clinical finishing or good fortune. A large negative Δ marks a team that, on the balance of group-stage chances, deserved better.

In the knockout stage, xPts is match-level chance context only. The score decides who advances. A knockout team can be eliminated despite a strong xG or xPts profile, but xPts does not create standings points or change the bracket.

5. Daily recaps: luck in a single match

The same Δ also works one match at a time. In a daily recap we compare the points a team actually took from that game (3, 1 or 0) with its expected points for that match alone — not the season total. A team that draws 0–0 having earned 2.6 xPts posts a match Δ of 1 − 2.6 = −1.6: it should have won.

We label the most negative match Δ of the day the biggest xG robbery and the most positive the most fortunate result — but only when the gap is at least a full point (|Δ| ≥ 1.0). In knockout matches, this flags whether the chance profile supported the advancement or elimination; it never overrides the score. Below the threshold, a result broadly matched its xG, and we say so rather than manufacture a storyline.

Limitations to keep in mind

Data policy

xGQuadrant is post-match only. The site uses public match data, keeps official standings separate from expected-points tables, and treats published FIFA rank numbers as context rather than proof of luck or team quality. World Cup field rank is derived only from qualified teams and is not an official FIFA standing.

See the glossary for definitions of every metric, or jump back to the interactive luck quadrant.