| 12-10 | 70 | | Tacx Pro Classic / Ronde van Zeeland (1.1) | |
| 06-10 | 44 | | 91° Il Piccolo Lombardia (1.2U) | |
| 27-09 | 20 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| 22-09 | 102 | | Gooikse Pijl (1.1) | |
| 18-09 | 30 | | Grand Prix de Wallonie (1.1) | 205.0km |
| 08-09 | DNF | | Gylne Gutuer (1.2) | |
| 07-09 | 28 | | Lillehammer GP (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 40 | | Klassement |
| 9 | | Berg |
| 25-08 | 64 | 40 | Stage 10Saint-Colomban-des-Villards - Le Corbier (78.0km) | 78.0km |
| 24-08 | 73 | 37 | Stage 9Villaroger - Tignes (67.0km) | 67.0km |
| 23-08 | 67 | 35 | Stage 8Brides-les-Bains - Méribel (23.0km) | 23.0km |
| 22-08 | 65 | 32 | Stage 7Grésy-sur-Isere - La Giettaz (103.0km) | 103.0km |
| 20-08 | 21 | 29 | Stage 6Saint-Julien-Chapteuil - Privas (124.0km) | 124.0km |
| 19-08 | 64 | 49 | Stage 5Espalion - Saint-Julien-Chapteuil (158.0km) | 158.0km |
| 18-08 | 119 | 60 | Stage 4Mauriac - Espalion (158.0km) | 158.0km |
| 17-08 | 84 | 57 | Stage 3Montignac-Lascaux - Mauriac (162.0km) | 162.0km |
| 16-08 | | 22 | Stage 2Eymet - Bergerac (32.0km) | 32.0km |
| 15-08 | 33 | 33 | Stage 1Marmande - Marmande (128.0km) | 128.0km |
| 11-08 | 17 | | KOGA Slag om Norg (1.1) | |
| | | Giro Ciclistico della Valle d'Aosta Mont Blanc (2.2U) |
| 8 | | Klassement |
| 13 | | Punten |
| 6 | | Berg |
| 21-07 | 18 | 8 | Stage 5Valtournenche - Breuil-Cervinia (120.0km) | 120.0km |
| 20-07 | 17 | 9 | Stage 4Orsières - Champex Lac (128.0km) | 128.0km |
| 19-07 | 21 | 6 | Stage 3Antagnod - Champoluc (179.0km) | 179.0km |
| 18-07 | 27 | 4 | Stage 2Aymavilles - Valsavarenche (137.0km) | 137.0km |
| 17-07 | 1 | 1 | Stage 1Sainte-Foy-Tarentaise - Saint-Gervais Mont-Blanc (126.0km) | 126.0km |
| 16-07 | 10 | 10 | PrologueAosta - Aosta (2.0km) | 2.0km |
| 29-06 | 19 | | National Road Championships - Netherlands U23 (CN) | 147.0km |
| 26-06 | 9 | | National Road Championships - Netherlands TT U23 (CN) | 31.0km |
| | | Baby Giro (2.2U) |
| 30 | | Klassement |
| 13 | | Punten |
| 25 | | Berg |
| 23-06 | 6 | 30 | Stage 9Agordo - Passo Fedaia (35.0km) | 35.0km |
| 22-06 | 54 | 41 | Stage 8Rosà - Falcade (134.0km) | 134.0km |
| 21-06 | 2 | 40 | Stage 7Dimaro Folgarida - Levico Terme (153.0km) | 153.0km |
| 20-06 | 55 | 40 | Stage 6Aprica - Aprica (94.0km) | 94.0km |
| 19-06 | 79 | 38 | Stage 5Sorbolo - Passo Maniva (155.0km) | 155.0km |
| 17-06 | 33 | 30 | Stage 4Buonconvento - Vetta Amiata (163.0km) | 163.0km |
| 16-06 | 32 | 28 | Stage 3Sesto Fiorentino - Gaiole in Chianti (145.0km) | 145.0km |
| 15-06 | 27 | 9 | Stage 2Bagno di Romagna - Pescia (174.0km) | 174.0km |
| 14-06 | 18 | 8 | Stage 1Riccione - Santa Sofia (143.0km) | 143.0km |
| 13-06 | 7 | 7 | PrologueRiccione - Riccione (3.0km) | 3.0km |
| | | Ronde de l'Isard (2.2U) |
| 6 | | Klassement |
| 6 | | Punten |
| 26-05 | 11 | 6 | Stage 4Belesta - Saint-Girons (134.0km) | 134.0km |
| 25-05 | 6 | 6 | Stage 3Mirepoix - Quérigut (156.0km) | 156.0km |
| 24-05 | 7 | 7 | Stage 2Salies-du-Salat - Castillon-en-Couserans (136.0km) | 136.0km |
| 23-05 | 49 | 50 | Stage 1Toulouse - Le Mas-d'Azil (144.0km) | 144.0km |
| 12-05 | 69 | | Flèche Ardennaise (1.2) | 179.0km |
| 05-05 | 101 | | Entre Brenne et Montmorillonnais (1.2) | |
| 04-05 | 15 | | L'Etoile d'Or (1.NCUP) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 110 | | Klassement |
| 01-05 | 38 | 110 | Stage 7Plounévez-Lochrist - Saint-Pol-de-Léon (150.0km) | 150.0km |
| 30-04 | 100 | 119 | Stage 6Le Ferré - Plurien (171.0km) | 171.0km |
| 29-04 | 128 | 125 | Stage 5Rougé - Le Ferré (191.0km) | 191.0km |
| 28-04 | 131 | 122 | Stage 4Ploërmel - Chateaubriant (152.0km) | 152.0km |
| 27-04 | 97 | 111 | Stage 3Port-Louis - Guégon (172.0km) | 172.0km |
| 26-04 | 130 | 124 | Stage 2Bannalec - Quimperlé (169.0km) | 169.0km |
| 25-04 | 131 | 127 | Stage 1Lorient - Inzinzac-Lochrist (150.0km) | 150.0km |
| 20-04 | 35 | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| | | Circuit des Ardennes International (2.2) |
| 18 | | Klassement |
| 23 | | Berg |
| 14-04 | 23 | 18 | Stage 4Villers-Semeuse - Charleville-Mézières (101.0km) | 101.0km |
| 14-04 | 14 | 20 | Stage 3Nouvion-sur-Meuse - Aiglemont (58.0km) | 58.0km |
| 13-04 | 22 | 22 | Stage 2Rocroi - Monthermé (160.0km) | 160.0km |
| 12-04 | 61 | 62 | Stage 1Neuvizy - Launois-sur-Vence (187.0km) | 187.0km |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 29 | | Klassement |
| 18 | | Berg |
| 07-04 | 37 | 29 | Stage 3Ath - Tournai (167.0km) | 167.0km |
| 06-04 | 34 | 37 | Stage 2aCelles - Celles (11.0km) | 11.0km |
| 06-04 | 105 | 37 | Stage 2bWodecq - Celles (112.0km) | 112.0km |
| 05-04 | 115 | 115 | Stage 1Frasnes - Chièvres (147.0km) | 147.0km |
| 31-03 | DNF | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 173.0km |
| 22-03 | 97 | | Youngster Coast Challenge (1.2U) | |
| 17-03 | 11 | | Ronde van Drenthe (1.HC) | 217.0km |