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
Odise
Roshi
Attacking Midfield · Forward
World rank
#1672
winger in the world by TSH Score
In his age group
#332
among wingers aged 30+
In his league
66%
of 1. Lig wingers rank below him
Finishing
+1.7
goals above expected · better than 70% of players
138 shots. He scores more than the chances he gets would predict.
Teammates converted more of his chances than expected.
32 of 33 appearances
32 of 33 appearances
| Position | Apps | G | A |
|---|---|---|---|
| Attacking Midfield | 119 | 9 | 15 |
| Right Winger | 106 | 18 | 7 |
| Right-Back | 32 | 5 | 4 |
| Central Midfield | 13 | 2 | 0 |
| Other · LW, CF, LB | 16 | 1 | 0 |
| Season | Competition | Club | Apps | Starts | G | A | Yellow cards | Second yellow | Red cards | Min |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/2726/27 | 1. Lig1. Lig | Ankara Keçiörengücü | 5 | 4 | 0 | 1 | 1 | 0 | 0 | 256 |
| 2025/2625/26 | 1. Lig1. Lig | Ankara Keçiörengücü | 33 | 32 | 7 | 7 | 5 | 0 | 0 | 2,401 |
| 2024/2524/25 | 1. Lig1. Lig | Erzurumspor FK | 36 | 36 | 7 | 4 | 8 | 0 | 0 | 2,857 |
| 2023/2423/24 | 1. Lig1. Lig | Sakaryaspor | 29 | 26 | 5 | 3 | 4 | 1 | 0 | 1,946 |
| 2022/2322/23 | 1. Lig1. Lig | Sakaryaspor | 24 | 17 | 1 | 5 | 9 | 0 | 0 | 1,625 |
| 2021/2221/22 | 1. Lig1. Lig | Boluspor | 28 | 28 | 1 | 1 | 10 | 1 | 0 | 2,447 |
| 2020/2120/21 | NB INB I | Diósgyőr | 11 | 6 | 0 | 0 | 1 | 0 | 0 | 463 |
| 2020/2120/21 | Premier LeaguePremier League | Akhmat Grozny | 6 | 1 | 2 | 0 | 2 | 0 | 0 | 249 |
| 2020/2120/21 | Magyar KupaMagyar Kupa | Diósgyőr | 1 | 1 | 0 | – | 0 | – | 0 | 61 |
| 20222022 | UEFA World Cup QualifiersWorld Cup Qualifiers | Albania | 8 | 2 | 0 | – | 2 | – | 0 | 332 |
| 2020/2120/21 | UEFA Nations League - League CNations League - League C | Albania | 2 | 0 | 0 | – | 0 | – | 0 | 37 |
| 2019/2019/20 | Premier LeaguePremier League | Akhmat Grozny | 26 | 19 | 7 | 1 | 5 | 1 | 0 | 1,756 |
| 2019/2019/20 | CupCup | Akhmat Grozny | 2 | 2 | 1 | – | 0 | – | 0 | 210 |
| 2018/1918/19 | Premier LeaguePremier League | Akhmat Grozny | 13 | 5 | 0 | 0 | 1 | 0 | 0 | 593 |
| 20202020 | UEFA European Championship QualifiersEuropean Championship Qualifiers | Albania | 7 | 2 | 1 | – | 1 | – | 0 | 330 |
| 2017/1817/18 | Premier LeaguePremier League | Akhmat Grozny | 8 | 13 | 1 | 3 | 2 | 0 | 0 | 459 |
| 2017/1817/18 | CupCup | Akhmat Grozny | 1 | 0 | 0 | – | 0 | – | 0 | 10 |
| 2016/1716/17 | Premier LeaguePremier League | Akhmat Grozny | 19 | 12 | 1 | 2 | 6 | 0 | 0 | 1,014 |
| 2016/1716/17 | SuperleagueSuperleague | Rijeka | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 21 |
| 2016/1716/17 | CupCup | Akhmat Grozny | 1 | 1 | 0 | – | 0 | – | 0 | 103 |
| 20182018 | UEFA World Cup QualifiersWorld Cup Qualifiers | Albania | 9 | 8 | 2 | – | 2 | – | 0 | 694 |
| 2015/1615/16 | SuperleagueSuperleague | Rijeka | 20 | 1 | 1 | 1 | 1 | 0 | 0 | 369 |
| 2015/1615/16 | CupCup | Rijeka | 4 | 2 | 1 | – | 0 | – | 0 | 217 |
| 2015/1615/16 | UEFA Europa LeagueEuropa League | Rijeka | 1 | 1 | 0 | – | 0 | – | 0 | 52 |
| 20162016 | UEFA European ChampionshipEuropean Championship | Albania | 3 | 1 | 0 | – | 0 | – | 0 | 106 |
| 2014/1514/15 | 2. Bundesliga2. Bundesliga | FSV Frankfurt | 21 | 15 | 3 | 0 | 5 | 0 | 0 | 1,356 |
| 2014/1514/15 | DFB PokalDFB Pokal | FSV Frankfurt | 1 | 1 | 0 | – | 0 | – | 0 | 66 |
| 20162016 | UEFA European Championship QualifiersEuropean Championship Qualifiers | Albania | 5 | 3 | 0 | – | 1 | – | 0 | 275 |
| 2013/1413/14 | 2. Bundesliga2. Bundesliga | FSV Frankfurt | 23 | 10 | 1 | – | 4 | – | 1 | 821 |
| 2013/1413/14 | DFB PokalDFB Pokal | FSV Frankfurt | 2 | 0 | 0 | – | 0 | – | 0 | 55 |
| 2012/1312/13 | 2. Bundesliga2. Bundesliga | FSV Frankfurt | 30 | 7 | 2 | – | 0 | – | 0 | 807 |
| 2012/1312/13 | DFB PokalDFB Pokal | FSV Frankfurt | 2 | 1 | 0 | – | 0 | – | 0 | 88 |
| 20142014 | UEFA World Cup QualifiersWorld Cup Qualifiers | Albania | 8 | 5 | 1 | – | 2 | – | 0 | 564 |
| 2011/1211/12 | BundesligaBundesliga | Köln | 20 | 3 | 1 | – | 2 | – | 0 | 556 |
| 2010/1110/11 | Abissnet SuperioreAbissnet Superiore | Flamurtari Vlorë | 22 | 19 | 5 | – | 4 | – | 0 | 1,487 |
| 20122012 | UEFA European Championship QualifiersEuropean Championship Qualifiers | Albania | 2 | 2 | 0 | – | 0 | – | 0 | 167 |
| 20132013 | UEFA U21 ChampionshipU21 Championship | Albania U21 | 2 | 2 | 0 | – | 1 | – | 0 | 180 |
| 2009/1009/10 | Abissnet SuperioreAbissnet Superiore | Flamurtari Vlorë | 29 | 24 | 3 | – | 0 | – | 0 | 2,067 |
| 2009/1009/10 | UEFA Europa LeagueEuropa League | Flamurtari Vlorë | 2 | 0 | 1 | – | 0 | – | 0 | 105 |
| 20112011 | UEFA U21 ChampionshipU21 Championship | Albania U21 | 1 | 0 | 3 | – | 0 | – | 0 | 90 |
| No rows match these filters. | ||||||||||
| Career total · all competitions | 468 | 312 | 58 | 28* | 79 | 3* | 1 | 27,292 | ||
| Competition | Apps | G | A |
|---|---|---|---|
| 1. Lig | 155 | 21 | 21 |
| 2. Bundesliga | 74 | 6 | 0 |
| Premier League | 72 | 11 | 6 |
| Abissnet Superiore | 51 | 8 | – |
| Albania | 44 | 4 | – |
| Superleague | 21 | 1 | 1 |
| Bundesliga | 20 | 1 | – |
| NB I | 11 | 0 | 0 |
| Cup | 8 | 2 | – |
| DFB Pokal | 5 | 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 Odise Roshi, 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