Ligue 1 Matchweek 2 delivered a series of jolts to the established order, headlined by Paris Saint-Germain dropping points for the second week running in a 2-2 draw at Lille, while high-confidence calls on Lyon and a clean sheet for Lorient both went awry. It was a bruising round for our forecasting model, which saw its high-confidence match result calls fail to land and failed to correctly call a single exact scoreline across the nine fixtures.
How our forecasts did
The scoreboard offers a sobering read. The model’s strongest suit was on the win-or-draw market and both teams to score, where six of its nine graded calls proved correct. The outlook was far less rosy on the headline market: only three of the nine match result forecasts landed, a number dragged down by shock defeats for Lyon, Lorient and Auxerre. The total goals and first team to score calls each managed four correct outcomes, a middling return. At the bottom of the pile, the exact scoreline forecasts drew a blank, with none of the nine calls matching the final result, and the half-time and full-time market also struggled, landing just three correct calls.
Results
Lille 2-2 Paris Saint Germain
The round opened with the champions being pegged back again. Our model leaned into PSG’s historical dominance in this fixture and their strong underlying numbers, forecasting a Paris Saint-Germain win. That call was wrong, but the firm belief in goals was justified as the contest tipped past the 2.5 mark with both teams scoring.
Strasbourg 2-1 Lens
Lens arrived on the back of a five-goal salvo but left with nothing. The model’s medium-confidence call for a Lens win missed the mark, though it correctly identified that a draw was the least likely outcome and that the visitors would strike first. Both teams found the net in a match that sailed past two goals, as forecast.
Auxerre 1-3 Angers
This was a near-total washout for the model. Defensive frailties that were exposed at Monaco resurfaced for Auxerre, who were backed with medium confidence to win. Instead, Angers punished them in a game that blew past the low-confidence call for fewer than 2.5 goals. The only saving grace was the both-teams-to-score call landing.
Stade Brestois 29 2-2 Toulouse
A draw that the model considered the least likely result. The forecast of a winner either way was wrong, and Toulouse took the lead after Brest had been fancied to score first. The game did burst to life, vindicating the low-confidence projection for more than 2.5 goals and goals at both ends.
Lorient 1-2 Estac Troyes
The round’s biggest upset, and our model’s most damaging miss. The analysis saw two sides that had played out goalless draws on opening day meeting at a venue where Lorient had historically kept Troyes quiet. A medium-confidence Lorient win and a rare high-confidence call that at least one side would be kept off the scoresheet both failed, as Troyes struck twice in a game that flipped the script entirely.
Lyon 1-1 Le Havre
A high-confidence home win for Lyon never materialised. Our model pointed to Lyon’s comfortable opening win and Le Havre’s toothless start, placing firm belief in a Lyon victory and that they would score first. Neither happened. The win-or-draw safety net held, and both teams scored as the game ended level, but the home side’s absentees appeared to disrupt them more than anticipated.
Paris FC 3-0 Nice
A bright spot in a difficult round. The model’s medium-confidence call for a Paris FC win was rewarded, and it correctly saw the home side scoring first and leading at the interval and the final whistle. The scoreline blew past the expectation of a tight game, however, with the call for fewer than 2.5 goals and both teams to score both falling short.
Rennes 3-2 Le Mans
The model’s most authoritative performance of the weekend. A high-confidence Rennes win, more than 2.5 goals, and Rennes to score first all landed in a frantic contest. The projection that both teams would score was also correct, reflecting the attacking threat and defensive vulnerability on show at Roazhon Park.
Monaco 2-0 Marseille
A controlled home win for Monaco, correctly forecast despite Marseille arriving on the back of a glittering 4-0 victory. The model correctly saw Monaco winning, scoring first, and leading at the break and the final whistle. The low-confidence calls for a goal-fest and both teams to score were off the mark, as Monaco’s defence held firm in a match that finished under the 2.5 goal line.
What we got wrong
The round’s most glaring misfire was the clean-sheet forecast in the Lorient match. The model, reading two goalless opening-day performances and Lorient’s strong defensive record in this specific home fixture, issued a high-confidence call that at least one side would be kept off the scoresheet. Estac Troyes, who had offered little attacking thrust a week earlier, scored twice, punting that forecast into the long grass and dragging the medium-confidence home-win call with it.
The high-confidence Lyon win was similarly jarring. The analysis correctly identified that Le Havre had barely mustered a threat in their opener, but the absences of Abner Vinicius and Ruben Kluivert proved more destabilising than the model had priced in. Lyon failed to score first and never looked like the dominant force the high-confidence call demanded. Across the round, the exact scoreline market was a black hole: none of the nine attempts found the mark, a stark reminder of how volatile that particular call remains even when the broader match narrative is read correctly.
What the round changed
Paris Saint-Germain’s second consecutive draw leaves an unfamiliar sight at the top of the early table, while Marseille’s defeat in Monaco punctures some of the aura built by their opening-day rout. For the model, a round where only three match-result calls landed is a bruising reality check, and the failures on high-confidence forecasts in Lyon and Lorient will demand a closer look at how personnel absences and historical defensive records are weighted. There is plenty of the season left to sharpen those readings.