| 30-12 | 42 | | UCI Cyclo-cross World Cup - Hulst (CDM) | |
| 23-12 | 6 | | UCI Cyclo-cross World Cup - Antwerpen U23 (CDM) | |
| 17-12 | 3 | | UCI Cyclo-cross World Cup - Namur U23 (CDM) | |
| 10-12 | 1 | | Coupe de France de Cyclo-Cross #6 - Flamanville U23 (C2) | |
| 09-12 | 3 | | Coupe de France de Cyclo-Cross #5 - Flamanville U23 (C2) | |
| 26-11 | 10 | | UCI Cyclo-cross World Cup - Dublin U23 (CDM) | |
| 19-11 | 7 | | UCI Cyclo-cross World Cup - Troyes U23 (CDM) | |
| 12-11 | 1 | | Coupe de France de Cyclo-Cross #4 - Albi U23 (C2) | |
| 11-11 | 3 | | Coupe de France de Cyclo-Cross #3 - Albi U23 (C2) | |
| 05-11 | 10 | | UEC Cyclo-Cross European Championships U23 (CC) | |
| 29-10 | 39 | | UCI Cyclo-cross World Cup - Maasmechelen (CDM) | |
| 22-10 | 3 | | Coupe de France de Cyclo-Cross #2 - Quelneuc U23 (C2) | |
| 21-10 | 4 | | Coupe de France de Cyclo-Cross #1 - Quelneuc U23 (C2) | |
| 15-10 | 7 | | Swiss Cyclocross Cup #2 - Internationales Radquer Steinmaur (C2) | |
| 08-10 | 14 | | Brumath Bike Festival by Lollier Ingénierie (C1) | |
| 23-09 | DNF | | UEC Road European Championships U19 (CC) | 111.0km |
| | | Keizer der Juniores (2.1) |
| 17-09 | 39 | 6 | Stage 2aWulpen - Wulpen (6.0km) | 6.0km |
| 17-09 | 28 | 6 | Stage 2bKoksijde - Koksijde (99.0km) | 99.0km |
| 16-09 | 7 | 7 | Stage 1Pittem - Pittem (111.0km) | 111.0km |
| | | Grand Prix Rüebliland (2.1) |
| 1 | | Standings |
| 7 | | Points |
| 1 | | Mountain |
| 10-09 | 1 | 1 | Stage 3Altishofen - Altishofen (107.0km) | 107.0km |
| 09-09 | 70 | 58 | Stage 2aMöhlin - Möhlin (66.0km) | 66.0km |
| 09-09 | 42 | 36 | Stage 2bMöhlin - Möhlin (42.0km) | 42.0km |
| 08-09 | 60 | 63 | Stage 1Vordemwald - Vordemwald (86.0km) | 86.0km |
| | | Giro Della Lunigiana (2.1) |
| 1 | | Standings |
| 6 | | Points |
| 10 | | Mountain |
| 03-09 | 30 | 1 | Stage 4Sarzana - Casano di Luni (104.0km) | 104.0km |
| 02-09 | 7 | 1 | Stage 3Terre di Luni - Terre di Luni (103.0km) | 103.0km |
| 01-09 | 9 | 2 | Stage 2Portofino - Chiavari (98.0km) | 98.0km |
| 31-08 | 4 | 3 | Stage 1bMassa - Bolano (46.0km) | 46.0km |
| 31-08 | 8 | 8 | Stage 1aLa Spezia - Fivizzano (49.0km) | 49.0km |
| | | Watersley Junior Challenge (2.NCUP) |
| 12 | | Standings |
| 30-07 | 16 | 12 | Stage 3Sittard-Geleen - Sittard-Geleen (113.0km) | 113.0km |
| 29-07 | 34 | 27 | Stage 2Neerharen - Mopertingen (122.0km) | 122.0km |
| 28-07 | 30 | 30 | Stage 1Sittard-Geleen - Sittard-Geleen (5.0km) | 5.0km |
| | | SPIE Intern. Juniorendriedaagse (2.1) |
| 1 | | Standings |
| 8 | | Points |
| 2 | | Mountain |
| 21-05 | 1 | 1 | Stage 4Velzeke - Velzeke (99.0km) | 99.0km |
| 20-05 | 56 | | Stage 3Sluiskil - Sluiskil (80.0km) | 80.0km |
| 20-05 | 7 | 7 | Stage 2Westdorpe - Westdorpe (11.0km) | 11.0km |
| 19-05 | 38 | 38 | Stage 1Axel - Axel (102.0km) | 102.0km |
| | | Course de la Paix Juniors (2.NCUP) |
| 26 | | Standings |
| 5 | | Mountain |
| 07-05 | 57 | 26 | Stage 4Terezín - Terezín (98.0km) | 98.0km |
| 06-05 | 27 | 26 | Stage 3Teplice - Olbernhau (117.0km) | 117.0km |
| 05-05 | 56 | 39 | Stage 2aTrebivlice - Trebivlice (8.0km) | 8.0km |
| 05-05 | 123 | 38 | Stage 2bRoudnice - Steti (61.0km) | 61.0km |
| 04-05 | 45 | 46 | Stage 1Litomerice - Litomerice (102.0km) | 102.0km |
| | | Eroica Juniores - Nations' Cup (2.NCUP) |
| 7 | | Standings |
| 15 | | Points |
| 22-04 | 8 | 7 | Stage 3Siena - Chiusdino (109.0km) | 109.0km |
| 21-04 | 22 | 13 | Stage 2Siena - Poggibonsi (70.0km) | 70.0km |
| 21-04 | 3 | 13 | Stage 1Castelnuovo Berardenga - Rapolano Terme (11.0km) | 11.0km |
| 26-03 | DNF | | Gent-Wevelgem / Grote Prijs A. Noyelle-Ieper U19 (1.1) | 133.0km |
| 05-02 | 1 | | UCI Cyclo-cross World Championships Hoogerheide U19 (CM) | |
| 29-01 | 52 | | UCI Cyclo-cross World Cup - Besançon U19 (CDM) | |
| 22-01 | 7 | | UCI Cyclo-cross World Cup - Benidorm U19 (CDM) | |
| 15-01 | 1 | | French National Championships CX U19 (CN) | |
| 08-01 | 1 | | UCI Cyclo-cross World Cup - Zonhoven U19 (CDM) | |