We use privacy-friendly analytics to understand traffic. With your consent we also load Google Analytics. No analytics cookies are set until you accept. See our privacy policy.
Ligue 1 2024/25— did the new arrivals deliver? We predict each signing's attacking output from their previous season (adjusted for league strength) and compare it to what they actually produced.
| Player | Move | Predicted | Actual | vs model |
|---|---|---|---|---|
| Amine Gouiri FW | Stade Rennais → Olympique de Marseille | 0.39 | 0.95 | +0.55 |
| Désiré Doué FW | Stade Rennais → Paris Saint-Germain | 0.30 | 0.73 | +0.43 |
| M'Bala Nzola MF | Fiorentina → RC LensSerie A→Ligue 1 | 0.33 | 0.75 | +0.42 |
| Georges Mikautadze FW | Metz → Olympique Lyonnais | 0.48 | 0.87 | +0.39 |
| Ludovic Ajorque FW | 1. FSV Mainz 05 → Stade BrestoisBundesliga→Ligue 1 | 0.29 | 0.63 | +0.34 |
| Adrien Rabiot MF | Juventus → Olympique de MarseilleSerie A→Ligue 1 | 0.19 | 0.50 | +0.31 |
| Mason Greenwood FW | Getafe → Olympique de MarseilleLa Liga→Ligue 1 | 0.36 | 0.59 | +0.23 |
| Mousa Tamari DF | Montpellier → Stade Rennais | 0.24 | 0.46 | +0.22 |
| Jim Allevinah FW | Clermont Foot → Angers | 0.19 | 0.38 | +0.19 |
| Pierre-Emile Højbjerg MF | Tottenham Hotspur → Olympique de MarseillePL→Ligue 1 | 0.09 | 0.28 | +0.19 |
| Lamine Camara MF | Metz → AS Monaco | 0.20 | 0.39 | +0.18 |
| Jonathan Clauss DF | Olympique de Marseille → Nice | 0.22 | 0.34 | +0.12 |
| Lorenz Assignon MF | Burnley → Stade RennaisPL→Ligue 1 | 0.14 | 0.25 | +0.11 |
| Lilian Brassier DF | Stade Brestois → Stade Rennais | 0.05 | 0.15 | +0.10 |
| Baptiste Santamaria MF | Stade Rennais → Nice | 0.12 | 0.16 | +0.03 |
| Sergio Akieme MF | Almería → Stade de ReimsLa Liga→Ligue 1 | 0.12 | 0.13 | +0.01 |
| Leo Østigård MF | Napoli → Stade RennaisSerie A→Ligue 1 | 0.04 | 0.05 | +0.01 |
| Gabriel Osho DF | Luton Town → AuxerrePL→Ligue 1 | 0.06 | 0.06 | +0.01 |
| Aurélio Buta MF | Eintracht Frankfurt → Stade de ReimsBundesliga→Ligue 1 | 0.05 | 0.05 | +0.00 |
| Đorđe Petrović MF | Chelsea → RC StrasbourgPL→Ligue 1 | 0.00 | 0.00 | +0.00 |
| Aïssa Mandi DF | Villarreal → LilleLa Liga→Ligue 1 | 0.05 | 0.05 | -0.01 |
| Willian Pacho DF | Eintracht Frankfurt → Paris Saint-GermainBundesliga→Ligue 1 | 0.04 | 0.03 | -0.01 |
| Hans Hateboer DF | Atalanta → Stade RennaisSerie A→Ligue 1 | 0.15 | 0.09 | -0.06 |
| Yunis Abdelhamid MF | Stade de Reims → Saint-Étienne | 0.09 | 0.02 | -0.06 |
| Moussa Niakhaté DF | Nottingham Forest → Olympique LyonnaisPL→Ligue 1 | 0.08 | 0.02 | -0.07 |
| Jordan Veretout MF | Olympique de Marseille → Olympique Lyonnais | 0.26 | 0.19 | -0.07 |
| Neal Maupay FW | Brentford → Olympique de MarseillePL→Ligue 1 | 0.72 | 0.63 | -0.08 |
| Christian Mawissa DF | Toulouse → AS Monaco | 0.09 | 0.01 | -0.08 |
| Guéla Doué DF | Stade Rennais → RC Strasbourg | 0.15 | 0.05 | -0.10 |
Attacking output = non-penalty xG + expected assists per 90. Prediction applies our persistence and league-strength factors to the player's prior season. Minimum 900 minutes in both seasons. Goalkeepers and purely defensive value are not covered.