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