17.10 | DNF | | | National Championships Great Britain ME - Road Race (NC) | 166 | | | more |
10.10 | 50 | | | Paris - Tours Elite (1.Pro) | 212.3 | | | more |
03.10 | DNF | | | Paris-Roubaix (1.UWT) | 257.7 | | | more |
26.09 | DNF | | | World Championships ME - Road Race (WC) | 268.3 | | | more |
19.09 | 76 | | | Grand Prix d'Isbergues - Pas de Calais (1.1) | 199.3 | | | more |
12.09 | 35 | | | GP de Fourmies / La Voix du Nord (1.Pro) | 197.6 | | 3 | more |
30.08 › 05.0930-5/8 | | | | Benelux Tour (2.UWT) | | | | more |
| 43 | | | General classificationGeneral classification | | 5 | 8 | |
05.09 | 41 | | | S7Stage 7 - Namur › Geraardsbergen | 177.9 | | | |
04.09 | 54 | 48 | | S6Stage 6 - Ottignies-Louvain-la-Neuve › Houffalize | 207.6 | | | |
03.09 | 13 | 28 | | S5Stage 5 - Riemst › Bilzen | 192 | | | |
02.09 | 16 | 44 | | S4Stage 4 - Aalter › Ardooie | 166.1 | | | |
01.09 | 29 | 44 | | S3Stage 3 - Essen › Hoogerheide | 168.3 | | | |
31.08 | 49 | 54 | | S2 (ITT)Stage 2 (ITT) - Lelystad › Lelystad | 11.1 | | | |
30.08 | 79 | 79 | | S1Stage 1 - Surhuisterveen › Dokkum | 169.6 | | | |
09.08 › 15.089-15/8 | | | | Tour de Pologne (2.UWT) | | | | more |
| 20 | | | Points classificationPoints classification | | | | |
| 52 | | | General classificationGeneral classification | | 5 | 4 | |
15.08 | 13 | | | S7Stage 7 - Zabrze › Kraków | 144.9 | | | |
14.08 | 121 | 53 | | S6 (ITT)Stage 6 (ITT) - Katowice › Katowice | 19.1 | | | |
13.08 | 8 | 50 | | S5Stage 5 - Chochołów › Bielsko-Biała | 172.8 | 3 | | |
12.08 | 25 | 52 | | S4Stage 4 - Tarnów › Bukovina Resort | 159.9 | | | |
11.08 | 14 | 70 | | S3Stage 3 - Sanok › Rzeszów | 226.4 | | | |
10.08 | 88 | 73 | | S2Stage 2 - Zamość › Przemyśl | 200.8 | | | |
09.08 | 19 | 21 | | S1Stage 1 - Lublin › Chełm | 216.4 | | | |
20.07 › 24.0720-24/7 | | | | Tour de Wallonie (2.Pro) | | | | more |
| 13 | | | Youth classificationYouth classification | | | | |
| 28 | | | Mountains classificationMountains classification | | | | |
| 22 | | | Points classificationPoints classification | | | | |
| 33 | | | General classificationGeneral classification | | | 3 | |
24.07 | 6 | | | S5Stage 5 - Dinant › Quaregnon | 192.4 | 3 | | |
23.07 | 18 | 35 | | S4Stage 4 - Neufchâteau › Fleurus | 206 | | | |
22.07 | 46 | 41 | | S3Stage 3 - Plombières › Érezée | 177 | | | |
21.07 | 21 | 24 | | S2Stage 2 - Zolder › Zolder | 120 | | | |
20.07 | 14 | 20 | | S1Stage 1 - Genappe › Héron | 185.7 | | | |
06.06 › 13.066-13/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 27 | | | Youth classificationYouth classification | | | | |
| 37 | | | Points classificationPoints classification | | | | |
| 97 | | | General classificationGeneral classification | | 5 | | |
13.06 | 112 | | | S8Stage 8 - Andermatt › Andermatt | 159.5 | | | |
12.06 | 109 | 97 | | S7 (ITT)Stage 7 (ITT) - Disentis Sedrun › Andermatt | 23.2 | | | |
11.06 | 107 | 99 | | S6Stage 6 - Fiesch › Disentis Sedrun | 130.1 | | | |
10.06 | 91 | 89 | | S5Stage 5 - Gstaad › Leukerbad | 175.2 | | | |
09.06 | 14 | 80 | | S4Stage 4 - Sankt Urban › Gstaad | 171 | | | |
08.06 | 53 | 88 | | S3Stage 3 - Lachen › Pfaffnau | 182.1 | | | |
07.06 | 94 | 96 | | S2Stage 2 - Neuhausen am Rheinfall › Lachen | 178 | | | |
06.06 | 76 | 76 | | S1 (ITT)Stage 1 (ITT) - Frauenfeld › Frauenfeld | 10.9 | | | |
22.05 | 72 | | | Tour du Finistère (1.1) | 196.3 | | | more |
27.04 › 02.0527-2/4 | | | | Tour de Romandie (2.UWT) | | | | more |
| 15 | | | Youth classificationYouth classification | | | | |
| 83 | | | General classificationGeneral classification | | 5 | | |
02.05 | 36 | | | S5 (ITT)Stage 5 (ITT) - Fribourg › Fribourg | 16.19 | | | |
01.05 | 87 | 85 | | S4Stage 4 - Sion › Thyon 2000 | 161.3 | | | |
30.04 | 25 | 85 | | S3Stage 3 - Estavayer › Estavayer | 168.7 | | | |
29.04 | 120 | 103 | | S2Stage 2 - La Neuveville › Saint-Imier | 165.7 | | | |
28.04 | 46 | 62 | | S1Stage 1 - Aigle › Martigny | 168.1 | | | |
27.04 | 89 | 89 | | ProloguePrologue - Oron › Oron | 4.05 | | | |
28.03 | 29 | | | Cholet - Pays de la Loire (1.1) | 201.8 | | | more |
26.03 | 38 | | | E3 Saxo Bank Classic (1.UWT) | 203.9 | 5 | 8 | more |
24.03 | 145 | | | Oxyclean Classic Brugge-De Panne ME (1.UWT) | 203.9 | 5 | | more |
19.03 | 12 | | | Bredene Koksijde Classic (1.Pro) 50k | 199.9 | 18 | 25 | more |
17.03 | 6 | | | Danilith Nokere Koerse ME (1.Pro) | 195 | 40 | 70 | more |
27.02 | 2 | | | Omloop Het Nieuwsblad ME (1.UWT) | 200.5 | 150 | 250 | more |
03.02 › 07.023-7/2 | | | | Etoile de Bessèges - Tour du Gard (2.1) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 13 | | | Points classificationPoints classification | | | | |
| 4 | | | General classificationGeneral classification | | 36 | 60 | |
07.02 | 10 | | | S5 (ITT)Stage 5 (ITT) - Alès › Alès | 10.74 | | | |
06.02 | 20 | 7 | | S4Stage 4 - Rousson › Saint-Siffret | 152 | | | |
05.02 | 7 | 6 | | S3Stage 3 - Bessèges › Bessèges | 156.9 | 2 | | |
04.02 | 24 | 13 | | S2Stage 2 - Saint-Geniès › La Calmette | 153.8 | | | |
03.02 | 9 | 9 | | S1Stage 1 - Bellegarde › Bellegarde | 143.6 | | | |
31.01 | 102 | | | Grand Prix Cycliste la Marseillaise (1.1) | 171.6 | | | more |