Jupiler Pro League table 2026/2027
- Leader Royale Union Saint-Gilloise 19 pts
- Most above xPts KAA Gent +6.35 against expected points
- Most below xPts Cercle Brugge −5.76 against expected points
Jupiler Pro League ends in play-off groups. This table counts every league match; the official table may differ. Points halved before the play-offs are not modelled.
The standings, with the expected figures beside them: what each club's chances were worth, match by match, next to what it actually took.
Showing non-penalty xG. Penalties are removed from xG, xGA and xGD; xPts is unchanged.
| # restore the table order | Team | P sort descending | W sort descending | D sort descending | L sort descending | GF sort descending | GA sort descending | GD sort descending | Pts sort descending | npxG sort descending | npxGA sort descending | npxGD sort descending | xPts sort descending | Pts vs xPts sort descending |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Royale Union Saint-Gilloise ROY | 7 | 6 | 1 | 0 | 21 | 3 | +18 | 19 | 14.83 | 7.26 | +7.57 | 13.89 | +5.11 |
| 2 | KAA Gent KAA | 7 | 6 | 1 | 0 | 13 | 4 | +9 | 19 | 7.45 | 4.86 | +2.59 | 12.65 | +6.35 |
| 3 | Club Brugge KV CLU | 7 | 6 | 0 | 1 | 15 | 3 | +12 | 18 | 13.55 | 8.63 | +4.92 | 13.32 | +4.68 |
| 4 | RC Sporting Charleroi RCS | 7 | 6 | 0 | 1 | 15 | 7 | +8 | 18 | 12.00 | 6.85 | +5.15 | 14.16 | +3.84 |
| 5 | RSC Anderlecht RSC | 7 | 4 | 1 | 2 | 7 | 5 | +2 | 13 | 11.41 | 6.06 | +5.35 | 13.17 | −0.17 |
| 6 | SV Zulte Waregem SVZ | 7 | 3 | 2 | 2 | 10 | 7 | +3 | 11 | 8.85 | 8.73 | +0.12 | 9.37 | +1.63 |
| 7 | Standard Liège STA | 7 | 3 | 2 | 2 | 13 | 12 | +1 | 11 | 11.10 | 9.06 | +2.04 | 10.36 | +0.64 |
| 8 | KVC Westerlo KVC | 7 | 3 | 1 | 3 | 15 | 16 | −1 | 10 | 9.60 | 12.06 | −2.46 | 8.65 | +1.35 |
| 9 | KRC Genk KRC | 7 | 2 | 3 | 2 | 13 | 12 | +1 | 9 | 10.94 | 6.74 | +4.20 | 11.51 | −2.51 |
| 10 | SK Beveren SKB | 7 | 3 | 0 | 4 | 7 | 11 | −4 | 9 | 6.74 | 12.14 | −5.40 | 6.66 | +2.34 |
| 11 | Sint-Truidense VV SIN | 7 | 2 | 2 | 3 | 12 | 12 | 0 | 8 | 13.66 | 11.43 | +2.23 | 10.08 | −2.08 |
| 12 | Lommel SK LOM | 7 | 2 | 2 | 3 | 6 | 8 | −2 | 8 | 5.81 | 10.85 | −5.04 | 7.01 | +0.99 |
| 13 | Royal Antwerp FC ROY | 7 | 2 | 1 | 4 | 11 | 15 | −4 | 7 | 8.93 | 14.72 | −5.79 | 7.02 | −0.02 |
| 14 | RAAL La Louvière RAA | 7 | 1 | 1 | 5 | 7 | 14 | −7 | 4 | 8.45 | 11.74 | −3.29 | 7.54 | −3.54 |
| 15 | Oud-Heverlee Leuven OUD | 7 | 1 | 1 | 5 | 5 | 13 | −8 | 4 | 7.37 | 10.69 | −3.32 | 6.05 | −2.05 |
| 16 | Cercle Brugge CER | 7 | 0 | 3 | 4 | 8 | 14 | −6 | 3 | 10.26 | 10.84 | −0.58 | 8.76 | −5.76 |
| 17 | KV Mechelen KVM | 7 | 0 | 3 | 4 | 5 | 14 | −9 | 3 | 7.10 | 10.53 | −3.43 | 8.34 | −5.34 |
| 18 | KV Kortrijk KVK | 7 | 1 | 0 | 6 | 2 | 15 | −13 | 3 | 7.08 | 11.94 | −4.86 | 6.09 | −3.09 |
- More points than xPts
- Fewer points than xPts
How to read this table
- xG
- Expected goals: the summed chance quality of the shots a club took. A chance scored nine times in ten is worth 0.9.
- xGA
- Expected goals against: the same measure for the shots a club allowed.
- xGD
- xG minus xGA: how far a club's chances outweighed its opponents', or the other way round.
- xPts
- Expected points: the points a club's match-by-match xG would be worth on average. Each match's two xG figures become chances of a win, a draw and a loss, and a win is worth 3 and a draw 1.
- Pts vs xPts
- Actual points minus expected points based on match xG. Positive, drawn in green, is more points than the chances were worth on average; negative, in red, is fewer. It measures the gap and says nothing about its cause.
- npxG
- Non-penalty xG: xG with penalties removed, offered where the competition's figures support it. It changes xG, xGA and xGD; xPts is always worked out from all xG.
Expected points are read off the same score matrix that prices the board: each played match's two xG totals are taken as scoring rates, and the team's share is 3 × P(win) + 1 × P(draw), summed over the season. Understat arrives at the same figure by simulating each shot, which needs per-shot data, held here for %{competitions}. Passes per defensive action and deep completions are not shown because no source here ingests the event data behind them.