| 08-10 | 17 | | Paris - Tours Espoirs (1.2U) | |
| 03-10 | DNF | | Sparkassen Münsterland Giro (1.Pro) | |
| | | Tour de l'Avenir (2.NCUP) |
| 37 | | Klassement |
| 28 | | Punten |
| 10 | | Berg |
| 27-08 | 8 | 37 | Stage 8Val Cenis - Sainte-Foy-Tarentaise (100.0km) | 100.0km |
| 26-08 | 13 | 51 | Stage 7bLes Karellis - Col du Mont Cenis (70.0km) | 70.0km |
| 26-08 | 114 | 77 | Stage 7aMontricher-Albanne - Les Karellis (11.0km) | 11.0km |
| 25-08 | 55 | 68 | Stage 6Méribel - Col de la Loze (Méribel) (65.0km) | 65.0km |
| 24-08 | 70 | 82 | Stage 5La Tour-de-Salvagny - Lac d'Aiguebelette (141.0km) | 141.0km |
| 23-08 | 6 | 100 | Stage 4Aigurande - Évaux-les-Bains (149.0km) | 149.0km |
| 22-08 | | 136 | Stage 3Vatan - Issoudun (21.0km) | 21.0km |
| 21-08 | 149 | 141 | Stage 2Nozay - Château-Chinon (189.0km) | 189.0km |
| 20-08 | 26 | 26 | Stage 1Carnac - La Gacilly (140.0km) | 140.0km |
| 15-08 | 31 | | Tour of Leuven - Memorial Jef Scherens (1.1) | 193.0km |
| | | Tour ALSACE (2.2) |
| 7 | | Klassement |
| 22 | | Punten |
| 30-07 | 6 | 7 | Stage 4Ribeauville - Cernay (139.0km) | 139.0km |
| 29-07 | 90 | 10 | Stage 3Tagolsheim - Altkirch (197.0km) | 197.0km |
| 28-07 | 13 | 10 | Stage 2Vesoul - La Planche des Belles Filles (132.0km) | 132.0km |
| 27-07 | 78 | 22 | Stage 1Rust (Europapark) - Selestat (166.0km) | 166.0km |
| 26-07 | 8 | 20 | PrologueSausheim - Sausheim (4.0km) | 4.0km |
| 23-07 | 37 | | Grand Prix de la ville de Pérenchies (1.2) | |
| 20-07 | 42 | | SD WORX BW Classic (1.2) | 185.0km |
| | | Giro d'Italia Giovani (2.2U) |
| 54 | | Klassement |
| 26 | | Punten |
| 18-06 | 31 | 54 | Stage 8Tavagnacco - Trieste (131.0km) | 131.0km |
| 17-06 | 44 | 55 | Stage 7Possagno - Pian del Cansiglio (175.0km) | 175.0km |
| 16-06 | 85 | 69 | Stage 6Pergine Valsugana - Povegliano (166.0km) | 166.0km |
| 15-06 | 67 | 72 | Stage 5Cesano Maderno - Manerba del Garda (164.0km) | 164.0km |
| 14-06 | 101 | 81 | Stage 4Morbegno - Passo dello Stelvio (118.0km) | 118.0km |
| 13-06 | 63 | 24 | Stage 3Priocca - Magenta (146.0km) | 146.0km |
| 12-06 | 6 | 23 | Stage 2San Francesco al Campo - Cherasco (151.0km) | 151.0km |
| 11-06 | 33 | 33 | Stage 1Aglie - Aglie (9.0km) | 9.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 96 | | Klassement |
| 21-05 | 97 | 96 | Stage 6Avion - Dunkerque (180.0km) | 180.0km |
| 20-05 | 105 | 97 | Stage 5Roubaix - Cassel (183.0km) | 183.0km |
| 19-05 | 94 | 87 | Stage 4Maubeuge - Achicourt (173.0km) | 173.0km |
| 18-05 | 77 | 87 | Stage 3Saint-Quentin - Saint-Quentin (15.0km) | 15.0km |
| 17-05 | 30 | 84 | Stage 2Compiègne - Laon (165.0km) | 165.0km |
| 16-05 | 124 | 136 | Stage 1Dunkerque - Abbeville (193.0km) | 193.0km |
| 07-05 | 11 | | Flèche Ardennaise (1.2) | 170.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 17 | | Klassement |
| 34 | | Punten |
| 7 | | Berg |
| 01-05 | 40 | 17 | Stage 7Piré-Chancé - Châteaugiron (163.0km) | 163.0km |
| 29-04 | 13 | 21 | Stage 5Sérent - Louisfert (173.0km) | 173.0km |
| 28-04 | 27 | 21 | Stage 4Le Mené - Plumelec (183.0km) | 183.0km |
| 27-04 | 22 | 28 | Stage 3Trégunc - Le Quillio (191.0km) | 191.0km |
| 26-04 | 54 | 46 | Stage 2Sibiril - Melgven (172.0km) | 172.0km |
| 25-04 | 30 | 35 | Stage 1Plouescat - Saint-Pol-de-Léon (155.0km) | 155.0km |
| 15-04 | 28 | | Liège-Bastogne-Liège U23 (1.2U) | 174.0km |
| | | Circuit des Ardennes (2.2) |
| 42 | | Klassement |
| 09-04 | 41 | 42 | Stage 4Bazeilles - Charleville-Mézières (180.0km) | 180.0km |
| 08-04 | 22 | 46 | Stage 3Chooz - Haybes (166.0km) | 166.0km |
| 07-04 | 71 | 66 | Stage 2Renneville - Gruyères (187.0km) | 187.0km |
| 06-04 | 55 | 55 | Stage 1Nouvion-sur-Meuse - Sedan (90.0km) | 90.0km |
| 26-03 | DNF | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.2U) | 183.0km |
| 17-03 | 15 | | Youngster Coast Challenge (1.2U) | |
| 04-03 | 72 | | Le Tour des 100 Communes (1.2) | |
| | | Tour du Rwanda (2.1) |
| 19-02 | DNS | | Stage 1Kigali - Rwamagana (115.0km) | 115.0km |