Toulouse's results have picked up

Results ▲ Moderate evidence Ligue 1 Insight date · 2026-10-29 2026-08-22 ~ 2026-10-24

Is the uptick sustainable?

Over the last 4 matches points per game moved from 0.50 to 2.00 (+300%); the previous-season baseline is 1.32; 4 of 4 matches moved the same way.

Primary driver

Primary driver Finishing +1.71 Share 50% Attribution confidence Moderate evidence

Over the last 4 matches, points per game moved 0.50 → 2.00; goal difference per game -0.75 → 1.00. Goals minus expected goals moved -0.94 → +0.77; finishing adds +1.71 goals per game.

Current season: last 4 vs previous 4; baseline: previous season

Result layer

MetricPrevious RecentChange Change %
Points per game 0.5 2.0 +1.5 +300.0%
Goal difference per game -0.75 1.0 +1.75 +233.3%
Goals per game 1.0 2.0 +1.0 +100.0%
Goals conceded per game 1.75 1.0 -0.75 -42.9%
xGA per game 1.53 1.08 -0.45 -29.4%
xG per game 1.94 1.71 -0.24 -12.2%
Expected points per game 1.78 1.84 +0.06 +3.4%

Before → after at the result level; all values are per-game averages. Change % = change ÷ |previous|; shown as — when the previous value is 0. Rows are ordered by absolute change %.

Attack: where the change came from

Factor Previous → current Change % Impact on goal difference Share
Finishing
Goals minus expected goals moved -0.94 → +0.77; finishing adds +1.71 goals per game.
-0.94 → 0.77
goals above expected per game
+181.3% +1.71 64%
Shot volume
Shots per game moved 15.00 → 10.50; at last window's output per shot this adds -0.58 goals per game.
15.0 → 10.5
shots per game
-30.0% -0.58 22%
Shot quality
Expected goals per shot moved 0.13 → 0.17; at the current shot volume this adds +0.37 goals per game.
0.13 → 0.17
expected goals per shot
+27.5% +0.37 14%

Decomposition uses 2/4 current and 4/4 comparison matches with shot data. Change % = change ÷ |previous|; shown as — when the previous value is 0. Rows are ordered by absolute change %.

Defense: where the change came from

Factor Previous → current Change % Impact on goal difference Share
Goalkeeping & opponent finishing
Expected goals conceded minus goals conceded moved -0.22 → -0.08; goalkeeping and opponent finishing add +0.14 goals of goal difference per game. Split: goalkeeping -0.73, opponent on-target quality +0.87.
-0.21 → -0.08
expected goals minus goals conceded per game
+63.5% +0.14 18%
Shot quality faced
Expected goals per shot faced moved 0.11 → 0.07; at the current volume this changes goal difference by +0.51 per game.
0.11 → 0.07
expected goals per shot faced
-35.5% +0.51 68%
Shots faced
Shots faced per game moved 14.50 → 13.50; at last window's concession rate this changes goal difference by +0.11 per game.
14.5 → 13.5
shots faced per game
-6.9% +0.11 14%

Decomposition uses 2/4 current and 4/4 comparison matches with shot data. All impacts are from the team's goal-difference perspective (positive = better). Change % = change ÷ |previous|; shown as — when the previous value is 0. Rows are ordered by absolute change %.

Context factors

FactorPrevious RecentChange Change %
Opponent strength
Opponents' season goal difference per game (expected goals for minus against); positive means stronger. This is an easier schedule. Coverage 4/4 vs 4/4.
0.41 -0.47 -0.87 -214.5%
Set-piece threat
Set-piece expected goals per game. It accounts for +215% of the change in attacking expected goals.
0.61 0.1 -0.51 -83.9%
Deep completions
Deep completions per game (attacking progression).
9.75 5.75 -4.0 -41.0%
Open-play threat
Open-play expected goals per game (regular play, fast breaks, individual play).
1.68 1.13 -0.55 -32.8%
Deep completions allowed
Deep completions allowed per game.
6.5 4.75 -1.75 -26.9%
Big chances
Big chances created per game.
3.25 2.5 -0.75 -23.1%
Possession
Average possession share.
52.5 44.5 -8.0 -15.2%
Pressing intensity
Lower is more aggressive. This window: more aggressive pressing.
27.0 24.0 -3.0 -11.1%
Penalty threat
Penalties can swing short windows; treat as context.
0.0 0.39 +0.39 —

Context only — not added into the primary-driver calculation, to avoid double counting. Change % = change ÷ |previous|; shown as — when the previous value is 0. Rows are ordered by absolute change %.

Data gaps

  • Current-season sample is only 8 matches; using a 4-match window. Factor shares are unstable at this size.
  • Earlier current-season matches were fewer than five, so the baseline uses last season.
  • Shot detail covers 2/4 current and 4/4 comparison matches; the decomposition uses only covered matches.
  • Post-shot expected goals cover 2/4 current and 4/4 comparison matches; the goalkeeper/opponent-finishing split is omitted when incomplete.
  • Running and sprint data are only available for the Premier League; running did not enter this attribution.
  • The six additive factors explain goal difference within the shot-data sample; points also depend on draw/win margins, game state and match randomness.
  • Injuries, rotation and fixture congestion are not included in the attribution.

The evidence

MetricRecent 4 Previous 4Change
Points per game 2.0 0.5 +300%

What doesn't move in step

MetricRecent 5 Previous 5Change
xG per match 1.71 1.94 -12%
xGA per match 1.08 1.53 -29%
Non-penalty xG per match 1.32 1.94 -32%
Non-penalty xGA per match 1.08 1.53 -29%
Deep completions per match 5.75 9.75 -41%
Deep completions allowed per match 4.75 6.5 -27%
Goals conceded per match 1.0 1.75 -43%
Expected points per game 1.84 1.78 +3%

Possible explanations

  • Opponents faced over the last 4 matches average 1.34 xG created this season, versus 1.65 in the previous 4; a softer schedule may be a factor.
  • 2.00 goals scored against 1.71 expected over the last 4 (difference +0.29).

Limitations

Based on 8 recent matches (8 with expected-goals data).

  • League matches only (366 games analysed); domestic cups and Europe are not included.

Was this useful?

Feedback is linked to this article only. Contact details are not required.