Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Todi Challenger Genova Challenger Alicante Challenger Nonthaburi 3 Challenger Tenerife 2 Challenger M15 Bologna Austria F6 Greece F4 UAE F1 Qatar F1 Qatar F2 Qatar F3 Portugal F2 France F12 France F17 Tunisia F4 Tunisia F5 China F1 China F2 France F2 Poland F1 Poland F2 Egypt F2 Egypt F3 France F6 France F7 Spain F19 France F17 France F18 France F19 Tunisia F4 Tunisia F5 Tunisia F6 Tunisia F7 France F1 France F3 Great Britain F3 Great Britain F4 Egypt F1 Egypt F2 Egypt F3 Tunisia F1 Tunisia F2 Morocco F4 Turkey F2 Kuwait F2 Tunisia F1 Austria F4 Austria F5 Romania F15 France F15 France F17 France F18 United Arab Emirates F1 United Arab Emirates F2 Morocco F1 Morocco F2 Spain F11 Spain F15 Spain F16 Kuwait F1 Kuwait F2 Tunisia F1 Tunisia F2 Tunisia F3 Georgia F1 Georgia F2 France F19 Morocco F1 Morocco F2 Spain F7 Italy F2 Italy F3 France F6 Italy F8 Tunisia F1 Tunisia F2 Italy F19 Spain F29 Netherlands F5 Netherlands F6 Morocco F7 Spain F35 Spain F36 Egypt F4 Egypt F5 Spain F39 Sudan F1 Sudan F2 Colombia F1 Colombia F2 Portugal F3 France F2 France F5 France F3 Netherlands F1 Morocco F1 Nigeria F1 Nigeria F2 Great Britain F8 Kazakhstan F4 Morocco F2 Italy F24 Italy F25 Croatia F9 Italy F30 Algeria F1 Algeria F2 Italy F12 Italy F13 Turkey F8 Italy F1 Italy F2 Bulgaria F3 Saudi Arabia F1 Romania F6 Turkey F28 Turkey F29 Saudi Arabia F2 Tunisia F1 Italy F23 Italy F24 Italy F25 Italy F26 Tunisia F2 Tunisia F1 Tunisia F3 Italy F28 Tunisia F2 Morocco F3 Tunisia F3 Iran F1 France F9 Iran F2 Italy F22 Italy F23 Croatia F3 France F13 Croatia F4 Croatia F5 Italy F1 Iran F1 France F19 Greece F2 Greece F3 France F20 Iran F2 Belgium F2 Italy F7 Tunisia F4 Italy F8 Italy F9 Tunisia F6 Italy F12 Italy F14 Italy F15 Italy F18 Italy F19 Italy F22 France F3 Italy F30 Croatia F15 Croatia F16 Croatia F17 Italy F2 Italy F3 Italy F4 Italy F5 Italy F6 Italy F7 Italy F9 Italy F21 Italy F24 Italy F27 Italy F28 USA F24 USA F25 USA F26 Italy F36 Italy F37 Italy F38 Tunisia F1 Tunisia F2 Tunisia F3 Tunisia F7 Great Britain F4 Great Britain F5 Italy F10 Tunisia F8 Italy F21 Italy F23 Tunisia F5 Italy F36 France F2 (Bressuire) Italy F3 (Basiglio) Italy F4 (Sondrio) Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Italy F5 Turkey F38 Italy F10 Great Britain F7 Italy F10 M25 Santa Margherita di Pula M25 Santa Margherita di Pula Turkey F39 M25 Santa Margherita di Pula M25 Monastir M15 San Gregorio di Catania M25 Loule M15 Caltanissetta BNP Paribas Open - Indian Wells M25 Santa Margherita di Pula Challenger Ford de Cherbourg - Cherbourg Tunis Open - Tunis Togliatti Cup - Togliatti Mordovia Cup 2005 - Saransk Ethias Tennis Trophy - Mons The LTA Men's Challenger - Southampton Nossa Caixa Tennis Cup - Sao Paulo Tunis Open 2006 - Tunis Tunis Open 2007 - Tunis Timisoara Challenger - Timisoara Open D'Orleans - Orleans Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Caltanissetta Challenger Tunis Challenger Saransk Challenger San Sebastian Challenger Como Challenger Tulsa Challenger Sacramento Challenger Genova Challenger Tanger Challenger Meknes Challenger Caltanissetta Challenger Monza Challenger Tunis Challenger Alessandria Challenger San Benedetto Challenger Palermo Challenger Bucaramanga Challenger Rabat Challenger Marrakech Challenger Santos Challenger Cremona Challenger Penza Challenger Astana Challenger Samarkand Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Eckental Challenger Geneva Challenger Bratislava Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Kyoto Challenger Pingguo Challenger Barletta Challenger Tunis Challenger Caltanissetta Challenger Recanati Challenger Istanbul Challenger Izmir Challenger Orleans Challenger Tashkent Challenger Seoul Challenger Geneva Challenger Chitre Challenger Dallas Challenger Lexington Challenger Tunis Open - Tunis Rimouski Challenger San Luis Potosi Challenger Santos Challenger Sao Paulo Challenger Tunis Challenger Caltanissetta Challenger Arad Challenger Kosice Challenger San Benedetto Challenger Binghamton Challenger Recanati Challenger Aptos Challenger Cordenons Challenger Shanghai Challenger Istanbul Challenger Petange Challenger Izmir Challenger Fergana Challenger Sacramento Challenger Tashkent Challenger Tiburon Challenger Geneva Challenger Maui Challenger Bergamo Challenger Morelos Challenger Guadalajara Challenger Tunis Challenger Rome Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Padova Challenger Granby Challenger Recanati Challenger Como Challenger Quito Challenger Izmir Challenger Sacramento Challenger Knoxville Challenger Brescia Challenger Champaign Challenger Napoli Challenger Vercelli Challenger Manchester Challenger Mestre Challenger Caltanissetta Challenger Ilkley Challenger Milan Challenger Todi Challenger San Benedetto Challenger Recanati Challenger Biella Challenger Aptos Challenger Manerbio Challenger Genova Challenger Izmir Challenger Rome Challenger Mohammedia Challenger Rennes Challenger Casablanca Challenger Brest Challenger Champaign Challenger Brescia Challenger Bergamo Challenger Cherbourg Challenger Leon Challenger St. Brieuc Challenger Le Gosier Challenger Turin Challenger Vicenza Challenger Furth Challenger Caltanissetta Challenger Perugia Challenger Fano Challenger Istanbul Challenger Stockton Challenger Fairfield Challenger Las Vegas Challenger Bordeaux Challenger Caltanissetta Challenger Todi Challenger Recanati Challenger Perugia Challenger Gatineau Challenger Cortina Challenger Como Challenger Istanbul Challenger Izmir Challenger Rome Challenger Brest Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Caltanissetta Challenger Ilkley Challenger Timisoara Challenger Perugia Challenger Napa Challenger Szczecin Challenger Kaohsiung Challenger Biella Challenger Florence Challenger Ortisei Challenger Bergamo Challenger Alicante Challenger Winnetka Challenger Francavilla Challenger Rome Challenger Istanbul Challenger Shymkent Challenger Ilkley Challenger Perugia Challenger Como Challenger Cassis Challenger Seville Challenger Glasgow Challenger Orleans Challenger Florence Challenger Nur-Sultan Challenger Barcelona Challenger Turin Challenger Ningboo Challenger Aix En Provence Challenger Hamburg Challenger Liuzhou Challenger Shenzhen Challenger Vicenza Challenger Bratislava Challenger Ortisei Challenger Perugia Challenger Bangkok Challenger Bengalaru Challenger Indian Wells Challenger Prague Challenger Prague II Challenger Ostrava Challenger Parma Challenger Iasi Challenger Forli Challenger Sibiu Challenger Split Challenger Barcelona Challenger Como Challenger Alicante Challenger Marbella Challenger Parma Challenger Istanbul Challenger Biella 1 Challenger Biella 2 Challenger Tiburon Challenger Mons Challenger Ostrava Challenger Bratislava Challenger Charlottesville Challenger Perugia Challenger Surbiton Challenger Nur-Sultan 3 Challenger Ortisei Challenger Nur-Sultan 4 Challenger Knoxville Challenger Segovia Challenger Liberec Challenger San Marino Challenger Verona Challenger Barletta Challenger Banja Luka Challenger Cary 2 Challenger Wroclaw Challenger Columbus Challenger Quimper Challenger Puebla Challenger Guadalajara Challenger Bogota Challenger Brest Challenger Las Vegas Challenger Napoli Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Forli 3 Challenger Bendigo Challenger Forli 2 Challenger Mestre Challenger Bengalaru 1 Challenger Forli 5 Challenger Gran Canaria Challenger Lille Challenger Todi Challenger San Benedetto Challenger Aguascalientes Challenger Rome 1 Challenger San Benedetto Challenger Morelos Challenger Biella Challenger Aix En Provence Challenger Lexington Challenger Bordeaux Challenger Cortina Challenger Tunis Challenger Troisdorf Challenger Perugia Challenger Orlando Challenger Cordenons Challenger Como Challenger Roseto Degli Abruzzi 2 Challenger Genova Challenger Cali Challenger Buenos Aires 3 Challenger Bogota Challenger Szczecin Challenger Rome Challenger St. Brieuc Challenger Belgrade Challenger Verona Challenger Trieste Challenger Ho Chi Minh City Challenger San Benedetto Challenger Alicante Challenger Ortisei Challenger St. Tropez Challenger Fairfield Challenger Drummondville Challenger Brescia Challenger Tenerife 3 Challenger Antalya Challenger Andria Challenger Zadar Challenger Barletta Challenger Como Challenger Roseto Degli Abruzzi Challenger Cagliari Challenger Francavilla Challenger Turin Challenger Tunis Challenger Rennes Challenger Vicenza Challenger Dallas Challenger Braga Challenger Montechiarugolo Challenger Bergamo Challenger Forli 6 Challenger Wroclaw Challenger Toulouse Challenger San Francisco Challenger Little Rock Challenger Tempe Challenger Sibiu Challenger Cassis Challenger Francavilla Challenger Nonthaburi 1 Challenger Nonthaburi 2 Challenger Aix En Provence Challenger Montechiarugolo - Parma Challenger Rennes Challenger Corrientes Challenger Vicenza Challenger Tiburon Challenger San Benedetto Challenger Biella Challenger Aptos Challenger Hamburg Challenger Calgary Challenger Valencia Challenger Genova Challenger Almaty Challenger Szczecin Challenger Ortisei Challenger Ismaning Challenger Eckental Challenger Tenerife 2 Challenger Manama Challenger Canberra Challenger Ambato Challenger Valencia Challenger Cherbourg Challenger Bergamo Challenger Vancouver Challenger Zhuhai Challenger Shenzhen Challenger Qujing Challenger Szekesfehervar Challenger Tunis Challenger Francavilla Challenger Manama Challenger Lyon Challenger Vicenza Challenger Prostejov Challenger Genova Challenger Trieste Challenger Recanati Challenger Verona Challenger Portoroz Challenger Tenerife 3 Challenger Bangkok Challenger Como Challenger Rome Challenger Genova Challenger Noumea Challenger Qatar Open - Doha Grand Prix de Tennis de Lyon - Lyon Marrakech Challenger Quimper Challenger Indian Wells Challenger Forli Challenger Milan Challenger Phoenix Challenger Braunschweig Challenger Open 13 - Marseille Qatar Exxon Mobil Open - Doha Open Sabadell Atlantico - Barcelona Murcia Challenger Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Open de Nice Cote d'Azur - Nice AEGON Championships - London Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Vicenza Challenger Dubai Duty Free Tennis Championships - Dubai Genova Challenger Charleston Challenger Citi Open - Washington Sanremo Challenger Qatar ExxonMobil Open - Doha PBZ Zagreb Indoors - Zagreb Dubai Duty Free Tennis Championships - Dubai Open de Nice Cote d'Azur - Nice Hall of Fame Tennis Championships - Newport Citi Open - Washington China Open - Beijing Valencia Open - Valencia Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest Claro Open Colombia - Bogota Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril BMW Open - Munich Mercedes Cup - Stuttgart Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Shenzhen Open - Shenzhen China Open - Beijing If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha ASB Classic - Auckland Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril BB&T Atlanta Open - Atlanta Citi Open - Washington Shenzhen Open - Shenzhen China Open - Beijing Garanti Koza Sofia Open - Sofia Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle BB&T Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem China Open - Beijing European Open - Antwerp Swiss Indoors Basel - Basel Argentina Open - Buenos Aires Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril St. Petersburg Open - St. Petersburg Adelaide International - Adelaide Tata Open Maharashtra - Pune Rio Open - Rio de Janeiro Dubai Duty Free Tennis Championships - Dubai European Open - Antwerp Sofia Open - Sofia Antalya Open - Antalya Great Ocean Road Open - Melbourne Argentina Open - Buenos Aires Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Gonet Geneva Open - Geneva Mallorca Championships - Mallorca Singapore Tennis Open - Singapore Emilia-Romagna Open - Parma San Diego Open - San Diego ABN AMRO World Tennis Tournament - Rotterdam Qatar ExxonMobil Open - Doha Generali Open - Kitzbuhel Rio Open - Rio de Janeiro Modena Challenger Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Milan Challenger Open 13 - Marseille Mercedes Cup - Stuttgart Winston-Salem Open - Winston-Salem If Stockholm Open - Stockholm Grand Prix Hassan II - Casablanca BB&T Atlanta Open - Atlanta European Open - Antwerp Forte Village Sardegna Open - Sardinia Qatar ExxonMobil Open - Doha Sardegna Open - Cagliari UNICEF Open - 's Hertogenbosch Aegon Nottingham Open - Nottingham Hall of Fame Tennis Championships - Newport Citi Open - Washington Winston-Salem Open - Winston-Salem Delray Beach Open - Delray Beach Qatar ExxonMobil Open - Doha Chengdu Open - Chengdu Kremlin Cup - Moscow Tata Open Maharashtra - Pune Sydney International - Sydney Cordoba Open - Cordoba DIEMA XTRA Sofia Open - Sofia Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Libema Open - 's-Hertogenbosch Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Citi Open - Washington Qatar ExxonMobil Open - Doha Argentina Open - Buenos Aires Santiago Open - Santiago Qatar ExxonMobil Open - Doha Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Nordea Open - Bastad Belgrade 2 - Belgrade Grand Prix Hassan II - Marrakech Dubai Duty Free Tennis Championships - Dubai M25 Santa Margherita di Pula Dubai Duty Free Tennis Championships - Dubai Gonet Geneva Open - Geneva M25 Vale do Lobo Sofia Open - Sofia Sony Open Tennis - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Coupe Rogers - Montreal U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London Miami Open - Miami U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Miami Open - Miami Wimbledon - London Monte-Carlo Rolex Masters - Monte-Carlo U.S. Open - New York Australian Open - Melbourne Rolex Paris Masters - Paris French Open - Paris Miami Open - Miami Internazionali BNL d'Italia - Rome Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne Davis Cup, Group 2, PO, LAT-TUN 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, PO, SLO-TUN 4-1 Davis Cup, Group II, 1R, GBR-TUN 4-1 Davis Cup, Group II, PO, IRL-TUN 3-2 Davis Cup, Group II, PO, TUN-BLR 2-3 Davis Cup, Group II, 1R, BIH-TUN 3-1 Davis Cup, Group II, PO, TUN-BUL 3-2 Davis Cup, Group II, 1R, TUN-SWE 2-3 Davis Cup, Group II, PO, CYP-TUN 1-4 Davis Cup, Group II, 1R, TUN-FIN 2-3 Davis Cup, Group II, PO, EST-TUN 3-2 Davis Cup, World Group II, PO, GUA-TUN 1-3 Davis Cup, Group I, PO, TUN-BIH 1-3 Olympics - London Olympics - Rio de Janeiro