12.10 | 40 | | | Tacx Pro Classic / Ronde van Zeeland (1.1) Deceuninck - Quick Step | 204.6 | | | more |
05.10 | 20 | | | Tour de l'Eurométropole (1.HC) Deceuninck - Quick Step | 176.7 | 6 | 5 | more |
03.10 | 18 | | | Sparkassen Münsterland Giro (1.HC) Deceuninck - Quick Step | 193.3 | 8 | 5 | more |
21.09 | 59 | | | Primus Classic (1.HC) Deceuninck - Quick Step | 197 | | | more |
20.09 | 1 | | | Kampioenschap van Vlaanderen (1.1) Deceuninck - Quick Step | 186 | 75 | 125 | more |
07.09 | 20 | | | Brussels Cycling Classic (1.HC) Deceuninck - Quick Step | 190.5 | 6 | 5 | more |
15.08 › 18.0815-18/8 | | | | Czech Cycling Tour (2.1) Team Vorarlberg Santic | | | | more |
| 15 | | | Mountains classificationMountains classification | | | | |
| 5 | | | Points classificationPoints classification | | | | |
| 50 | | | General classificationGeneral classification | | | | |
18.08 | 73 | | | S4Stage 4 - Mohelnice › Šternberk | 178 | | | |
17.08 | 10 | 20 | | S3Stage 3 - Olomouc › Uničov | 175.3 | | | |
16.08 | 6 | 20 | | S2Stage 2 - Olomouc › Frýdek-Místek | 186.6 | 3 | | |
15.08 | 5 | 22 | | S1 (TTT)Stage 1 (TTT) - Ostrava › Ostrava | 16 | 2 | | |
31.07 › 04.0831-4/7 | | | | Tour Alsace (2.2) | | | | more |
| 89 | | | General classificationGeneral classification | | | | |
04.08 | 14 | | | S4Stage 4 - Ottmarsheim › Dannemarie | 143 | | | |
03.08 | 95 | 94 | | S3Stage 3 - Ribeauvillé › Station du Lac Blanc | 161.3 | | | |
02.08 | 101 | 100 | | S2Stage 2 - Vesoul › La Planche des Belles Filles | 141.1 | | | |
01.08 | 13 | 52 | | S1Stage 1 - Sélestat › Sélestat | 153.4 | | | |
31.07 | 19 | 53 | | ProloguePrologue - Sausheim › Sausheim | 4.3 | | | |
06.07 › 12.076-12/7 | | | | Int. Österreich-Rundfahrt-Tour of Austria (2.1) | | | | more |
| 2 | | | Points classificationPoints classification | | | | |
| 67 | | | General classificationGeneral classification | | | | |
12.07 | 68 | | | S6Stage 6 - Kitzbühel › Kitzbüheler Horn | 116.7 | | | |
11.07 | 1 | 70 | | S5Stage 5 - Bruck › Kitzbühel | 161.9 | 20 | 14 | |
10.07 | 101 | 82 | | S4Stage 4 - Radstadt › Fuscher Törl | 103.5 | | | |
09.07 | 95 | 74 | | S3Stage 3 - Kirchschlag › Frohnleiten | 176.2 | | | |
08.07 | 2 | 1 | | S2Stage 2 - Zwettl › Wiener Neustadt | 176.9 | 12 | 5 | |
07.07 | 5 | 3 | | S1Stage 1 - Grieskirchen › Freistadt | 138.8 | 4 | | |
06.07 | 1 | 1 | | ProloguePrologue - Wels › Wels | 2.6 | 20 | 14 | |
30.06 | DNF | | | National Championships Germany ME - Road Race (NC) | 178.1 | | | more |
13.06 › 16.0613-16/6 | | | | Oberösterreich Rundfahrt (2.2) | | | | more |
| 16 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 1 | | | General classificationGeneral classification | | 25 | 40 | |
16.06 | 10 | | | S3Stage 3 - Traun › Ternber | 147.2 | | | |
15.06 | 6 | 1 | | S2Stage 2 - Eferding › Oberneukirchen | 142.9 | | | |
14.06 | 1 | 1 | | S1Stage 1 - Wels › Reichersberg | 184.8 | 5 | 7 | |
13.06 | 3 | 3 | | ProloguePrologue - Linz › Linz | 0.7 | 1 | 1 | |
29.05 › 02.0629-2/5 | | | | Flèche du Sud (2.2) | | | | more |
| 4 | | | Points classificationPoints classification | | | | |
| 18 | | | General classificationGeneral classification | | | | |
02.06 | 1 | | | S4Stage 4 - Kayl › Esch-sur-Alzette | 138.2 | 5 | 7 | |
01.06 | 7 | 18 | | S3Stage 3 - Mondorf › Roeser | 155.6 | | | |
31.05 | 19 | 18 | | S2Stage 2 - Bourscheid › Bourscheid | 132.4 | | | |
30.05 | 10 | 5 | | S1Stage 1 - Rumelange › Rumelange | 157.1 | | | |
29.05 | 4 | 4 | | ProloguePrologue - Esch-sur-Alzette › Esch-sur-Alzette | 3.25 | | | |
24.05 › 26.0524-26/5 | | | | A Travers les Hauts de France (2.2) | | | | more |
| 13 | | | General classificationGeneral classification | | | | |
26.05 | 14 | | | S3Stage 3 - Petite-Forêt › Pecquencourt | 188.5 | | | |
25.05 | 5 | 11 | | S2Stage 2 - Seclin › Bonningues-lès-Calais | 197.8 | | | |
24.05 | 9 | 16 | | S1Stage 1 - Gavrelle › Épinoy | 125.7 | | | |
10.05 › 12.0510-12/5 | | | | CCC Tour - Grody Piastowskie (2.2) | | | | more |
| 14 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 3 | | | General classificationGeneral classification | | 14 | 25 | |
12.05 | 4 | | | S3Stage 3 - Nowa Ruda › Dzierżoniów | 145.3 | | | |
11.05 | 5 | 2 | | S2Stage 2 - Złotoryja › Jawor | 144.3 | | | |
10.05 | 3 | 2 | | S1bStage 1b - Głogów › Polkowice | 112.5 | 1 | 1 | |
10.05 | 1 | 1 | | S1a (ITT)Stage 1a (ITT) - Polkowice › Polkowice | 16.2 | 5 | 7 | |
01.05 | 5 | | | GP Vorarlberg (NAT) | 162 | | | more |
27.04 › 28.0427-28/4 | | | | Tour du Jura Cycliste (2.2) | | | | more |
28.04 | DNF | | | S2Stage 2 - Moissey › Dole | 163.5 | | | |
27.04 | 42 | 42 | | S1Stage 1 - Leschères › Lavans-lès-Saint-Claude | 148.5 | | | |
07.04 | 65 | | | La Roue Tourangelle Région Centre Val de Loire - Trophée Harmonie Mutuelle (1.1) | 186 | | | more |
05.04 | DNF | | | Route Adélie de Vitré (1.1) | 197.8 | | | more |
25.03 › 31.0325-31/3 | | | | Tour de Normandie (2.2) | | | | more |
| 52 | | | Youth classificationYouth classification | | | | |
| 20 | | | Points classificationPoints classification | | | | |
| 92 | | | General classificationGeneral classification | | | | |
31.03 | 9 | | | S7Stage 7 - Saint-Lô › Caen | 150 | | | |
30.03 | 91 | 100 | | S6Stage 6 - Gouville-sur-Mer › Martinvast | 159.5 | | | |
29.03 | 95 | 93 | | S5Stage 5 - Alençon › Bagnoles-de-l'Orne | 171 | | | |
28.03 | 23 | 93 | | S4Stage 4 - Tilly-sur-Seulles › Argentan | 173 | | | |
27.03 | 123 | 102 | | S3Stage 3 - Bourg-Achard › Elbeuf-sur-Seine | 147 | | | |
26.03 | 6 | 15 | | S2Stage 2 - Darnétal › Forges-les-Eaux | 169.5 | | | |
25.03 | 14 | 17 | | S1Stage 1 - Courseulles-sur-Mer › Le Neubourg | 159 | | | |
03.03 | 5 | | | International Rhodes Grand Prix (1.2) | 186.3 | 2 | 15 | more |