Free
Open to everyone, on every professional player.
- Name, age, nationality and position
- Current club and league
- Height and preferred foot
- Recent seasons by club
- Key numbers against the league
- Search across 800+ competitions
Olivier
Custodio
Central Midfield · Midfielder
World rank
#1201
defensive midfielder in the world by TSH Score
In his age group
#422
among defensive midfielders aged 30+
In his league
37%
of Super League defensive midfielders rank below him
Finishing
−3.2
goals below expected · better than 6% of players
71 shots. He scores fewer than the chances he gets would predict.
Teammates converted fewer of his chances than expected.
43 of 50 appearances
29 of 34 appearances
5 of 7 appearances
6 of 6 appearances
3 of 3 appearances
| Position | Apps | G | A |
|---|---|---|---|
| Central Midfield | 148 | 7 | 12 |
| Defensive Midfield | 109 | 5 | 10 |
| Attacking Midfield | 22 | 1 | 0 |
| Centre-Back | 20 | 0 | 0 |
| Other · RB, RW, LW, CF | 31 | 0 | 1 |
| Season | Competition | Club | Apps | Starts | G | A | Yellow cards | Second yellow | Red cards | Min |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/2726/27 | Super LeagueSuper League | Lausanne Sport | 7 | 7 | 0 | 0 | 4 | 0 | 0 | 588 |
| 2025/2625/26 | Super LeagueSuper League | Lausanne Sport | 34 | 29 | 3 | 2 | 5 | 0 | 0 | 2,535 |
| 2025/2625/26 | UEFA Europa Conference LeagueEuropa Conference League | Lausanne Sport | 7 | 5 | 0 | – | 2 | – | 0 | 433 |
| 2025/2625/26 | UEFA Europa Conference League - QualificationEuropa Conference League · Qual. | Lausanne Sport | 6 | 6 | 0 | – | 0 | – | 0 | 540 |
| 2025/2625/26 | Schweizer PokalSchweizer Pokal | Lausanne Sport | 3 | 3 | 0 | – | 0 | – | 0 | 229 |
| 2024/2524/25 | Super LeagueSuper League | Lausanne Sport | 22 | 19 | 0 | 1 | 6 | 0 | 0 | 1,493 |
| 2024/2524/25 | Schweizer PokalSchweizer Pokal | Lausanne Sport | 3 | 1 | 0 | – | 1 | – | 0 | 154 |
| 2023/2423/24 | Super LeagueSuper League | Lausanne Sport | 34 | 29 | 0 | 3 | 8 | 0 | 0 | 2,536 |
| 2023/2423/24 | Schweizer PokalSchweizer Pokal | Lausanne Sport | 2 | 1 | 0 | – | 0 | – | 0 | 122 |
| 2022/2322/23 | Challenge LeagueChallenge League | Lausanne Sport | 33 | 33 | 1 | 6 | 10 | 0 | 0 | 2,949 |
| 2022/2322/23 | Schweizer PokalSchweizer Pokal | Lausanne Sport | 2 | 2 | 1 | – | 1 | – | 0 | 209 |
| 2021/2221/22 | Super LeagueSuper League | Lugano | 33 | 27 | 1 | 1 | 13 | 0 | 0 | 2,360 |
| 2021/2221/22 | Schweizer PokalSchweizer Pokal | Lugano | 6 | 6 | 1 | – | 0 | – | 0 | 511 |
| 2020/2120/21 | Super LeagueSuper League | Lugano | 32 | 31 | 3 | 2 | 8 | 0 | 0 | 2,599 |
| 2020/2120/21 | Schweizer PokalSchweizer Pokal | Lugano | 3 | 3 | 0 | – | 1 | – | 0 | 296 |
| 2019/2019/20 | Super LeagueSuper League | Lugano | 28 | 27 | 2 | 5 | 9 | 1 | 0 | 2,291 |
| 2019/2019/20 | UEFA Europa LeagueEuropa League | Lugano | 6 | 5 | 0 | – | 1 | – | 0 | 469 |
| 2019/2019/20 | Schweizer PokalSchweizer Pokal | Lugano | 1 | 1 | 0 | – | 1 | – | 0 | 70 |
| 2018/1918/19 | Super LeagueSuper League | Luzern | 26 | 15 | 0 | 0 | 2 | 0 | 0 | 1,339 |
| 2018/1918/19 | Schweizer PokalSchweizer Pokal | Luzern | 3 | 1 | 0 | – | 0 | – | 0 | 124 |
| 2017/1817/18 | Super LeagueSuper League | Luzern | 28 | 20 | 0 | 0 | 6 | 0 | 0 | 1,751 |
| 2017/1817/18 | UEFA Europa LeagueEuropa League | Luzern | 2 | 2 | 0 | – | 1 | – | 0 | 180 |
| 2017/1817/18 | Schweizer PokalSchweizer Pokal | Luzern | 2 | 1 | 0 | – | 0 | – | 0 | 103 |
| 2016/1716/17 | Super LeagueSuper League | Lausanne Sport | 28 | 24 | 2 | 2 | 4 | 1 | 0 | 2,011 |
| 2015/1615/16 | Challenge LeagueChallenge League | Lausanne Sport | 32 | 31 | 0 | 1 | 13 | 0 | 0 | 2,880 |
| 2015/1615/16 | Schweizer PokalSchweizer Pokal | Lausanne Sport | 1 | 1 | 0 | – | 0 | – | 0 | 90 |
| 2014/1514/15 | Challenge LeagueChallenge League | Lausanne Sport | 19 | 17 | 1 | 0 | 4 | 0 | 0 | 1,429 |
| 20172017 | UEFA U21 ChampionshipU21 Championship | Switzerland U21 | 1 | 0 | 0 | – | 0 | – | 0 | 28 |
| 2013/1413/14 | Super LeagueSuper League | Lausanne Sport | 4 | 0 | 0 | – | 1 | – | 0 | 69 |
| 2013/1413/14 | Schweizer PokalSchweizer Pokal | Lausanne Sport | 1 | 0 | 0 | – | 0 | – | 0 | 14 |
| 20142014 | UEFA U19 ChampionshipU19 Championship | Switzerland U19 | 5 | 5 | 1 | – | 1 | – | 0 | 391 |
| 20122012 | UEFA U17 ChampionshipU17 Championship | Switzerland U17 | 5 | 4 | 0 | – | 1 | – | 0 | 314 |
| No rows match these filters. | ||||||||||
| Career total · all competitions | 419 | 356 | 16 | 23* | 103 | 2* | 0 | 31,107 | ||
| Competition | Apps | G | A |
|---|---|---|---|
| Super League | 276 | 11 | 16 |
| Challenge League | 84 | 2 | 7 |
| Schweizer Pokal | 27 | 2 | – |
| UEFA Europa League | 8 | 0 | – |
| UEFA Europa Conference League | 7 | 0 | – |
| UEFA Europa Conference League - Qualification | 6 | 0 | – |
| Switzerland U17 | 5 | 0 | – |
| Switzerland U19 | 5 | 1 | – |
| Switzerland U21 | 1 | 0 | – |
* Assists and second yellows are counted where the data has them, mostly league games from 2014/15; cups and internationals show “–”. Friendlies are excluded. Data as of 2 Nov 2026.
Preview shows a sample. Valuation, wages, physical data and AI reports on Olivier Custodio, available with a TSH subscription.
Open to everyone, on every professional player.
Everything in Free, plus the data and AI your departments work from.
TSH Valuation
Value band · deal price
Wages and contract value
Wage · fair-wage band
Data Report Generator
PDF report · one click
Advanced profile
~70 metrics · radar
Physical data
Per 90 · per match
AI Scout report
Written report
Players like him
Shortlist ready
AI Full Dossier
Board-ready PDF