| 15-10 | 13 | | Chrono des Nations (1.1) | 45.0km |
| 03-10 | DNF | | Sparkassen Münsterland Giro (1.Pro) | |
| 01-10 | DNF | | Lotto Famenne Ardenne Classic (1.1) | 188.0km |
| 24-09 | 79 | | UEC Road European Championships (CC) | 199.0km |
| 20-09 | 21 | | UEC Road European Championships TT (CC) | 29.0km |
| 10-09 | 5 | | Grand Prix de la Somme Conseil Départemental 80 (1.2) | |
| | | PostNord Danmark Rundt - Tour of Denmark (2.Pro) |
| 72 | | Klassement |
| 19-08 | 20 | 72 | Stage 5Helsingør - Helsingør (16.0km) | 16.0km |
| 18-08 | 103 | 76 | Stage 4Kalundborg - Bagsværd (177.0km) | 177.0km |
| 17-08 | 90 | 73 | Stage 3Vejle - Vejle (209.0km) | 209.0km |
| 16-08 | 101 | 61 | Stage 2Kjellerup - Silkeborg (163.0km) | 163.0km |
| 15-08 | 39 | 40 | Stage 1Aalborg - Aalborg (169.0km) | 169.0km |
| | | Tour ALSACE (2.2) |
| 34 | | Klassement |
| 49 | | Punten |
| 17 | | Berg |
| 30-07 | 56 | 34 | Stage 4Ribeauville - Cernay (139.0km) | 139.0km |
| 29-07 | 47 | 42 | Stage 3Tagolsheim - Altkirch (197.0km) | 197.0km |
| 28-07 | 44 | 44 | Stage 2Vesoul - La Planche des Belles Filles (132.0km) | 132.0km |
| 27-07 | 73 | 53 | Stage 1Rust (Europapark) - Selestat (166.0km) | 166.0km |
| 26-07 | 21 | 51 | PrologueSausheim - Sausheim (4.0km) | 4.0km |
| 23-07 | 8 | | Grand Prix de la ville de Pérenchies (1.2) | |
| | | Tour of Austria (2.1) |
| 31 | | Klassement |
| 06-07 | 26 | 31 | Stage 5Ybbs - Sonntagberg (155.0km) | 155.0km |
| 05-07 | 45 | 37 | Stage 4St. Johann/Alpendorf - Steyr (197.0km) | 197.0km |
| 04-07 | 42 | 47 | Stage 3Sillian - St. Johann/Alpendorf (148.0km) | 148.0km |
| 03-07 | 39 | 38 | Stage 2Sankt Anton - Innsbruck (158.0km) | 158.0km |
| 02-07 | 47 | 47 | Stage 1Dornbirn - Dornbirn (149.0km) | 149.0km |
| 25-06 | 19 | | National Road Championships - Germany (CN) | 215.0km |
| 23-06 | 2 | | National Road Championships - Germany TT (CN) | |
| | | ZLM Tour (2.Pro) |
| 44 | | Klassement |
| 30 | | Punten |
| 11-06 | 58 | 44 | Stage 5Oosterhout - Oosterhout (158.0km) | 158.0km |
| 10-06 | 45 | 44 | Stage 4Roosendaal - Roosendaal (194.0km) | 194.0km |
| 09-06 | 78 | 60 | Stage 3Schijndel - Buchten (203.0km) | 203.0km |
| 08-06 | 76 | 63 | Stage 2Westkapelle - 's-Heerenhoek (203.0km) | 203.0km |
| 07-06 | 14 | 14 | Stage 1Heinkenszand - Heinkenszand (6.0km) | 6.0km |
| | | Tour of Norway (2.Pro) |
| 67 | | Klassement |
| 29-05 | 87 | 67 | Stage 3Stavanger - Stavanger (151.0km) | 151.0km |
| 28-05 | 60 | 41 | Stage 2Valle - Stavanger (172.0km) | 172.0km |
| 27-05 | 75 | 45 | Stage 1Jondal - Hovden (206.0km) | 206.0km |
| 26-05 | 39 | 39 | PrologueBergen - Fløyen (7.0km) | 7.0km |
| | | Flèche du Sud (2.2) |
| 18 | | Klassement |
| 13 | | Berg |
| 21-05 | 62 | 18 | Stage 4Esch-sur-Alzette - Esch-sur-Alzette (147.0km) | 147.0km |
| 20-05 | 30 | 18 | Stage 3Sanem - Sanem (148.0km) | 148.0km |
| 19-05 | 18 | 18 | Stage 2Bourscheid - Bourscheid (131.0km) | 131.0km |
| 18-05 | 85 | 69 | Stage 1Rumelange - Rumelange (156.0km) | 156.0km |
| 17-05 | 73 | 73 | PrologueEsch-sur-Alzette - Esch-sur-Alzette (3.0km) | 3.0km |
| 06-05 | 50 | | Ronde van Overijssel (1.2) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 33 | | Klassement |
| 8 | | Berg |
| 01-05 | 48 | 33 | Stage 7Piré-Chancé - Châteaugiron (163.0km) | 163.0km |
| 29-04 | 51 | 44 | Stage 5Sérent - Louisfert (173.0km) | 173.0km |
| 28-04 | 45 | 43 | Stage 4Le Mené - Plumelec (183.0km) | 183.0km |
| 27-04 | 31 | 38 | Stage 3Trégunc - Le Quillio (191.0km) | 191.0km |
| 26-04 | 82 | 58 | Stage 2Sibiril - Melgven (172.0km) | 172.0km |
| 25-04 | 39 | 43 | Stage 1Plouescat - Saint-Pol-de-Léon (155.0km) | 155.0km |
| 16-04 | 24 | | Tour du Doubs (1.1) | 200.0km |
| 15-04 | 9 | | Tour du Jura Cycliste (1.1) | 168.0km |
| 14-04 | 31 | | Classic Grand Besançon Doubs (1.1) | 180.0km |
| 01-04 | 31 | | Volta Limburg Classic (1.1) | 196.0km |
| 12-03 | 26 | | Dorpenomloop Rucphen (1.2) | |