| 29-12 | 4 | | DVV Verzekeringen Trofee - Azencross U23 (C1) | |
| 26-12 | 1 | | Telenet UCI Cyclo-cross World Cup Heusden-Zolder U23 (CDM) | |
| 23-12 | 2 | | Hansgrohe Superprestige Diegem U23 (C1) | |
| 18-12 | 1 | | Telenet UCI Cyclo-cross World Cup Namur U23 (CDM) | |
| 03-12 | 3 | | Hansgrohe Superprestige Francorchamps U23 (C1) | |
| 26-11 | 1 | | Telenet UCI Cyclo-cross World Cup Zeven U23 (CDM) | |
| 13-11 | 3 | | Hansgrohe Superprestige Gavere U23 (C1) | |
| 12-11 | 3 | | De Grote Prijs van Brabant (C1) | |
| 06-11 | 3 | | Hansgrohe Superprestige Ruddervoorde U23 (C1) | |
| 29-10 | 2 | | UEC Cyclo-Cross European Championships U23 (CC) | |
| 23-10 | 2 | | Telenet UCI Cyclo-cross World Cup Valkenburg U23 (CDM) | |
| 16-10 | 2 | | Hansgrohe Superprestige Zonhoven U23 (C1) | |
| 09-10 | 1 | | DVV Verzekeringen Trofee - Hotondcross U23 (C1) | |
| 02-10 | 1 | | Hansgrohe Superprestige Gieten U23 (C1) | |
| | | Tour de l'Avenir (2.NCUP) |
| 60 | | Klassement |
| 9 | | Punten |
| 27-08 | 72 | 60 | Stage 8Saint-Michel-de-Maurienne - Saint-Sorlin-d'Arves (72.0km) | 72.0km |
| 26-08 | 45 | 61 | Stage 7Val-d'Isère - Vailmeinier (121.0km) | 121.0km |
| 25-08 | 77 | 71 | Stage 6Saint-Gervais Mont-Blanc - Tignes (123.0km) | 123.0km |
| 24-08 | 42 | 44 | Stage 5Scionzier - Les Carroz-d'Arâches (97.0km) | 97.0km |
| 23-08 | 69 | 58 | Stage 4Lugny - Lugny (16.0km) | 16.0km |
| 22-08 | 6 | 12 | Stage 3Bourg-en-Bresse - Autun (171.0km) | 171.0km |
| 21-08 | 32 | 18 | Stage 2Montrond-les-Bains - Trévoux (156.0km) | 156.0km |
| 20-08 | 10 | 10 | Stage 1Le Puy-en-Velay - Veauche (139.0km) | 139.0km |
| 14-08 | 28 | | KOGA Slag om Norg (1.2) | |
| | | Tour Alsace (2.2) |
| 44 | | Klassement |
| 31-07 | 99 | 44 | Stage 4Colmar - Selestat (149.0km) | 149.0km |
| 30-07 | 43 | 43 | Stage 3Ribeauville - Lac Blanc (157.0km) | 157.0km |
| 29-07 | 94 | 69 | Stage 2Altkirch - Huningue (151.0km) | 151.0km |
| 28-07 | 119 | 59 | Stage 1Velleminfroy - Dannemarie (171.0km) | 171.0km |
| 27-07 | 66 | 66 | PrologueSausheim - Sausheim (7.0km) | 7.0km |
| | | Tour des Pays de Savoie (2.2) |
| 14 | | Klassement |
| 10 | | Punten |
| 19-06 | 22 | 14 | Stage 4Moûtiers - Cluses (130.0km) | 130.0km |
| 18-06 | 9 | 19 | Stage 3bSaint-Michel-de-Maurienne - Saint-Martin-de-la-Porte (7.0km) | 7.0km |
| 18-06 | 5 | 19 | Stage 3aChambéry - Modane (123.0km) | 123.0km |
| 17-06 | 23 | 20 | Stage 2Barby - Les Déserts (118.0km) | 118.0km |
| 16-06 | 7 | 8 | Stage 1Saint-Michel-de-Maurienne - Cruseilles (145.0km) | 145.0km |
| | | Boucles de la Mayenne (2.1) |
| 40 | | Klassement |
| 1 | | Berg |
| 05-06 | 31 | 40 | Stage 3Juvigné - Laval | |
| 04-06 | 63 | 47 | Stage 2Saint-Berthevin - Craon (180.0km) | 180.0km |
| 03-06 | 35 | 66 | Stage 1Laval - Villaines-la-Juhel (190.0km) | 190.0km |
| 02-06 | 70 | 70 | PrologueLaval - Laval (4.0km) | 4.0km |
| 29-05 | 31 | | Paris-Roubaix Espoirs (1.2U) | |
| | | Paris-Arras Tour (2.2) |
| 23 | | Klassement |
| 22-05 | 19 | 23 | Stage 3Gavrelle - Arras (181.0km) | 181.0km |
| 21-05 | 45 | 35 | Stage 2Barlin - Tatinghem (199.0km) | 199.0km |
| 20-05 | 31 | 32 | Stage 1Douchy-les-Mines - Biache-Saint-Vaast (92.0km) | 92.0km |
| 05-05 | 47 | | Dwars door de Vlaamse Ardennen (1.2) | |
| 30-04 | 16 | | ZODC Zuidenveld Tour (1.2) | |
| 21-02 | 6 | | Internationale Sluitingsprijs Oostmalle U23 (C1) | |
| 13-02 | 12 | | Superprestige - Noordzeecross Middelkerke U23 (C1) | |
| 07-02 | 6 | | Superprestige - Hoogstraten U23 (C1) | |
| 31-01 | 14 | | UCI Cyclo-cross World Championships U23 (CM) | |
| 17-01 | 3 | | UCI World Cup Lignières-en-Berry U23 (CDM) | |
| 10-01 | 4 | | Dutch National Championships CX U23 (CN) | |
| 02-01 | 9 | | Internationale Centrumcross van Surhuisterveen (C2) | |