| | | Presidential Cycling Tour of Türkiye (2.Pro) |
| 12 | | Klassement |
| 30 | | Punten |
| 6 | | Berg |
| 15-10 | 47 | 12 | Stage 8Istanbul - Istanbul (145.0km) | 145.0km |
| 14-10 | 16 | 12 | Stage 7Selçuk - İzmir (170.0km) | 170.0km |
| 13-10 | 20 | 12 | Stage 6Bodrum - Kusadasi (198.0km) | 198.0km |
| 12-10 | 79 | 12 | Stage 5Marmaris - Bodrum (212.0km) | 212.0km |
| 11-10 | 23 | 12 | Stage 4Fethiye - Marmaris (184.0km) | 184.0km |
| 10-10 | 12 | 12 | Stage 3Kas - Fethiye (164.0km) | 164.0km |
| 09-10 | 72 | | Stage 2Antalya - Demre (147.0km) | 147.0km |
| 08-10 | 37 | | Stage 1Antalya - Antalya (175.0km) | 175.0km |
| | | Tour of Poyang Lake (2.2) |
| 8 | | Klassement |
| 12-09 | 6 | 8 | Stage 5Wanli - Wanli (107.0km) | 107.0km |
| 11-09 | 22 | 9 | Stage 4Zixi - Zixi (108.0km) | 108.0km |
| 10-09 | 50 | 9 | Stage 3Yingtan - Yingtan (151.0km) | 151.0km |
| 09-09 | 60 | 7 | Stage 2Fuliang - Fuliang (111.0km) | 111.0km |
| 08-09 | 7 | 7 | Stage 1Sanqing - Sanqing (113.0km) | 113.0km |
| | | Deutschland Tour (2.Pro) |
| 65 | | Klassement |
| 27-08 | 70 | 65 | Stage 4Hannover - Bremen (180.0km) | 180.0km |
| 26-08 | 75 | 66 | Stage 3Arnsberg - Essen (174.0km) | 174.0km |
| 25-08 | 55 | 52 | Stage 2Kassel - Winterberg (190.0km) | 190.0km |
| 24-08 | 33 | 47 | Stage 1Sankt-Wendel - Merzig (178.0km) | 178.0km |
| 23-08 | 119 | | PrologueSankt-Wendel - Sankt-Wendel (2.0km) | 2.0km |
| | | Tour du Limousin (2.1) |
| 36 | | Klassement |
| 18-08 | 53 | 36 | Stage 4Saint-Yrieix-la-Perche - Limoges (170.0km) | 170.0km |
| 17-08 | 36 | 37 | Stage 3Sarran - Bort-les-Orgues (195.0km) | 195.0km |
| 16-08 | 61 | 54 | Stage 2Excideuil - Trélissac (185.0km) | 185.0km |
| 15-08 | 52 | 54 | Stage 1Rilhac-Rancon - Bénévent-l'Abbaye (165.0km) | 165.0km |
| 06-08 | DNF | | UCI World Championship Glasgow (CM) | 271.0km |
| 25-06 | 10 | | National Road Championships - Eritrea (CN) | |
| | | Tour du Pays de Montbéliard (2.2) |
| 18 | | Klassement |
| 9 | | Berg |
| 18-06 | 45 | 18 | Stage 2Dampierre-les-Bois - Dampierre-les-Bois (160.0km) | 160.0km |
| 17-06 | 5 | 6 | Stage 1Colombier-Fontaine - Colombier-Fontaine (171.0km) | 171.0km |
| 16-06 | 58 | 58 | PrologueCourcelles-lès-Montbéliard - Courcelles-lès-Montbéliard (3.0km) | 3.0km |
| 29-05 | 8 | | Paris - Troyes (1.2) | |
| | | Tour de la Mirabelle (2.2) |
| 14 | | Klassement |
| 28 | | Punten |
| 3 | | Berg |
| 28-05 | 34 | 14 | Stage 3Tomblaine - Damelevières (178.0km) | 178.0km |
| 27-05 | 8 | 12 | Stage 2Saint-Amarin - Corcieux (158.0km) | 158.0km |
| 26-05 | 81 | 81 | Stage 1Verdun - Pont-à-Mousson (160.0km) | 160.0km |
| | | International Tour of Hellas (2.1) |
| 39 | | Klassement |
| 5 | | Punten |
| 2 | | Berg |
| 06-05 | 83 | 39 | Stage 4Pylos - Olympia (133.0km) | 133.0km |
| 05-05 | 58 | 39 | Stage 3Pylos - Kyparissia (153.0km) | 153.0km |
| 04-05 | 58 | 41 | Stage 2Mycenae - Kalamata (178.0km) | 178.0km |
| 03-05 | 65 | 50 | Stage 1Heraklion - Heraklion (187.0km) | 187.0km |
| 02-05 | 72 | 72 | PrologueHeraklion - Heraklion (8.0km) | 8.0km |
| 16-04 | 54 | | Tour du Doubs (1.1) | 200.0km |
| 15-04 | 43 | | Tour du Jura Cycliste (1.1) | 168.0km |
| 14-04 | 40 | | Classic Grand Besançon Doubs (1.1) | 180.0km |
| 17-03 | DNF | | Grand Prix de la Ville d'Alger (1.2) | |
| | | Tour d'Algérie International de Cyclisme (2.2) |
| 20 | | Klassement |
| 13 | | Punten |
| 16-03 | 15 | 20 | Stage 10Béjaïa - Tizi Ouzou (122.0km) | 122.0km |
| 15-03 | 21 | 25 | Stage 9Jijel - Béjaïa (88.0km) | 88.0km |
| 14-03 | 34 | 26 | Stage 8Skikda - Jijel (150.0km) | 150.0km |
| 13-03 | 76 | 24 | Stage 7Constantine - Skikda (83.0km) | 83.0km |
| 12-03 | 53 | 25 | Stage 6Setif - Constantine (124.0km) | 124.0km |
| 11-03 | 19 | 24 | Stage 5Batna - Setif (143.0km) | 143.0km |
| 10-03 | 26 | 21 | Stage 4Biskra - Batna (119.0km) | 119.0km |
| 09-03 | 53 | 22 | Stage 3Bou Saâda - Biskra (176.0km) | 176.0km |
| 08-03 | 25 | 26 | Stage 2Bordj Bou Arréridj - M'Sila (121.0km) | 121.0km |
| 07-03 | 29 | 29 | Stage 1Bordj Bou Arréridj - Bordj Bou Arréridj (7.0km) | 7.0km |
| | | Tour du Rwanda (2.1) |
| 7 | | Klassement |
| 14 | | Berg |
| 26-02 | 6 | 7 | Stage 8Kigali - Kigali (75.0km) | 75.0km |
| 25-02 | 26 | 11 | Stage 7Nyamata - Kigali (115.0km) | 115.0km |
| 24-02 | 12 | 14 | Stage 6Rubavu - Gicumbi (157.0km) | 157.0km |
| 23-02 | 21 | 16 | Stage 5Rusizi - Rubavu (195.0km) | 195.0km |
| 22-02 | 11 | 8 | Stage 4Musanze - Karongi (138.0km) | 138.0km |
| 21-02 | 12 | 7 | Stage 3Huye - Musanze (199.0km) | 199.0km |
| 20-02 | 16 | 16 | Stage 2Kigali - Gisagara (132.0km) | 132.0km |
| 19-02 | 25 | 25 | Stage 1Kigali - Rwamagana (115.0km) | 115.0km |
| | | La Tropicale Amissa Bongo (2.1) |
| 5 | | Klassement |
| 27 | | Punten |
| 29-01 | 18 | 5 | Stage 7Cap Esterias - Libreville (133.0km) | 133.0km |
| 28-01 | 8 | 5 | Stage 6Port-Gentil - Port-Gentil (127.0km) | 127.0km |
| 27-01 | 21 | 20 | Stage 5Kango - Angondjé (103.0km) | 103.0km |
| 26-01 | 26 | 20 | Stage 4Mouila - Lambaréné (193.0km) | 193.0km |
| 25-01 | 29 | 22 | Stage 3Lébamba - Mouila (113.0km) | 113.0km |
| 24-01 | 39 | 24 | Stage 2Oyem - Mitzic (111.0km) | 111.0km |
| 23-01 | 18 | 18 | Stage 1Bitam - Oyem (121.0km) | 121.0km |