23.09 | 13 | | | World Championships MJ - Road Race (WC) | 133.8 | 28 | | more |
01.09 › 03.091-3/9 | | | | Grand Prix Rüebliland (2.1) | | | | more |
03.09 | DNF | | | S4Stage 4 - Wohlen › Wohlen | 119.4 | | | |
02.09 | 28 | 39 | | S3 (ITT)Stage 3 (ITT) - Möhlin › Möhlin | 9.6 | | | |
02.09 | 70 | 51 | | S2Stage 2 - Möhlin › Möhlin | 83.2 | | | |
01.09 | 19 | 19 | | S1Stage 1 - Schöftland › Schöftland | 107.8 | | | |
12.08 › 13.0812-13/8 | | | | Ronde des Vallées (2.1) | | | | more |
| 6 | | | Mountains classificationMountains classification | | | | |
| 3 | | | Points classificationPoints classification | | | | |
| 8 | | | General classificationGeneral classification | | 18 | | |
13.08 | 1 | | | S3Stage 3 - Hemonstoir › Hemonstoir | 102.4 | 20 | | |
13.08 | 31 | 21 | | S2 (ITT)Stage 2 (ITT) - Saint-Caradec › Hemonstoir | 11.34 | | | |
12.08 | 18 | 18 | | S1Stage 1 - Saint-Barnabé › Saint-Barnabé | 100.8 | | | |
04.08 | 20 | | | European Continental Championships MJ - Road Race (CC) | 120.6 | | | more |
28.07 › 30.0728-30/7 | | | | Internationale Niedersachsen-Rundfahrt der Junioren (2.1) | | | | more |
| 46 | | | General classificationGeneral classification | | | | |
30.07 | 70 | | | S3Stage 3 - Wallenhorst › Wallenhorst | 114.3 | | | |
29.07 | 23 | 54 | | S2bStage 2b - Wallenhorst › Wallenhorst | 94.2 | | | |
29.07 | 56 | 54 | | S2a (ITT)Stage 2a (ITT) - Bramsche › Bramsche | 10.5 | | | |
28.07 | 35 | 36 | | S1Stage 1 - Wallenhorst › Wallenhorst | 66.3 | | | |
14.07 › 16.0714-16/7 | | | | OberÖsterreich Juniorenrundfahrt (2.1) | | | | more |
| 20 | | | Points classificationPoints classification | | | | |
| 17 | | | General classificationGeneral classification | | 4 | | |
16.07 | 27 | | | S3Stage 3 - Bad Wimsbach › Altmünster | 94.7 | | | |
15.07 | 37 | 20 | | S2Stage 2 - Bad Leonfelden › Bad Leonfelden | 117.6 | | | |
14.07 | 31 | 9 | | S1Stage 1 - Haid/Ansfelden › Marchtrenk | 96.5 | | | |
08.07 › 09.078-9/7 | | | | GP Général Patton (2.Ncup) | | | | more |
| 6 | | | Mountains classificationMountains classification | | | | |
| 6 | | | Points classificationPoints classification | | | | |
| 4 | | | General classificationGeneral classification | | 80 | | |
09.07 | 14 | | | S2Stage 2 - Munshausen › Munshausen | 93.8 | | | |
08.07 | 4 | 4 | | S1Stage 1 - Ettelbruck › Troisvierges | 102 | 7 | | |
25.06 | 5 | | | National Championships Luxembourg MJ - Road Race (NC) | | 4 | | more |
21.06 | 3 | | | National Championships Luxembourg MJ - ITT (NC) | 18.7 | | | more |
08.06 › 11.068-11/6 | | | | Trofeo Karlsberg (2.Ncup) | | | | more |
09.06 | DNF | | | S2Stage 2 - Blieskastel- › Ommersheim | 99 | | | |
08.06 | 101 | 101 | | S1Stage 1 - Neunkirchen › Neunkirchen | 99 | | | |
03.06 | 13 | | | Games of the Small States of Europe ME - ITT (JR) | | | | more |
30.05 | 22 | | | Games of the Small States of Europe ME - Road Race (JR) | 100.2 | | | more |
20.05 › 21.0520-21/5 | | | | Trophée Centre Morbihan (2.Ncup) | | | | more |
| 23 | | | Points classificationPoints classification | | | | |
| 30 | | | General classificationGeneral classification | | 5 | | |
21.05 | 13 | | | S3Stage 3 - Pluméliau › Locminé | 95.5 | | | |
21.05 | 54 | 36 | | S2 (ITT)Stage 2 (ITT) - Réguiny › Naizin | 7.2 | | | |
20.05 | 35 | 35 | | S1Stage 1 - Saint-Jean-Brévelay › Saint-Jean-Brévelay | 101.7 | | | |
29.04 › 30.0429-30/4 | | | | Tour des Portes du Pays d'Othe (2.1) | | | | more |
| 28 | | | General classificationGeneral classification | | | | |
30.04 | 36 | | | S3Stage 3 - Estissac › Estissac | 113 | | | |
30.04 | 7 | 30 | | S2 (TTT)Stage 2 (TTT) - Estissac › Estissac | 16.1 | | | |
29.04 | 36 | 36 | | S1Stage 1 - Troyes › Mesnil-Saint-Père | 116.8 | | | |
09.04 | 40 | | | Paris - Roubaix Juniors (1.Ncup) | 111 | | | more |
02.04 | 99 | | | Grand Prix Bob Jungels (1.1) | 130.8 | | | more |
26.03 | 79 | | | Gent-Wevelgem/Grote Prijs A. Noyelle-Ieper (1.Ncup) | 129.2 | | | more |
19.03 | 15 | | | Guido Reybrouck Classic (1.1) | 128.7 | 6 | | more |