| | | Gree-Tour of Guangxi (2.UWT) |
| 116 | | Klassement |
| 22-10 | 11 | 116 | Stage 6Guilin - Guilin (168.0km) | 168.0km |
| 21-10 | 116 | 117 | Stage 5Liuzhou - Guilin (212.0km) | 212.0km |
| 20-10 | 99 | 111 | Stage 4Nanning - Mashan Nongla (161.0km) | 161.0km |
| 19-10 | 121 | 112 | Stage 3Nanning - Nanning (143.0km) | 143.0km |
| 18-10 | 62 | 68 | Stage 2Beihai - Qinzhou (152.0km) | 152.0km |
| 17-10 | 75 | 76 | Stage 1Beihai - Beihai (135.0km) | 135.0km |
| 06-10 | 58 | | Gran Premio Bruno Beghelli (1.HC) | 199.0km |
| 27-09 | 14 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| 22-09 | 28 | | Gooikse Pijl (1.1) | |
| 20-09 | 61 | | Kampioenschap van Vlaanderen (1.1) | 185.0km |
| 18-09 | 85 | | Grand Prix de Wallonie (1.1) | 205.0km |
| 08-09 | 11 | | Antwerp Port Epic / Sels Trophy (1.1) | 187.0km |
| 07-09 | 10 | | Brussels Cycling Classic (1.HC) | 189.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 84 | | Klassement |
| 13 | | Punten |
| 25-08 | 89 | 84 | Stage 10Saint-Colomban-des-Villards - Le Corbier (78.0km) | 78.0km |
| 24-08 | 103 | 83 | Stage 9Villaroger - Tignes (67.0km) | 67.0km |
| 23-08 | 84 | 76 | Stage 8Brides-les-Bains - Méribel (23.0km) | 23.0km |
| 22-08 | 68 | 75 | Stage 7Grésy-sur-Isere - La Giettaz (103.0km) | 103.0km |
| 20-08 | 2 | 76 | Stage 6Saint-Julien-Chapteuil - Privas (124.0km) | 124.0km |
| 19-08 | 117 | 119 | Stage 5Espalion - Saint-Julien-Chapteuil (158.0km) | 158.0km |
| 18-08 | 68 | 118 | Stage 4Mauriac - Espalion (158.0km) | 158.0km |
| 17-08 | 133 | 121 | Stage 3Montignac-Lascaux - Mauriac (162.0km) | 162.0km |
| 16-08 | | 33 | Stage 2Eymet - Bergerac (32.0km) | 32.0km |
| 15-08 | 7 | 7 | Stage 1Marmande - Marmande (128.0km) | 128.0km |
| | | Tour Alsace (2.2) |
| 03-08 | 140 | | Stage 4Ribeauville - Lac Blanc (161.0km) | 161.0km |
| 02-08 | 125 | 119 | Stage 3Vesoul - La Planche des Belles Filles (143.0km) | 143.0km |
| 01-08 | 6 | 32 | Stage 2Selestat - Selestat (153.0km) | 153.0km |
| 31-07 | | 32 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| | | Baby Giro (2.2U) |
| 157 | | Klassement |
| 23-06 | | 157 | Stage 9Agordo - Passo Fedaia (35.0km) | 35.0km |
| 17-06 | 156 | | Stage 4Buonconvento - Vetta Amiata (163.0km) | 163.0km |
| 16-06 | 155 | 132 | Stage 3Sesto Fiorentino - Gaiole in Chianti (145.0km) | 145.0km |
| 15-06 | 3 | 4 | Stage 2Bagno di Romagna - Pescia (174.0km) | 174.0km |
| 14-06 | 14 | 5 | Stage 1Riccione - Santa Sofia (143.0km) | 143.0km |
| 13-06 | 2 | 2 | PrologueRiccione - Riccione (3.0km) | 3.0km |
| 02-06 | 31 | | Paris-Roubaix Espoirs (1.2U) | |
| | | Ronde de l'Isard (2.2U) |
| 43 | | Klassement |
| 26-05 | 9 | 43 | Stage 4Belesta - Saint-Girons (134.0km) | 134.0km |
| 25-05 | 49 | 49 | Stage 3Mirepoix - Quérigut (156.0km) | 156.0km |
| 24-05 | 43 | 41 | Stage 2Salies-du-Salat - Castillon-en-Couserans (136.0km) | 136.0km |
| 23-05 | 1 | 1 | Stage 1Toulouse - Le Mas-d'Azil (144.0km) | 144.0km |
| 04-05 | 5 | | Ronde van Overijssel (1.2) | |
| 01-05 | 2 | | Eschborn-Frankfurt U23 (1.2U) | 147.0km |
| 20-04 | 8 | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| | | Circuit des Ardennes International (2.2) |
| 4 | | Klassement |
| 1 | | Punten |
| 21 | | Berg |
| 14-04 | 1 | 4 | Stage 4Villers-Semeuse - Charleville-Mézières (101.0km) | 101.0km |
| 14-04 | 13 | 4 | Stage 3Nouvion-sur-Meuse - Aiglemont (58.0km) | 58.0km |
| 13-04 | 4 | 2 | Stage 2Rocroi - Monthermé (160.0km) | 160.0km |
| 12-04 | 1 | 1 | Stage 1Neuvizy - Launois-sur-Vence (187.0km) | 187.0km |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 33 | | Klassement |
| 3 | | Punten |
| 07-04 | 1 | 33 | Stage 3Ath - Tournai (167.0km) | 167.0km |
| 06-04 | 87 | 56 | Stage 2aCelles - Celles (11.0km) | 11.0km |
| 06-04 | 32 | 53 | Stage 2bWodecq - Celles (112.0km) | 112.0km |
| 05-04 | 1 | 1 | Stage 1Frasnes - Chièvres (147.0km) | 147.0km |
| 22-03 | 33 | | Youngster Coast Challenge (1.2U) | |
| 17-03 | DNF | | Ronde van Drenthe (1.HC) | 217.0km |