The 2026 Ligue 1 season continued with a challenging Matchweek 4, defined by surprising stalemates and tight defensive performances that largely caught our forecasting model off guard. In a weekend where Paris Saint Germain scraped a narrow away victory and a flurry of fixtures ended goalless, the projections enjoyed moderate success calling the outright match outcomes but struggled heavily to read the overall goal outputs.
How our forecasts did
It was a bruising round for our exact scoreline calls, with zero of the nine forecasts proving correct, making it the least successful topic of the weekend. Goal tallies were consistently difficult to predict, as just three of the nine total goals projections and three of the nine both teams to score forecasts hit the mark. The model fared much better on broader outcomes: six of the nine win or draw calls landed, making it the most successful topic of the round, while five of the nine match result calls were correct. Elsewhere, the first team to score topic saw four of the nine calls succeed, and two of the nine half-time and full-time forecasts were accurate.
Results
Rennes 1-0 Marseille A medium-confidence call for a Rennes win proved correct, as the hosts maintained a sharp start to the season that has now yielded seven points from three games. Our projection correctly identified Rennes to open the scoring, though the expectation of more than 2.5 goals in the match failed to materialise given Marseille's lingering struggles on the road.
Strasbourg 1-1 Monaco Monaco arrived with a perfect record and a history of goal fests in this fixture, prompting a firm call for more than 2.5 goals. Instead, the sides shared the points in a low-scoring affair, breaking our cautious call for an away victory, although Monaco did deliver on our forecast to score the opening goal, and both teams found the net as projected.
Auxerre 1-0 Nice Two struggling sides met at the Stade de l’Abbé-Deschamps looking for their first wins, and a cautious projection for an Auxerre victory landed perfectly. The model misread the goal flow, however, incorrectly projecting both teams to score and more than 2.5 goals, as Auxerre’s defence held firm against a Nice side that has managed just two away goals in five outings.
Le Havre 0-0 Angers Despite Le Havre missing first-choice goalkeeper Mpasi-Nzau and regular defender Pembele, our cautious call for a draw proved entirely correct. The model accurately forecasted fewer than 2.5 goals and correctly projected the match to be level at the break with the points ultimately shared.
Lorient 2-2 Toulouse Lorient had started the campaign with two clean sheets and a cautious approach, but this match broke form and exploded into action. Our cautious call for a Lorient win missed the mark, but the projections correctly identified that both teams would score and that there would be more than 2.5 goals in the match.
Paris FC 0-0 Lyon Paris FC’s early attacking threat failed to surface in this encounter. A cautious forecast for a home win was undone by a goalless draw, which also saw our projections for both teams to score and more than 2.5 goals fall short against a Lyon side that had previously struggled away from home.
Lille 2-0 Estac Troyes A medium-confidence call for a Lille win landed smoothly. Despite underlying numbers suggesting Lille had been riding their luck by conceding over 20 shots per game, they kept a clean sheet. Our forecasts correctly called Lille to score first and to be ahead at both half-time and full-time.
Le Mans 2-2 Lens Lens were missing their top scorer and two regular starters, which blunted their attacking edge enough to deny the victory we had projected. However, Le Mans continued their pattern of high-scoring draws, meaning our calls for both teams to score and more than 2.5 goals in the match were accurate.
Stade Brestois 29 0-1 Paris Saint Germain A firm forecast for a Paris Saint Germain win was successful, as was a high-confidence call for the visitors to score the opening goal. Brest’s vulnerable defence was breached, but PSG’s formidable expected-goals numbers did not translate into the heavy victory our firm call for more than 2.5 goals had anticipated.
What we got wrong
The most glaring miss of the round was the consistent overestimation of goal volumes. The model heavily anticipated goals across the board, only to be confronted with unexpected goalless draws or 1-0 finishes in matches where high-scoring encounters were firmly projected.
In Strasbourg, the model relied on a history of thrilling encounters—including a 5-4 classic back in May—and Strasbourg's alarming expected goals against data to make a firm call for more than 2.5 goals. The reality was a much tighter 1-1 draw. Similarly, in Paris Saint Germain's trip to Brest, the model leaned on PSG's massive underlying metrics of almost +1.8 expected-goals difference per game, and previous emphatic 3-0 and 5-2 victories on that ground, to project a high-scoring affair. Ultimately, the champions were forced to grind out a narrow 1-0 win.
Matchweek 4 demonstrated that underlying attacking numbers do not always translate into immediate goal gluts, especially when teams adopt cautious approaches against dominant opposition. The round leaves a number of sides still searching for their attacking rhythm, while the early pacesetters have shown that narrow defensive stability can be just as valuable as overwhelming firepower.