Toulouse's results have picked up

Results ▲ Limited evidence Ligue 1 Insight date · 2026-10-23 2026-08-29 ~ 2026-10-16

Is the uptick sustainable?

Over the last 3 matches points per game moved from 0.67 to 2.33 (+250%); the previous-season baseline is 1.32; 3 of 3 matches moved the same way.

Primary driver

Primary driver Finishing +1.3 Share 40% Attribution confidence Limited evidence

Over the last 3 matches, points per game moved 0.67 → 2.33; goal difference per game -0.33 → 1.33. Goals minus expected goals moved -0.54 → +0.77; finishing adds +1.30 goals per game.

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

Result layer

MetricPrevious RecentChange Change %
Goal difference per game -0.33 1.33 +1.67 +500.0%
Points per game 0.67 2.33 +1.67 +250.0%
Goals per game 1.33 2.67 +1.33 +100.0%
xGA per game 1.79 1.33 -0.46 -25.7%
Expected points per game 1.57 1.96 +0.39 +24.9%
Goals conceded per game 1.67 1.33 -0.33 -20.0%
xG per game 1.87 2.1 +0.23 +12.1%

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.54 → +0.77; finishing adds +1.30 goals per game.
-0.54 → 0.77
goals above expected per game
+242.4% +1.3 60%
Shot volume
Shots per game moved 14.33 → 10.50; at last window's output per shot this adds -0.50 goals per game.
14.33 → 10.5
shots per game
-26.7% -0.5 23%
Shot quality
Expected goals per shot moved 0.13 → 0.17; at the current shot volume this adds +0.36 goals per game.
0.13 → 0.17
expected goals per shot
+26.4% +0.36 17%

Decomposition uses 2/3 current and 3/3 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.13 → -0.08; goalkeeping and opponent finishing add -0.21 goals of goal difference per game. Split: goalkeeping -1.01, opponent on-target quality +0.80.
0.13 → -0.08
expected goals minus goals conceded per game
-161.8% -0.21 19%
Shot quality faced
Expected goals per shot faced moved 0.11 → 0.07; at the current volume this changes goal difference by +0.62 per game.
0.11 → 0.07
expected goals per shot faced
-40.4% +0.62 58%
Shots faced
Shots faced per game moved 15.67 → 13.50; at last window's concession rate this changes goal difference by +0.25 per game.
15.67 → 13.5
shots faced per game
-13.8% +0.25 23%

Decomposition uses 2/3 current and 3/3 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 3/3 vs 3/3.
0.35 -0.6 -0.95 -270.1%
Set-piece threat
Set-piece expected goals per game. It accounts for -113% of the change in attacking expected goals.
0.35 0.1 -0.26 -72.4%
Deep completions
Deep completions per game (attacking progression).
10.0 5.67 -4.33 -43.3%
Open-play threat
Open-play expected goals per game (regular play, fast breaks, individual play).
1.76 1.13 -0.63 -35.9%
Possession
Average possession share.
54.0 44.5 -9.5 -17.6%
Big chances
Big chances created per game.
3.0 2.5 -0.5 -16.7%
Pressing intensity
Lower is more aggressive. This window: more aggressive pressing.
27.67 23.67 -4.0 -14.5%
Deep completions allowed
Deep completions allowed per game.
6.0 5.33 -0.67 -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 6 matches; using a 3-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/3 current and 3/3 comparison matches; the decomposition uses only covered matches.
  • Post-shot expected goals cover 2/3 current and 3/3 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 3 Previous 3Change
Points per game 2.33 0.67 +250%

What doesn't move in step

MetricRecent 5 Previous 5Change
xGA per match 1.33 1.79 -26%
Non-penalty xG per match 1.59 1.87 -15%
Non-penalty xGA per match 1.33 1.79 -26%
Deep completions per match 5.67 10.0 -43%
Deep completions allowed per match 5.33 6.0 -11%
Goals conceded per match 1.33 1.67 -20%

Possible explanations

  • Opponents faced over the last 3 matches average 1.31 xG created this season, versus 1.64 in the previous 3; a softer schedule may be a factor.
  • 2.67 goals scored against 2.10 expected over the last 3 (difference +0.57).

Limitations

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

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