Ligue 1
The Ligue 1 through our xG model: the table underneath the table, our honest record on it, who plays next, and who is in form. Rebuilt from live data twice an hour. Not tips — a public test. This season.
xG ratings — the table underneath the table
Ranked by chance quality (xG difference per match), not by results. Every column sorts; hover a header for what it means.
On chance quality alone, Paris Saint Germain were the best side here (+1.04 xG difference per game). Marseille scored +7.2 goals more than their chances were worth, the biggest gap in the division. They also took +5.5 points more than those chances deserved. Gaps like that usually shrink over time, which is why sides at the top of them often fall away.
| # | Team | Pld | W-D-L | Pts | xPts | Pts +/- | GF | GA | xGF/g | xGA/g | xG diff | G vs xG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Paris Saint Germain | 8 | 5-2-1 | 17 | 15.6 | +1.4 | 19 | 9 | 2.15 | 1.10 | +1.04 | +1.8 |
| 2 | Paris FC | 9 | 5-2-2 | 17 | 15.9 | +1.1 | 16 | 10 | 1.68 | 0.93 | +0.74 | +0.9 |
| 3 | Toulouse | 9 | 2-4-3 | 10 | 16.0 | -6.0 | 12 | 13 | 1.81 | 1.12 | +0.68 | -4.3 |
| 4 | Stade Brestois 29 | 9 | 3-3-3 | 12 | 14.5 | -2.5 | 16 | 12 | 1.78 | 1.28 | +0.50 | +0.0 |
| 5 | Lyon | 9 | 5-2-2 | 17 | 14.4 | +2.6 | 15 | 7 | 1.50 | 1.11 | +0.38 | +1.5 |
| 6 | Lens | 9 | 4-1-4 | 13 | 13.1 | -0.1 | 16 | 13 | 1.73 | 1.51 | +0.22 | +0.5 |
| 7 | Lorient | 9 | 3-3-3 | 12 | 12.2 | -0.2 | 7 | 8 | 1.11 | 1.09 | +0.01 | -3.0 |
| 8 | Lille | 9 | 5-3-1 | 18 | 12.8 | +5.2 | 12 | 6 | 1.36 | 1.39 | -0.03 | -0.2 |
| 9 | Estac Troyes | 9 | 2-2-5 | 8 | 11.6 | -3.6 | 7 | 16 | 1.24 | 1.32 | -0.08 | -4.1 |
| 10 | Monaco | 9 | 4-3-2 | 15 | 11.7 | +3.3 | 12 | 10 | 1.23 | 1.36 | -0.13 | +1.0 |
| 11 | Le Havre | 9 | 0-2-7 | 2 | 11.2 | -9.2 | 9 | 20 | 1.63 | 1.85 | -0.22 | -5.7 |
| 12 | Rennes | 9 | 5-1-3 | 16 | 11.3 | +4.7 | 20 | 19 | 1.95 | 2.26 | -0.31 | +2.4 |
| 13 | Marseille | 8 | 5-0-3 | 15 | 9.5 | +5.5 | 19 | 11 | 1.48 | 1.85 | -0.38 | +7.2 |
| 14 | Nice | 9 | 4-2-3 | 14 | 10.5 | +3.5 | 13 | 12 | 1.34 | 1.72 | -0.38 | +0.9 |
| 15 | Angers | 9 | 2-2-5 | 8 | 10.4 | -2.4 | 9 | 17 | 1.31 | 1.70 | -0.39 | -2.8 |
| 16 | Le Mans | 9 | 1-4-4 | 7 | 10.2 | -3.2 | 11 | 18 | 1.40 | 1.85 | -0.44 | -1.6 |
| 17 | Strasbourg | 9 | 3-1-5 | 10 | 9.2 | +0.8 | 17 | 19 | 1.30 | 1.77 | -0.46 | +5.3 |
| 18 | Auxerre | 9 | 3-1-5 | 10 | 9.9 | +0.1 | 13 | 23 | 1.36 | 2.03 | -0.68 | +0.8 |
What each column means
- Pld — Matches played
- W-D-L — Wins, draws and losses
- Pts — Actual league points won
- xPts — Expected points — what the chances created and conceded in each match were worth, run through the same model as the rest of the site
- Pts +/- — Actual points minus expected points. Positive means they took more from their chances than the chances deserved — finishing, goalkeeping, or luck
- GF — Goals scored
- GA — Goals conceded
- xGF/g — Expected goals created per match — the quality of chances they made
- xGA/g — Expected goals conceded per match — the quality of chances they allowed
- xG diff — xGF/g minus xGA/g. The honest measure of how good a side has been, regardless of results
- G vs xG — Goals scored minus expected goals. A big positive means clinical finishing or good luck, and it usually drifts back to zero
Our record on the Ligue 1
10 of 25 fixtures the model called here have read right so far, on 10–15 (3v) settled calls. CLV (did it beat the closing price?) -2.27% (n=26); reference P/L -5.99u. Small sample — the full record has the lot.
Coming up
- Toulouse v Strasbourg — Fri 06 Nov · 19:45
- Auxerre v Paris FC — Sat 07 Nov · 16:15
- Paris Saint Germain v Estac Troyes — Sat 07 Nov · 19:45
- Rennes v Lille — Sun 08 Nov · 14:00
- Angers v Nice — Sun 08 Nov · 16:15
- Stade Brestois 29 v Lyon — Sun 08 Nov · 16:15
- Le Havre v Lorient — Sun 08 Nov · 16:15
- Le Mans v Monaco — Sun 08 Nov · 16:15
- Lens v Marseille — Sun 08 Nov · 19:45
- Estac Troyes v Le Havre — Fri 20 Nov · 19:45
Each fixture page carries the model’s full market read. The whole board →
Players in form
This season, league games only. Match ratings are the data provider’s, not our model. Descriptive, not predictive.