13.10 | DNS | | | World Championships MU - Road Race (WC) | 166 | | | more |
09.10 | 96 | | | Paris-Tours Espoirs (1.2U) | 180 | | | more |
02.10 | 36 | | | Piccolo Giro di Lombardia (1.2U) | 163.1 | | | more |
25.09 | 4 | | | Duo Normand (1.1) | 54.3 | 32 | 30 | more |
20.08 » 27.08 | | | | Tour de l'Avenir (2.Ncup) | | | | more |
25.08 | DNF | | | Stage 6 - Saint-Gervais-Mont-Blanc › Tignes | 123.6 | | | more |
24.08 | 99 | 91 | | Stage 5 - Scionzier › Les-Carroz-d'Arâches | 97.8 | | | more |
23.08 | 23 | 26 | | Stage 4 (ITT) - Lugny › Lugny | 16.5 | | | more |
22.08 | 69 | 80 | | Stage 3 - Bourg-en-Bresse › Autun | 171.4 | | | more |
21.08 | 112 | 90 | | Stage 2 - Montrond-les-Bains › Trévoux | 156.6 | | | more |
20.08 | 78 | 78 | | Stage 1 - Le-Puy-en-Velay › Veauche | 137.7 | | | more |
27.07 » 31.07 | | | | Tour Alsace (2.2) | | | | more |
| 2 | | | Youth classification | | | | more |
| 5 | | | Mountains classification | | | | more |
| 7 | | | Points classification | | | | more |
| 2 | | | General classification | | 18 | 30 | more |
31.07 | 38 | | | Stage 4 - Colmar › Sélestat | 149.6 | | | more |
30.07 | 2 | 2 | | Stage 3 - Ribeauvillé › Lac Blanc | 157.8 | 2 | 3 | more |
29.07 | 70 | 26 | | Stage 2 - Altkirch › Huningue | 151.2 | | | more |
28.07 | 75 | 10 | | Stage 1 - Velleminfroy › Dannemarie | 171.8 | | | more |
27.07 | 9 | 9 | | Prologue - Sausheim › Sausheim | 7.1 | | | more |
13.07 » 17.07 | | | | Giro Ciclistico della Valle d'Aosta Mont Blanc (2.2U) | | | | more |
| 39 | | | General classification | | | | more |
17.07 | 45 | | | Stage 5 - Valtournenche › Breuil Cervinia | 107.3 | | | more |
16.07 | 41 | 35 | | Stage 4 - Pontey / Fénis › Clavalité | 166.9 | | | more |
15.07 | 29 | 23 | | Stage 3 - Quincinetto › Piani di Tavagnasco | 159.1 | | | more |
14.07 | 16 | 13 | | Stage 2 - Morillon › Saint-Gervais Mont-Blanc | 138.4 | | | more |
13.07 | 9 | 38 | | Stage 1 (TTT) - Pont-Saint-Martin › Montjovet | 19.94 | | | more |
26.06 | DNF | | | National Championships Great Britain - Road Race (NC) | 207 | | | more |
23.06 | 1 | | | National Championships Great Britain U23 - ITT (NC) | 34.8 | | | more |
03.06 » 05.06 | | | | Course de la Paix U23 / Závod Míru U23 (2.Ncup) | | | | more |
| 17 | | | General classification | | | | more |
05.06 | 30 | | | Stage 3 - Jesenik › Jesenik | 160 | | | more |
04.06 | 21 | 22 | | Stage 2 - Krnov › Dlouhe Strane | 151 | | | more |
03.06 | 77 | 78 | | Stage 1 - Jesenik › Rymarov | 133 | | | more |
19.05 » 22.05 | | | | Ronde de l'Isard (2.2U) | | | | more |
| 9 | | | Mountains classification | | | | more |
| 8 | | | Points classification | | | | more |
| 9 | | | General classification | | 2 | 1 | more |
22.05 | 1 | | | Stage 4 - Eaunes › Saint-Girons | 159 | 5 | 5 | more |
21.05 | 31 | 27 | | Stage 3 - Trie-sur-Baise › Boulogne-sur-Gesse | 160 | | | more |
20.05 | 42 | 31 | | Stage 2 - Roques-sur-Garonne › Ax-3 Domaines | 154.8 | | | more |
19.05 | 15 | 15 | | Stage 1 - Lorp-Sentaraille › Goulier-Neige | 138.2 | | | more |
29.04 » 01.05 | | | | Tour de Yorkshire (2.1) | | | | more |
29.04 | DNF | | | Stage 1 - Beverley › Settle | 184 | | | more |
19.04 » 24.04 | | | | Tour of Croatia (2.1) | | | | more |
| 2 | | | Youth classification | | | | more |
| 10 | | | Mountains classification | | | | more |
| 31 | | | Points classification | | | | more |
| 9 | | | General classification | | 16 | 25 | more |
24.04 | 17 | | | Stage 6 - Sveti Martin › Zagreb | 158.5 | | | more |
23.04 | 11 | 10 | | Stage 5 (TTT) - Porec › Umag | 40.3 | | | more |
22.04 | 9 | 9 | | Stage 4 - Crikvenica › Ucka | 122.1 | | | more |
21.04 | 64 | 63 | | Stage 3 - Makarska › Sibenik | 190.8 | | | more |
20.04 | 68 | 73 | | Stage 2 - NP Plitvice › Split | 240 | | | more |
19.04 | 75 | 76 | | Stage 1 - Osijek › Varazdin | 230.4 | | | more |
16.04 | 25 | | | Liège - Bastogne - Liège U23 (1.2U) | 178.6 | | | more |
01.04 » 03.04 | | | | Le Triptyque des Monts et Châteaux (2.2) | | | | more |
| 19 | | | Mountains classification | | | | more |
| 7 | | | Points classification | | | | more |
| 6 | | | General classification | | 6 | 10 | more |
03.04 | 34 | | | Stage 3b - Tournai › Chièvres | 91.6 | | | more |
03.04 | 2 | 5 | | Stage 3a (ITT) - Chièvres › Chièvres | 10.3 | 2 | 3 | more |
02.04 | 10 | 9 | | Stage 2 - Frasnes-lez-Anvaing › Kluisberg | 153.8 | | | more |
01.04 | 38 | 42 | | Stage 1 - Antoing › Hérinnes | 165 | | | more |
24.03 » 27.03 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
| 4 | | | Youth classification | | | | more |
| 23 | | | General classification | | | 3 | more |
27.03 | 13 | | | Stage 4 - Pavullo › Pavullo | 163.6 | | | more |
26.03 | 116 | 42 | | Stage 3 - Calderara di Reno › Calderara di Reno | 172 | | | more |
25.03 | 44 | 42 | | Stage 2 - Riccione › Sogliano al Rubicone | 146.6 | | | more |
24.03 | 19 | 52 | | Stage 1b (TTT) - Gatteo a mare › Gatteo | 13.3 | | | more |
24.03 | 57 | 57 | | Stage 1a - Gatteo › Gatteo | 95.9 | | | more |
18.03 | DNF | | | Handzame Classic (1.1) | 199 | | | more |
13.03 | 87 | | | Rabobank Dorpenomloop Rucphen (1.2) | 187.9 | | | more |
06.03 | 6 | | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | 185 | 1 | 10 | more |
30.01 | 79 | | | Trofeo Serra de Tramuntana (1.1) | 149.9 | | | more |
29.01 | 44 | | | Trofeo Pollenca - Port de Andratx (1.1) | 162.6 | | | more |