| 08-10 | DNF | | Sun Hung Kai Properties Hong Kong Challenge (1.1) | |
| 22-09 | 95 | | UCI World Championship Bergen U23 (CM) | 191.0km |
| 18-09 | 10 | | UCI World Championship Bergen TT U23 (CM) | 37.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 44 | | Standings |
| 27-08 | 80 | 44 | Stage 9Bourg-Saint-Maurice - Albiez-Montrond | 106.0km |
| 26-08 | 38 | 26 | Stage 8Albertville - Sainte-Foy-Tarentaise | 120.0km |
| 25-08 | 13 | 13 | Stage 7Saint-Gervais Mont-Blanc - Le Saisies | 118.0km |
| 23-08 | 89 | 83 | Stage 6Montrichard - Saint-Amand-Montrond | 139.0km |
| 22-08 | 88 | 84 | Stage 5Montreuil - Amboise | 157.0km |
| 21-08 | 61 | 82 | Stage 4Derval - Saumur | 166.0km |
| 20-08 | 105 | 102 | Stage 3Missillac - Chateaubriant | 125.0km |
| 19-08 | 98 | 106 | Stage 2Inzinzac-Lochrist - Bignan | 132.0km |
| 18-08 | 98 | 98 | Stage 1Loudéac - Loudéac | 134.0km |
| | | Tour Alsace (2.2) |
| 5 | | Standings |
| 30-07 | 39 | 5 | Stage 5Neuf-Brisach - Dannemarie | 155.0km |
| 29-07 | 5 | 5 | Stage 4Ribeauville - Lac Blanc | 165.0km |
| 28-07 | 45 | 7 | Stage 3Belfort - Blotzheim | 144.0km |
| 27-07 | 8 | 8 | Stage 2Velleminfroy - La Planche des Belles Filles | 136.0km |
| 26-07 | 31 | 31 | Stage 1Sausheim - Sausheim | 4.0km |
| | | Giro Ciclistico della Valle d'Aosta Mont Blanc
(2.2U) |
| 15 | | Standings |
| 10 | | Points |
| 13 | | Mountain |
| 16-07 | 3 | 15 | Stage 5Aosta - Valgrisenche | 103.0km |
| 15-07 | 30 | 19 | Stage 4Valtournenche - Breuil-Cervinia | 170.0km |
| 14-07 | 12 | 12 | Stage 3Villeneuve - Les Combes | 138.0km |
| 13-07 | 14 | 13 | Stage 2Quassolo - Scalaro | 172.0km |
| 12-07 | 9 | | Stage 1Saint-Gervais Mont-Blanc - Saint Nicolas de Veroce | 8.0km |
| 25-06 | OTL | | National Road Championships - Great Britain (CN) | 193.0km |
| 22-06 | 1 | | National Road Championships - Great Britain TT U23 (CN) | 22.0km |
| | | Baby Giro (2.2) |
| 4 | | Standings |
| 6 | | Mountain |
| 15-06 | 5 | 4 | Stage 7Francavilla al Mare - Campo Imperatore | 148.0km |
| 14-06 | 14 | 4 | Stage 6Francavilla al Mare - Casalincontrada | 133.0km |
| 13-06 | 17 | 5 | Stage 5aSenigallia - Osimo | 87.0km |
| 13-06 | 2 | 3 | Stage 5bCampocavallo - Campocavallo | 14.0km |
| 12-06 | 81 | 5 | Stage 4Forlì - Gabicce Mare | 155.0km |
| 11-06 | 5 | 5 | Stage 3Bagnara di Romagna - Forlì | 140.0km |
| 10-06 | 17 | 17 | Stage 2Castellarano - Castellarano | 145.0km |
| 09-06 | 51 | 51 | Stage 1Imola (Autodromo Enzo e Dino Ferrari) - Imola (Autodromo Enzo e Dino Ferrari) | 132.0km |
| | | Circuit des Ardennes International (2.2) |
| 09-04 | 38 | 48 | Stage 3Nouvion-sur-Meuse - Floing | 76.0km |
| 09-04 | 52 | 45 | Stage 4Charleville-Mézières - Charleville-Mézières | 103.0km |
| 08-04 | 85 | 83 | Stage 2Rochehaut - Rochehaut | 181.0km |
| 07-04 | 41 | 45 | Stage 1Acy-Romance - Acy-Romance | 184.0km |
| | | Le Triptyque des Monts et Châteaux
(2.2) |
| 02-04 | 13 | 14 | Stage 3aChièvres - Chièvres | 10.0km |
| 02-04 | 48 | 14 | Stage 3bAth - Chièvres | 97.0km |
| 01-04 | 63 | 55 | Stage 2Frasnes-lez-Buissenal - Péronnes-lez-Antoing | 148.0km |
| 31-03 | 67 | 67 | Stage 1Flobecq - Warcoing | 166.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 87 | | Standings |
| 26-03 | 88 | 87 | Stage 4Fiorano Modenese - Sassuolo | 160.0km |
| 25-03 | 90 | 89 | Stage 3Crevalcore - Crevalcore | 171.0km |
| 24-03 | 83 | 83 | Stage 2Riccione - Sogliano al Rubicone | 130.0km |
| 23-03 | 74 | 74 | Stage 1aGatteo - Gatteo | 98.0km |
| 23-03 | 11 | 29 | Stage 1bGatteo - Gatteo | 13.0km |
| | | International Tour of Rhodes (2.2) |
| 10-03 | DNF | | Stage 1Rhodes - Rhodes | 156.0km |
| 05-03 | 25 | | International Rhodes Grand Prix (1.2) | |