15.10 | 13 | | | Chrono des Nations (1.1) | 45.43 | 8 | 5 | more |
03.10 | DNF | | | Sparkassen Münsterland Giro (1.Pro) Germany | 194.2 | | | more |
01.10 | DNF | | | Lotto Famenne Ardenne Classic (1.1) | 188.1 | | | more |
24.09 | 79 | | | European Continental Championships ME - Road Race (CC) | 199.8 | | | more |
21.09 | 3 | | | European Continental Championships - Mixed Relay TTT (CC) | 38.4 | 5 | 13.33 | more |
20.09 | 21 | | | European Continental Championships ME - ITT (CC) | 28.7 | | | more |
10.09 | 5 | | | Grand Prix de la Somme Conseil Départemental 80 (1.2) | 180.5 | 2 | 15 | more |
15.08 › 19.0815-19/8 | | | | PostNord Danmark Rundt - Tour of Denmark (2.Pro) | | | | more |
| 72 | | | General classificationGeneral classification | | | | |
19.08 | 20 | | | S5 (ITT)Stage 5 (ITT) - Helsingør › Helsingør | 16.1 | | | |
18.08 | 103 | 76 | | S4Stage 4 - Kalundborg › Bagsværd | 178.4 | | | |
17.08 | 90 | 73 | | S3Stage 3 - Vejen › Vejle | 209 | | | |
16.08 | 101 | 61 | | S2Stage 2 - Kjellerup › Silkeborg | 163.6 | | | |
15.08 | 39 | 40 | | S1Stage 1 - Aalborg › Aalborg | 169.9 | | | |
08.08 | 3 | | | World Championships - Mixed Relay TTT (WC) Germany | 40.3 | 10 | 66.67 | more |
26.07 › 30.0726-30/7 | | | | Tour Alsace (2.2) | | | | more |
| 17 | | | Mountains classificationMountains classification | | | | |
| 49 | | | Points classificationPoints classification | | | | |
| 34 | | | General classificationGeneral classification | | | | |
30.07 | 56 | | | S5Stage 5 - Ribeauville › Cernay | 137.7 | | | |
29.07 | 47 | 42 | | S4Stage 4 - Tagolsheim › Altkirch | 197 | | | |
28.07 | 44 | 44 | | S3Stage 3 - Vesoul › La Planche des Belles-Filles | 132.6 | | | |
27.07 | 73 | 53 | | S2Stage 2 - Rust (Europa-Park) › Sélestat | 166.1 | | | |
26.07 | 19 | 51 | | S1 (TTT)Stage 1 (TTT) - Sausheim › Sausheim | 4.3 | | | |
23.07 | 8 | | | Grand Prix de la ville de Pérenchies (1.2) | 178.4 | | 3 | more |
02.07 › 06.072-6/7 | | | | Int. Österreich-Rundfahrt - Tour of Austria (2.1) | | | | more |
| 31 | | | General classificationGeneral classification | | | | |
06.07 | 26 | | | S5Stage 5 - Ybbs an der Donau › Sonntagberg 52k | 155.8 | | | |
05.07 | 45 | 37 | | S4Stage 4 - St. Johann Alpendorf › Steyr | 197 | | | |
04.07 | 42 | 47 | | S3Stage 3 - Sillian › St. Johann Alpendorf | 148.5 | | | |
03.07 | 39 | 38 | | S2Stage 2 - St. Anton am Arlberg › Innsbruck | 158.8 | | | |
02.07 | 47 | 47 | | S1Stage 1 - Dornbirn › Dornbirn | 147.6 | | | |
25.06 | 19 | | | National Championships Germany ME - Road Race (NC) | 215 | | | more |
23.06 | 2 | | | National Championships Germany ME - ITT (NC) | 32.2 | 7 | 30 | more |
07.06 › 11.067-11/6 | | | | ZLM Tour (2.Pro) | | | | more |
| 29 | | | Points classificationPoints classification | | | | |
| 44 | | | General classificationGeneral classification | | | | |
11.06 | 58 | | | S4Stage 4 - Oosterhout › Oosterhout | 158.5 | | | |
10.06 | 45 | 44 | | S3Stage 3 - Roosendaal › Roosendaal 74k | 194.2 | | | |
09.06 | 78 | 60 | | S2Stage 2 - Schijndel › Buchten 137k | 184.1 | | | |
08.06 | 76 | 63 | | S1Stage 1 - Westkapelle › 's-Heerenhoek | 202.5 | | | |
07.06 | 14 | 14 | | ProloguePrologue - Heinkenszand › Heinkenszand | 6.6 | | | |
26.05 › 29.0526-29/5 | | | | Tour of Norway (2.Pro) | | | | more |
| 67 | | | General classificationGeneral classification | | | | |
29.05 | 87 | | | S3Stage 3 - Stavanger › Stavanger | 151.2 | | | |
28.05 | 60 | 41 | | S2Stage 2 - Valle › Stavanger | 165.7 | | | |
27.05 | 75 | 45 | | S1Stage 1 - Røldal › Hovden | 85.2 | | | |
26.05 | 39 | 39 | | ProloguePrologue - Bergen › Mount Fløyen | 7.4 | | | |
17.05 › 21.0517-21/5 | | | | Flèche du Sud (2.2) | | | | more |
| 13 | | | Mountains classificationMountains classification | | | | |
| 18 | | | General classificationGeneral classification | | | | |
21.05 | 62 | | | S4Stage 4 - Esch-sur-Alzette › Esch-sur-Alzette | 147.2 | | | |
20.05 | 30 | 18 | | S3Stage 3 - Sanem › Sanem | 148 | | | |
19.05 | 18 | 18 | | S2Stage 2 - Bourscheid › Bourscheid | 131.9 | | | |
18.05 | 85 | 69 | | S1Stage 1 - Rumelange › Rumelange | 156.8 | | | |
17.05 | 73 | 73 | | ProloguePrologue - Esch-sur-Alzette › Esch-sur-Alzette | 3.2 | | | |
06.05 | 50 | | | Ronde van Overijssel (1.2) | 200 | | | more |
25.04 › 01.0525-1/4 | | | | Le Tour de Bretagne Cycliste (2.2) | | | | more |
| 8 | | | Mountains classificationMountains classification | | | | |
| 33 | | | General classificationGeneral classification | | | | |
01.05 | 48 | | | S7Stage 7 - Piré-Chancé › Châteaugiron | 163.5 | | | |
30.04 | NR | 42 | | S6Stage 6 - Châteaubriant › Plancoët | 209.4 119 | | | |
29.04 | 51 | 44 | | S5Stage 5 - Sérent › Louisfert | 173.9 | | | |
28.04 | 45 | 43 | | S4Stage 4 - Le Mené › Plumelec | 183.1 | | | |
27.04 | 31 | 38 | | S3Stage 3 - Trégunc › Le Quillio | 191.5 | | | |
26.04 | 82 | 58 | | S2Stage 2 - Sibiril › Melgven | 172.2 | | | |
25.04 | 39 | 43 | | S1Stage 1 - Plouescat › Saint-Pol-de-Léon | 155.5 | | | |
16.04 | 24 | | | Tour du Doubs (1.1) | 200.9 | | 3 | more |
15.04 | 9 | | | Tour du Jura Cycliste (1.1) | 165.85 | 16 | 25 | more |
14.04 | 31 | | | Classic Grand Besançon Doubs (1.1) | 169.6 | | | more |
01.04 | 31 | | | Volta Limburg Classic (1.1) | 193.4 | | | more |
26.03 | 1 | | | Rund um Merken (NAT) | 84 | | | more |
25.03 | 1 | | | 3 Nationen Preis Rund um den Lousberg (NAT) | 77 | | | more |
12.03 | 26 | | | Dorpenomloop Rucphen (1.2) | 178 | | | more |