| 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 |
| 17-09 | 28 | 6 | Stage 2bKoksijde - Koksijde | 99.0km |
| 16-09 | 7 | 7 | Stage 1Pittem - Pittem | 111.0km |
| | | Grand Prix Rüebliland (2.1) |
| 1 | | Standings |
| 7 | | Points |
| 1 | | Mountain |
| 10-09 | 1 | 1 | Stage 3Altishofen - Altishofen | 107.0km |
| 09-09 | 70 | 58 | Stage 2aMöhlin - Möhlin | 66.0km |
| 09-09 | 42 | 36 | Stage 2bMöhlin - Möhlin | 42.0km |
| 08-09 | 60 | 63 | Stage 1Vordemwald - Vordemwald | 86.0km |
| | | Giro Della Lunigiana (2.1) |
| 1 | | Standings |
| 6 | | Points |
| 10 | | Mountain |
| 03-09 | 30 | 1 | Stage 4Sarzana - Casano di Luni | 104.0km |
| 02-09 | 7 | 1 | Stage 3Terre di Luni - Terre di Luni | 103.0km |
| 01-09 | 9 | 2 | Stage 2Portofino - Chiavari | 98.0km |
| 31-08 | 4 | 3 | Stage 1bMassa - Bolano | 46.0km |
| 31-08 | 8 | 8 | Stage 1aLa Spezia - Fivizzano | 49.0km |
| | | Watersley Junior Challenge (2.NCUP) |
| 12 | | Standings |
| 30-07 | 16 | 12 | Stage 3Sittard-Geleen - Sittard-Geleen | 113.0km |
| 29-07 | 34 | 27 | Stage 2Neerharen - Mopertingen | 122.0km |
| 28-07 | 30 | 30 | Stage 1Sittard-Geleen - Sittard-Geleen | 5.0km |
| | | SPIE Intern. Juniorendriedaagse (2.1) |
| 1 | | Standings |
| 8 | | Points |
| 2 | | Mountain |
| 21-05 | 1 | 1 | Stage 4Velzeke - Velzeke | 99.0km |
| 20-05 | 56 | | Stage 3Sluiskil - Sluiskil | 80.0km |
| 20-05 | 7 | 7 | Stage 2Westdorpe - Westdorpe | 11.0km |
| 19-05 | 38 | 38 | Stage 1Axel - Axel | 102.0km |
| | | Course de la Paix Juniors (2.NCUP) |
| 26 | | Standings |
| 5 | | Mountain |
| 07-05 | 57 | 26 | Stage 4Terezín - Terezín | 98.0km |
| 06-05 | 27 | 26 | Stage 3Teplice - Olbernhau | 117.0km |
| 05-05 | 56 | 39 | Stage 2aTrebivlice - Trebivlice | 8.0km |
| 05-05 | 123 | 38 | Stage 2bRoudnice - Steti | 61.0km |
| 04-05 | 45 | 46 | Stage 1Litomerice - Litomerice | 102.0km |
| | | Eroica Juniores - Nations' Cup (2.NCUP) |
| 7 | | Standings |
| 15 | | Points |
| 22-04 | 8 | 7 | Stage 3Siena - Chiusdino | 109.0km |
| 21-04 | 22 | 13 | Stage 2Siena - Poggibonsi | 70.0km |
| 21-04 | 3 | 13 | Stage 1Castelnuovo Berardenga - Rapolano Terme | 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) | |