Ligue 1

· France

Strength. Context. What's next.

League Strength League Strength uses the mean Elo of this league's clubs on a separate fixed 0–100 scale. L90 Strength rates each club from its own Elo with a different calibration. League Strength is not the average L90 Strength, and the two scores are not directly comparable.71 / 100Avg L90 Strength 41 · mean Elo 1586
Competitive Index4 / 100How open the title race is
Matches played63 / 306Season progress 21%

Fixtures & Forecasts

Match results, upcoming fixtures and pre-match predictions.

All fixtures →
MatchDateHomeScoreAway1X2xG (forecast)TOTAL xGBTTSOver 2.5Weather
Stade Brestois 29 Nice Fri, Oct 2319:45 Stade Brestois 29 vs Nice 53%|23%|24% 1.90|1.22 3.12 60% 60% 11°C
Toulouse Estac Troyes Sat, Oct 2416:15 Toulouse vs Estac Troyes 69%|19%|12% 2.26|0.83 3.09 51% 60% 17°C
Lens Paris FC Sat, Oct 2419:45 Lens vs Paris FC 59%|21%|21% 2.25|1.29 3.54 65% 69% 10°C
Monaco Lille Sun, Oct 2514:00 Monaco vs Lille 44%|26%|30% 1.53|1.23 2.76 56% 52% 17°C
Angers Lorient Sun, Oct 2516:15 Angers vs Lorient 29%|25%|47% 1.32|1.73 3.05 61% 59% 16°C
Marseille LE Havre Sun, Oct 2516:15 Marseille vs LE Havre 62%|21%|17% 2.21|1.10 3.31 60% 64% 19°C
Rennes Strasbourg Sun, Oct 2516:15 Rennes vs Strasbourg 56%|21%|23% 2.24|1.40 3.64 68% 70% 12°C
Auxerre Le Mans Sun, Oct 2516:15 Auxerre vs Le Mans 53%|22%|25% 2.05|1.36 3.41 65% 66% 16°C
Paris Saint Germain Lyon Sun, Oct 2519:45 Paris Saint Germain vs Lyon 77%|14%|9% 3.05|1.03 4.08 62% 77% 11°C
Forecast fit Good / Close Fair Low / Poor Not evaluated

xG (forecast) shows LOAD90 expected goals as home | away. TOTAL xG is their sum: the expected total goals in the match. 1X2 shows home win (1) | draw (X) | away win (2) probabilities; bold marks the most likely outcome before the match and the actual outcome after it. BTTS and Over 2.5 are LOAD90 probabilities. xG below a final score is the actual match xG, home – away. Missing data is shown as —.

Forecast evaluation · how to read the colours

1X2 fit in the 1X2 column evaluates the saved home / draw / away probabilities against the actual outcome using Brier score: Σ(probability − actual outcome)², with 1 for the actual outcome and 0 for the other two. It does not grade the total goals or demand an exact score: 1–0 and 5–1 receive the same 1X2 fit for the same forecast. xG margin fit on forecast xG compares who was expected to dominate, and by how much, with the actual match xG: |(λ home − λ away) − (xG home − xG away)|, where a margin is home minus away. It is direction-aware: a favourite that really dominated is not marked down just for creating more or less than forecast in total, while the wrong direction gives a large gap. It does not depend on the final score or on total xG (see TOTAL xG fit). A low 1X2 fit and close xG margin fit can occur together; finishing variation may be one explanation.

TOTAL xG fit compares the displayed forecast total with the final goal count: |TOTAL xG − (home goals + away goals)|. This describes distance from the expected mean, not the probability of the exact score. The expected total is not a guaranteed result; a large difference in one match does not establish a model error. Separate frozen reference forecast_total_fit_v1: 250 retrospective forecasts from the same dates. Close: difference ≤ 0.65 goals; Poor: difference ≥ 2.00 goals; Fair: between them. This fit does not require actual match xG.

BTTS and Over 2.5 colours evaluate their own Yes/No outcomes using binary Brier score. Green/teal → amber → red means closer → less close. Good / Close is the lowest-error quarter of the reference; Low / Poor is the highest-error quarter. Fair is between them. Hover over a coloured metric for its values. Without a valid pre-match snapshot or both actual xG values, the corresponding indicator stays neutral.

xG margin fit uses its own frozen reference forecast_xg_margin_fit_v1: 137 retrospective LOAD90 forecasts with actual match xG, 15 Aug–20 Sep 2026. Close: gap ≤ 0.38; Poor: gap ≥ 1.41; Fair: between them. It supersedes the older per-team xG scale of forecast_fit_v1 for the xG (forecast) column.

Fixed reference forecast_fit_v1: 250 retrospective LOAD90 forecasts, 15 Aug–20 Sep 2026; actual xG available for 137 matches. This is a retrospective colour scale, not evidence of live forecast accuracy. One match cannot establish whether a probability model is well calibrated.

League table & season forecast

Current standings, with the season ahead in the same view.

View League Table →

Swipe to explore the season forecast →

#ClubRatingPWDLGFGAGDPtsProj. ptsLikely finish 80% rangeTitleTop 4Rel.FormClub details
1▲ Lyon 60 7 421135 +8 14 60 2–7 1% 65% 0%
League record4 W · 2 D · 1 L13 scored · 5 conceded
Attack / Defence55 / 56Fixed 0–100 scales
Next match load21Context index · all competitions
Next 5 · match loadOpen a match for details
2▲ Paris Saint Germain 90 7 421149 +5 14 81 1st 98% >99% 0%
League record4 W · 2 D · 1 L14 scored · 9 conceded
Attack / Defence91 / 83Fixed 0–100 scales
Next match load28Context index · all competitions
Next 5 · match loadOpen a match for details
3▲ Paris FC 34 7 421127 +5 14 49 5–12 <1% 9% <1%
League record4 W · 2 D · 1 L12 scored · 7 conceded
Attack / Defence46 / 38Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
4▼ Lille 56 7 421105 +5 14 57 2–9 <1% 47% <1%
League record4 W · 2 D · 1 L10 scored · 5 conceded
Attack / Defence42 / 60Fixed 0–100 scales
Next match load15Context index · all competitions
Next 5 · match loadOpen a match for details
5▼ Monaco 56 7 421106 +4 14 60 2–7 <1% 63% 0%
League record4 W · 2 D · 1 L10 scored · 6 conceded
Attack / Defence45 / 56Fixed 0–100 scales
Next match load5Context index · all competitions
Next 5 · match loadOpen a match for details
6▼ Rennes 52 7 4121514 +1 13 57 2–9 <1% 46% 0%
League record4 W · 1 D · 2 L15 scored · 14 conceded
Attack / Defence63 / 39Fixed 0–100 scales
Next match load21Context index · all competitions
Next 5 · match loadOpen a match for details
7▲ Lorient 34 7 32276 +1 11 45 7–14 0% 2% 1%
League record3 W · 2 D · 2 L7 scored · 6 conceded
Attack / Defence28 / 45Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
8▲ Lens 58 7 3131411 +3 10 56 2–9 <1% 39% <1%
League record3 W · 1 D · 3 L14 scored · 11 conceded
Attack / Defence63 / 53Fixed 0–100 scales
Next match load15Context index · all competitions
Next 5 · match loadOpen a match for details
9▲ Marseille 47 7 3041410 +4 9 50 4–12 <1% 14% <1%
League record3 W · 0 D · 4 L14 scored · 10 conceded
Attack / Defence48 / 46Fixed 0–100 scales
Next match load32Context index · all competitions
Next 5 · match loadOpen a match for details
10▼ Stade Brestois 29 34 7 2321310 +3 9 44 7–14 0% 3% 1%
League record2 W · 3 D · 2 L13 scored · 10 conceded
Attack / Defence47 / 36Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
11▲ Toulouse 39 7 2321211 +1 9 47 5–13 0% 6% <1%
League record2 W · 3 D · 2 L12 scored · 11 conceded
Attack / Defence45 / 49Fixed 0–100 scales
Next match load5Context index · all competitions
Next 5 · match loadOpen a match for details
12▲ Auxerre 30 7 3041117 -6 9 41 9–15 0% 1% 3%
League record3 W · 0 D · 4 L11 scored · 17 conceded
Attack / Defence39 / 25Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
13▼ Nice 27 7 22369 -3 8 38 10–16 0% <1% 6%
League record2 W · 2 D · 3 L6 scored · 9 conceded
Attack / Defence26 / 35Fixed 0–100 scales
Next match load12Context index · all competitions
Next 5 · match loadOpen a match for details
14▼ Strasbourg 45 7 2141215 -3 7 47 6–13 0% 5% <1%
League record2 W · 1 D · 4 L12 scored · 15 conceded
Attack / Defence40 / 37Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
15▼ Angers 19 7 214915 -6 7 30 14–18 0% 0% 40%
League record2 W · 1 D · 4 L9 scored · 15 conceded
Attack / Defence22 / 12Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
16▼ Le Mans 26 7 1331015 -5 6 36 11–17 0% <1% 13%
League record1 W · 3 D · 3 L10 scored · 15 conceded
Attack / Defence27 / 21Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
17– Estac Troyes 12 7 115516 -11 4 24 16–18 0% 0% 82%
League record1 W · 1 D · 5 L5 scored · 16 conceded
Attack / Defence12 / 19Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
18– LE Havre 20 7 025511 -6 2 28 14–18 0% 0% 54%
League record0 W · 2 D · 5 L5 scored · 11 conceded
Attack / Defence20 / 22Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
80% finish rangeMedian finishCompare positions →Ordered by current league position▲ Up · ▼ Down · – Unchanged · Since the start of the latest played matchweek
- Champions League (League Stage)- Champions League (3rd Qualif. round)- Europa League (League Stage)- Europa Conference League (Qualification)- Relegation play-offs- Relegation - Ligue 2

Projected points and positions from 5,000 season simulations. Relegation means the bottom 2 (play-offs not modelled). Updated 35 minutes ago. Pure football forecast, no betting market input.

League position comparison

Actual standings by matchweek · Ligue 1

All 18 clubs · MW 7

ClubPosition · MW 7

First place is at the top. All clubs share the same matchweek cutoffs; partial rounds are marked. Postponed results enter later snapshots.

View position data for all clubs
League positions by matchweek
MWLyonParis Saint GermainParis FCLilleMonacoRennesLorientLensMarseilleStade Brestois 29ToulouseAuxerreNiceStrasbourgAngersLe MansEstac TroyesLE Havre
1471335811219161712181561014
2411231515781216181710913614
3214341581011717181561213916
4475123910138171518611141216
5263415121517111310148791618
6465213810137151691112141718
7123456789101112131415161718