Jupiler Pro League table 2025/2026
- Leader Club Brugge KV 88 pts
- Most above xPts Club Brugge KV +13.07 against expected points
- Most below xPts FCV Dender −11.81 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 same clubs ranked on expected points — what each club's match-by-match xG would be worth on average.
| # restore the table order | Move sort descending | 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 | xG sort descending | xGA sort descending | xGD sort descending | xPts sort descending | Pts vs xPts sort descending |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Up 1 place against the actual table | Royale Union Saint-Gilloise ROY | 40 | 25 | 11 | 4 | 66 | 27 | +39 | 86 | 65.38 | 34.18 | +31.20 | 75.37 | +10.63 |
| 2 | Down 1 place against the actual table | Club Brugge KV CLU | 40 | 28 | 4 | 8 | 91 | 45 | +46 | 88 | 76.34 | 44.56 | +31.78 | 74.93 | +13.07 |
| 3 | Same place as in the actual table | Sint-Truidense VV SIN | 40 | 22 | 5 | 13 | 61 | 46 | +15 | 71 | 64.06 | 47.83 | +16.23 | 66.62 | +4.38 |
| 4 | Same place as in the actual table | KRC Genk KRC | 41 | 15 | 15 | 11 | 57 | 53 | +4 | 60 | 64.06 | 50.07 | +13.99 | 66.02 | −6.02 |
| 5 | Up 2 places against the actual table | KAA Gent KAA | 41 | 13 | 13 | 15 | 53 | 57 | −4 | 52 | 58.13 | 59.75 | −1.62 | 57.01 | −5.01 |
| 6 | Up 2 places against the actual table | KVC Westerlo KVC | 40 | 14 | 10 | 16 | 50 | 57 | −7 | 52 | 58.55 | 61.68 | −3.13 | 55.74 | −3.74 |
| 7 | Up 2 places against the actual table | RC Sporting Charleroi RCS | 40 | 14 | 9 | 17 | 50 | 50 | 0 | 51 | 52.08 | 50.64 | +1.44 | 55.64 | −4.64 |
| 8 | Down 2 places against the actual table | RSC Anderlecht RSC | 40 | 15 | 10 | 15 | 59 | 62 | −3 | 55 | 57.11 | 60.66 | −3.55 | 54.29 | +0.71 |
| 9 | Up 4 places against the actual table | Cercle Brugge CER | 36 | 10 | 11 | 15 | 53 | 58 | −5 | 41 | 56.45 | 53.32 | +3.13 | 51.87 | −10.87 |
| 10 | Up 2 places against the actual table | Royal Antwerp FC ROY | 40 | 13 | 9 | 18 | 43 | 48 | −5 | 48 | 51.24 | 54.51 | −3.27 | 51.62 | −3.62 |
| 11 | Up 3 places against the actual table | Oud-Heverlee Leuven OUD | 40 | 10 | 10 | 20 | 41 | 60 | −19 | 40 | 46.95 | 59.20 | −12.25 | 46.61 | −6.61 |
| 12 | Down 7 places against the actual table | Standard Liège STA | 40 | 16 | 9 | 15 | 44 | 46 | −2 | 57 | 45.89 | 59.12 | −13.23 | 45.62 | +11.38 |
| 13 | Down 2 places against the actual table | SV Zulte Waregem SVZ | 36 | 13 | 9 | 14 | 53 | 53 | 0 | 48 | 48.97 | 54.79 | −5.82 | 44.95 | +3.05 |
| 14 | Down 4 places against the actual table | KV Mechelen KVM | 40 | 13 | 12 | 15 | 48 | 61 | −13 | 51 | 44.25 | 67.78 | −23.53 | 40.22 | +10.78 |
| 15 | Same place as in the actual table | RAAL La Louvière RAA | 36 | 7 | 13 | 16 | 35 | 50 | −15 | 34 | 36.85 | 49.03 | −12.18 | 39.95 | −5.95 |
| 16 | Same place as in the actual table | FCV Dender FCV | 38 | 5 | 11 | 22 | 33 | 65 | −32 | 26 | 41.33* | 60.52 | −19.19 | 36.81 | −11.81 |
| 17 | Up 2 places against the actual table | K. Beerschot V.A. KBE | 4 | 0 | 2 | 2 | 5 | 9 | −4 | 2 | — | — | — | — | — |
| 18 | Down 1 place against the actual table | Lommel SK LOM | 6 | 5 | 1 | 0 | 14 | 5 | +9 | 16 | — | — | — | — | — |
| 19 | Down 1 place against the actual table | Patro Eisden Maasmechelen PAT | 2 | 0 | 2 | 0 | 3 | 3 | 0 | 2 | — | — | — | — | — |
| 20 | Same place as in the actual table | RFC Liège RFC | 2 | 0 | 0 | 2 | 1 | 5 | −4 | 0 | — | — | — | — | — |
- More points than xPts
- Fewer points than xPts
Ranked by xPts. ▲ / ▼ beside the rank shows how far a club sits above or below its place in the actual table.
- xG is available for 36 of 38 matches for FCV Dender.
- xG is available for 0 of 6 matches for Lommel SK.
- xG is available for 0 of 2 matches for Patro Eisden Maasmechelen.
- xG is available for 0 of 4 matches for K. Beerschot V.A..
- xG is available for 0 of 2 matches for RFC Liège.
- For those clubs the expected columns count only the matches with xG, and Pts vs xPts sets their expected points against the points from those same matches.
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.