| | | Gree-Tour of Guangxi (2.UWT) |
| 12 | | Klassement |
| 33 | | Punten |
| 17-10 | 18 | 12 | Stage 6Guilin - Guilin (168.0km) | 168.0km |
| 16-10 | 50 | 12 | Stage 5Liuzhou - Guilin (209.0km) | 209.0km |
| 15-10 | 13 | 12 | Stage 4Nanning - Mashan Nongla (161.0km) | 161.0km |
| 14-10 | 7 | 20 | Stage 3Nanning - Nanning (134.0km) | 134.0km |
| 13-10 | 21 | 37 | Stage 2Beihai - Qinzhou (149.0km) | 149.0km |
| 12-10 | 52 | 55 | Stage 1Beihai - Beihai (135.0km) | 135.0km |
| 07-10 | OTL | | Il Lombardia (1.UWT) | 238.0km |
| 05-10 | 89 | | Gran Piemonte (1.Pro) | 152.0km |
| 02-10 | 17 | | Coppa Bernocchi (1.Pro) | 187.0km |
| 30-09 | 89 | | Giro dell'Emilia (1.Pro) | 204.0km |
| 16-09 | DNF | | Memorial Marco Pantani (1.1) | 193.0km |
| 14-09 | 33 | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | |
| 13-09 | 58 | | Giro della Toscana (1.1) | |
| | | Tour du Limousin (2.1) |
| 18-08 | DNS | | Stage 4Saint-Yrieix-la-Perche - Limoges (170.0km) | 170.0km |
| 17-08 | 91 | 49 | Stage 3Sarran - Bort-les-Orgues (195.0km) | 195.0km |
| 16-08 | 5 | 10 | Stage 2Excideuil - Trélissac (185.0km) | 185.0km |
| 15-08 | 22 | 22 | Stage 1Rilhac-Rancon - Bénévent-l'Abbaye (165.0km) | 165.0km |
| 13-08 | 78 | | La Polynormande (1.1) | |
| | | Tour de l'Ain (2.1) |
| 02-08 | DNF | | Stage 3Oyonnax - Lélex (137.0km) | 137.0km |
| 01-08 | 61 | 62 | Stage 2Saint-Vulbas - Lagnieu (124.0km) | 124.0km |
| 31-07 | 36 | 36 | Stage 1Loyettes - La Plaine Tonique (154.0km) | 154.0km |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 35 | | Klassement |
| 26-07 | 36 | 35 | Stage 5Banneux - Aubel (197.0km) | 197.0km |
| 25-07 | 54 | 41 | Stage 4Mons - Mons (32.0km) | 32.0km |
| 24-07 | 19 | 29 | Stage 3Thuin - Mont-Saint-Guibert (186.0km) | 186.0km |
| 23-07 | 36 | 34 | Stage 2Saint-Ghislain - Walcourt (179.0km) | 179.0km |
| 22-07 | 43 | 46 | Stage 1Huy - Hamoir (189.0km) | 189.0km |
| 25-06 | DNF | | National Road Championships - France (CN) | 224.0km |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 65 | | Klassement |
| 18-06 | 45 | 65 | Stage 4Saint-Gaudens - Saint-Girons (164.0km) | 164.0km |
| 17-06 | 58 | 79 | Stage 3Gimont - Nistos Cap Nestès (189.0km) | 189.0km |
| 16-06 | 64 | 100 | Stage 2Cazouls-lès-Béziers - Graulhet (182.0km) | 182.0km |
| 15-06 | 112 | 112 | Stage 1Narbonne - Gruissan (184.0km) | 184.0km |
| 13-06 | 44 | | CIC - Mont Ventoux (1.Pro) | 154.0km |
| 19-03 | DNF | | Cholet - Pays de la Loire (1.1) | 205.0km |
| 18-03 | 83 | | Classic Loire Atlantique (1.1) | 182.0km |
| 04-03 | 102 | | Strade Bianche (1.UWT) | 184.0km |
| 01-03 | 53 | | Trofeo Laigueglia (1.Pro) | 201.0km |
| 26-02 | DNF | | Faun Drome Classic (1.Pro) | |
| 25-02 | 84 | | Faun-Ardèche Classic
(1.Pro) | |
| | | Saudi Tour (2.1) |
| 29 | | Klassement |
| 22 | | Punten |
| 03-02 | 50 | 29 | Stage 5Alula - Maraya (142.0km) | 142.0km |
| 02-02 | 7 | 28 | Stage 4Maraya - Skyviews of Harrat Uwayrid (163.0km) | 163.0km |
| 01-02 | 63 | 52 | Stage 3Al Manshiyah - Abu Rakah (159.0km) | 159.0km |
| 31-01 | 60 | 54 | Stage 2Alula - Shalal Sijlyat (184.0km) | 184.0km |
| 30-01 | 48 | 49 | Stage 1Alula - Khaybar (180.0km) | 180.0km |