28.09 | 88 | | | World Championships MJ - Road Race (WC) | 140 | | | more |
24.09 | 12 | | | World Championships MJ - ITT (WC) | 22.05 | 4 | | more |
20.09 › 22.0920-22/9 | | | | Giro di Basilicata (2.1) | | | | more |
21.09 | 14 | 46 | | S2Stage 2 - Tito Scalo › Tito | 80 | | | |
20.09 | 101 | 101 | | S1Stage 1 - Marina di Nova Siri › Matera | 109 | | | |
15.09 | 9 | | | Trofeo Buffoni (1.1) | 136 | 16 | | more |
05.09 › 08.095-8/9 | | | | Giro Internazionale della Lunigiana (2.1) | | | | more |
07.09 | DNS | | | S3Stage 3 - Fosdinovo › Fosdinovo | 116.9 | | | |
06.09 | 48 | 37 | | S2Stage 2 - Follo › Follo | 106.4 | | | |
05.09 | 40 | 40 | | S1Stage 1 - Castelnuovo Magra › Castelnuovo Magra | 96.45 | | | |
30.08 › 01.0930-1/8 | | | | Grand Prix Rüebliland (2.1) | | | | more |
| 18 | | | Mountains classificationMountains classification | | | | |
| 10 | | | Points classificationPoints classification | | | | |
| 12 | | | General classificationGeneral classification | | 10 | | |
01.09 | 5 | | | S4Stage 4 - Brugg › Brugg | 122 | 4 | | |
31.08 | 11 | 13 | | S3 (ITT)Stage 3 (ITT) - Hunzenschwil › Hunzenschwil | 9 | | | |
31.08 | 18 | 11 | | S2Stage 2 - Leutwil (Wampfle) › Leutwil (Wampfle) | 62.8 | | | |
30.08 | 11 | 11 | | S1Stage 1 - Bettwil › Bettwil | 115.7 | | | |
10.08 › 11.0810-11/8 | | | | Ronde des Vallées (2.1) | | | | more |
| 26 | | | General classificationGeneral classification | | | | |
11.08 | 40 | | | S3Stage 3 - Hémonstoir › Hémonstoir | 101.2 | | | |
11.08 | 4 | 8 | | S2 (ITT)Stage 2 (ITT) - Noyal-Pontivy › Hémonstoir | 13 | 5 | | |
10.08 | 26 | 26 | | S1Stage 1 - Noyal-pontivy › Hémonstoir | 114 | | | |
02.08 › 04.082-4/8 | | | | Aubel-Thimister-La Gleize (2.1) | | | | more |
| 5 | | | Youth classificationYouth classification | | | | |
| 6 | | | Mountains classificationMountains classification | | | | |
| 18 | | | General classificationGeneral classification | | 3 | | |
04.08 | 12 | | | S4Stage 4 - La Gleize › La Gleize | 104 | | | |
03.08 | 11 | 22 | | S3Stage 3 - Thimister › Thimister | 96 | | | |
03.08 | 1 | 26 | | S2 (TTT)Stage 2 (TTT) - Thimister › Thimister | 12 | 10 | | |
02.08 | 29 | 29 | | S1Stage 1 - Aubel › Aubel | 95 | | | |
26.07 › 28.0726-28/7 | | | | Internationale Niedersachsen-Rundfahrt der Junioren (2.1) | | | | more |
| 5 | | | Youth classificationYouth classification | | | | |
| 8 | | | Mountains classificationMountains classification | | | | |
| 13 | | | Points classificationPoints classification | | | | |
| 12 | | | General classificationGeneral classification | | 10 | | |
28.07 | 22 | | | S4Stage 4 - Wallenhorst › Wallenhorst | 114.3 | | | |
27.07 | 7 | 11 | | S3Stage 3 - Wallenhorst › Wallenhorst | 94.2 | 2 | | |
27.07 | 10 | 12 | | S2 (ITT)Stage 2 (ITT) - Wallenhorst › Wallenhorst | 8.8 | | | |
26.07 | 22 | 16 | | S1Stage 1 - Wallenhorst › Wallenhorst | 66.3 | | | |
20.07 | 6 | | | European Championships MJ - Road Race (CC) | 126 | 26 | | more |
11.07 › 14.0711-14/7 | | | | Ain'Ternational-Rhône Alpes-Valromey Tour (2.1) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 7 | | | Mountains classificationMountains classification | | | | |
| 3 | | | General classificationGeneral classification | | 50 | | |
14.07 | 6 | | | S4Stage 4 - Artemare › Hauteville-Lompnès | 106.5 | 3 | | |
13.07 | 7 | 3 | | S3Stage 3 - Rumilly › Songieu | 93.4 | 2 | | |
12.07 | 2 | 5 | | S2Stage 2 - Injoux-Génissiat › Echallon | 90.8 | 12 | | |
11.07 | 16 | 16 | | S1Stage 1 - Saint-Maurice-de-Gourdans › Cheignieu-la-Balme | 110.2 | | | |
06.07 › 07.076-7/7 | | | | GP Général Patton (2.Ncup) | | | | more |
| 8 | | | Mountains classificationMountains classification | | | | |
| 46 | | | General classificationGeneral classification | | 5 | | |
07.07 | 59 | | | S2Stage 2 - Wincrange › Wincrange | 97 | | | |
06.07 | 20 | 20 | | S1Stage 1 - Ettelbruck › Troisvierges | 102.1 | | | |
30.05 › 02.0630-2/5 | | | | Trofeo Karlsberg (2.Ncup) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 6 | | | Mountains classificationMountains classification | | | | |
| 11 | | | Points classificationPoints classification | | | | |
| 7 | | | General classificationGeneral classification | | 55 | | |
02.06 | 17 | | | S4Stage 4 - Walsheim › Walsheim | 99 | | | |
01.06 | 18 | 7 | | S3bStage 3b - Homburg › Homburg | 79 | | | |
01.06 | 7 | 7 | | S3a (ITT)Stage 3a (ITT) - Gersheim › Walsheim | 11.5 | 2 | | |
31.05 | 33 | 59 | | S2Stage 2 - Naßweiler › Ludweiler | 100 | | | |
30.05 | 80 | 80 | | S1Stage 1 - Erfweiler-Ehlingen › Erfweiler-Ehlingen | 100 | | | |
02.05 › 05.052-5/5 | | | | Course de la Paix Juniors (2.Ncup) | | | | more |
| 23 | | | General classificationGeneral classification | | 5 | | |
05.05 | 22 | | | S4Stage 4 - Terezín › Terezín | 99.8 | | | |
04.05 | 30 | 23 | | S3Stage 3 - Teplice › Zinnwald | 81.9 | | | |
03.05 | 81 | 42 | | S2bStage 2b - Roudnice nad Labem › Roudnice nad Labem | 63 | | | |
03.05 | 56 | 43 | | S2a (ITT)Stage 2a (ITT) - Třebenice › Třebenice | 11.6 | | | |
02.05 | 33 | 34 | | S1Stage 1 - Litoměřice › Litoměřice | 100.2 | | | |
19.04 › 21.0419-21/4 | | | | Tour of Istria - Memorial Edi Rajkovic (2.Ncup) | | | | more |
| 36 | | | General classificationGeneral classification | | 5 | | |
21.04 | 40 | | | S3Stage 3 - Vrsar › Pula | 105 | | | |
20.04 | 37 | 37 | | S2Stage 2 - Umag › Labin | 105 | | | |
19.04 | 26 | 31 | | S1Stage 1 - Rovinj › Buzet | 94 | | | |
07.04 | DNF | | | Paris - Roubaix Juniors (1.Ncup) | 128.3 | | | more |