Ligue 1 · Saturday, 17 October 2026 · 19:45. Final score 1–1 (half-time 0–1). Before kick-off we rated it 50% under 2.5 goals — the match finished with 2, so that call landed. That rating was frozen into a version-controlled ledger before the game and has not been touched since.
Open this match in the app →| Market | Yes | No | Our call |
|---|---|---|---|
| Over 2.5 goals | 50% | 50% | Over |
| Over 3.5 goals | 30% | 70% | no pick |
| Both teams to score | 52% | 48% | Yes |
The result model puts Lille at 55%, the draw at 25% and Stade Brestois 29 at 20%, from expected goals of 1.68 and 0.9.
| Market | Price | Implied | Our rating | Edge |
|---|---|---|---|---|
| Over 2.5 goals | 1.73 | 55% | 50% | -5% |
| Under 2.5 goals | 2.10 | 45% | 50% | +5% |
| Both teams to score | 1.62 | 58% | 52% | -6% |
Implied percentages have the bookmaker's margin removed, so they add to 100 and can be compared with our rating directly. Edge is simply the gap between the two. A positive edge means our model thinks the outcome is likelier than the price suggests — it is not a tip, and a high probability with a negative edge is a poor bet however safe it looks. Prices are a pre-match snapshot from a single bookmaker and move constantly.
Match odds: Lille 2.05, draw 3.50, Stade Brestois 29 3.40.
The league sets the starting point. Ligue 1 has produced over 2.5 goals in 54% of its matches, and that is where a team with no record of its own would sit.
Each side's own record. Lille have 2 in 6 this season (1 of 3 at home), Stade Brestois 29 5 in 6 (3 of 3 away). Those records are pulled toward the league rate with the weight of about 24 matches — enough that two or three unusual games cannot swing a rating — giving 50% and 60%.
Last season still counts, briefly. With 6 and 6 games played this season, last season's rates are still blended in and fade out entirely by game 40 — the point at which our testing showed they stop adding accuracy. A single season is part luck, so each club's record is first pulled toward the league average by 34 games' weight. That moves the two figures to 47% and 53%.
The mix. Weighted 40% home side, 40% away side and 20% league — the split that beat every alternative across 30,582 matches of testing — that gives 51%.
Head to head. These sides have met 6 times in three years, producing over 2.5 goals in 33%. That nudges the number 5% of the way toward the head-to-head pattern — deliberately small, because fixtures change more than reputations do — landing on 50%.
Goal expectation. Separately a Poisson model built from attack and defence strength — using real expected-goals data where the league has it — puts this match at 48%, from expected goals of 1.68 for Lille and 0.9 for Stade Brestois 29. Folding in 30% of that view gives 49%.
Calibration. Tested against 97,729 past matches, our ratings below 55% have run consistently too pessimistic — a figure in the high 30s, for instance, has come in about four points higher. So ratings in that range are lifted part-way back, giving 50%.
This breakdown is generated from the same inputs the rating uses, so it cannot describe a calculation we did not perform. The full model is set out in the methodology.
| Team | Games | O2.5 | O3.5 | BTTS |
|---|---|---|---|---|
| Lille | 6 | 33% | 17% | 33% |
| Stade Brestois 29 | 6 | 83% | 50% | 83% |
More: Lille season stats · Stade Brestois 29 season stats · Ligue 1 table and form. Ratings are calibrated probabilities, not tips — a 60% call is expected to miss two times in five.