| 06-10 | 64 | | Gran Piemonte (1.Pro) | 198.0km |
| 03-10 | 30 | | Coppa Bernocchi (1.Pro) | 190.0km |
| 01-10 | 111 | | Giro dell'Emilia (1.Pro) | 198.0km |
| 23-09 | 70 | | UCI World Championship Wollongong U23 (CM) | 169.0km |
| 19-09 | 3 | | UCI World Championship Wollongong TT U23 (CM) | 28.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 28-08 | DNF | | Stage 9Bessans - Villaroger (134.0km) | 134.0km |
| 27-08 | 49 | 38 | Stage 8Ugine - La Toussuire (99.0km) | 99.0km |
| 26-08 | 74 | 38 | Stage 7Thonon-les-Bains - Saint-François-Longchamp (175.0km) | 175.0km |
| 24-08 | 17 | 7 | Stage 6Saint-Amour - Oyonnax (124.0km) | 124.0km |
| 23-08 | | 13 | Stage 5Gueugnon - Saint-Vallier (27.0km) | 27.0km |
| 22-08 | 119 | 35 | Stage 4Sainte-Sévère-sur-Indre - Chaillac (142.0km) | 142.0km |
| 21-08 | 68 | 81 | Stage 3Civray - La Trimouille (153.0km) | 153.0km |
| 20-08 | 125 | 97 | Stage 2Benet - Civray (142.0km) | 142.0km |
| 19-08 | 73 | 73 | Stage 1La Roche-sur-Yon - La Roche-sur-Yon (121.0km) | 121.0km |
| | | Tour d'Alsace (2.2) |
| 23 | | Klassement |
| 45 | | Punten |
| 31-07 | 97 | 23 | Stage 5Mulhouse - Berrwiller (158.0km) | 158.0km |
| 30-07 | 78 | 18 | Stage 4Kembs - Altkirch (169.0km) | 169.0km |
| 29-07 | 9 | 10 | Stage 3Vesoul - La Planche des Belles Filles (144.0km) | 144.0km |
| 28-07 | 37 | 25 | Stage 2Rust (Europapark) - Scherwiller (156.0km) | 156.0km |
| 27-07 | 64 | 64 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 26-06 | 65 | | National Road Championships - Great Britain (CN) | |
| 23-06 | 1 | | National Road Championships - Great Britain TT U23 (CN) | |
| | | Baby Giro (2.2U) |
| 1 | | Klassement |
| 2 | | Punten |
| 2 | | Berg |
| 18-06 | 60 | 1 | Stage 7Cuneo - Pinerolo (142.0km) | 142.0km |
| 17-06 | 4 | 1 | Stage 6Boves - Colle Fauniera (110.0km) | 110.0km |
| 16-06 | 39 | 1 | Stage 5Busca - Peveragno (146.0km) | 146.0km |
| 14-06 | 37 | 1 | Stage 4Chiuro - Chiavenna (101.0km) | 101.0km |
| 13-06 | 1 | 1 | Stage 3Pinzolo - Santa Caterina Valfurva (177.0km) | 177.0km |
| 12-06 | 1 | 1 | Stage 2Rossano Veneto - Pinzolo (168.0km) | 168.0km |
| 11-06 | 112 | 111 | Stage 1Gradara - Argenta (163.0km) | 163.0km |
| 08-06 | 25 | | Coppa Zappi - Trofeo Hotel Antico Borgo (1.2) | 156.0km |
| 05-06 | DNF | | Trofeo Città di Meldola – G.P. AWC Event (1.2) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 83 | | Klassement |
| 29 | | Berg |
| 01-05 | 92 | 83 | Stage 7Ploumilliau - Lannion (158.0km) | 158.0km |
| 30-04 | 117 | 85 | Stage 6Plumergat - Camors (162.0km) | 162.0km |
| 29-04 | 90 | 81 | Stage 5Ploërmel - Scaer (193.0km) | 193.0km |
| 28-04 | 82 | 84 | Stage 4Saint-Jacut-de-la-Mer - Guillac (167.0km) | 167.0km |
| 27-04 | 79 | 77 | Stage 3Lohéac - Le Hinglé (171.0km) | 171.0km |
| 26-04 | 93 | 103 | Stage 2Missilac - La Chapelle Bouexic (152.0km) | 152.0km |
| 25-04 | 119 | 118 | Stage 1Guenrouet - Sainte-Reine-de-Bretagne (162.0km) | 162.0km |
| 16-04 | DNF | | Liège-Bastogne-Liège U23 (1.2U) | 174.0km |
| | | Tour du Rwanda (2.1) |
| 10 | | Klassement |
| 13 | | Punten |
| 27 | | Berg |
| 27-02 | 15 | 10 | Stage 7Kigali - Kigali (75.0km) | 75.0km |
| 26-02 | 12 | 9 | Stage 6Kigali - Kigali (152.0km) | 152.0km |
| 25-02 | 21 | 7 | Stage 5Musanze - Kigali (152.0km) | 152.0km |
| 24-02 | 7 | 6 | Stage 4Muhanga - Musanze (124.0km) | 124.0km |
| 23-02 | 9 | 8 | Stage 3Kigali - Gicumbi (124.0km) | 124.0km |
| 22-02 | 37 | 11 | Stage 2Kigali - Rubavu (155.0km) | 155.0km |
| 21-02 | 44 | 6 | Stage 1Kigali - Rwamagana (148.0km) | 148.0km |
| 20-02 | 6 | 6 | PrologueKigali - Kigali (4.0km) | 4.0km |