| | | Gree-Tour of Guangxi (2.UWT) |
| 9 | | Klassement |
| 38 | | Punten |
| 20-10 | 44 | 9 | Stage 6Nanning - Nanning (134.0km) | 134.0km |
| 19-10 | 8 | 8 | Stage 5Yizhou - Nongla (165.0km) | 165.0km |
| 18-10 | 80 | 64 | Stage 4Bama - Jinchengjiang (176.0km) | 176.0km |
| 17-10 | 77 | 62 | Stage 3Jingxi - Bama (214.0km) | 214.0km |
| 16-10 | 43 | 61 | Stage 2Chongzuo - Jingxi (181.0km) | 181.0km |
| 15-10 | 86 | 86 | Stage 1Fangchenggang - Fangchenggang (149.0km) | 149.0km |
| 07-10 | DNF | | Coppa Bernocchi (1.Pro) | 174.0km |
| 06-10 | 24 | | Coppa Agostoni (1.1) | 166.0km |
| 27-09 | 26 | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 15-09 | 58 | | Grand Prix Cycliste de Montréal (1.UWT) | 209.0km |
| 13-09 | 84 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| 08-09 | 122 | | GP de Fourmies / La Voix du Nord (1.Pro) | 197.0km |
| 25-08 | DNF | | Bretagne Classic - Ouest-France (1.UWT) | 259.0km |
| | | Tour Poitou - Charentes en Nouvelle Aquitaine (2.1) |
| 84 | | Klassement |
| 43 | | Jongeren |
| 23-08 | 66 | 84 | Stage 4Fontaine-le-Comte - Poitiers (173.0km) | 173.0km |
| 22-08 | 23 | 99 | Stage 3Ménigoute - Fontaine-le-Comte (29.0km) | 29.0km |
| 21-08 | 110 | 109 | Stage 2Gensac-la-Pallue - Niort (181.0km) | 181.0km |
| 20-08 | 110 | 110 | Stage 1Les Gonds - Cognac (178.0km) | 178.0km |
| | | Giro d'Italia (2.UWT) |
| 90 | | Klassement |
| 50 | | Punten |
| 31 | | Berg |
| 27 | | Jongeren |
| 26-05 | 134 | 90 | Stage 21Roma - Roma (122.0km) | 122.0km |
| 25-05 | 106 | 85 | Stage 20Alpago - Bassano del Grappa (181.0km) | 181.0km |
| 24-05 | 138 | 82 | Stage 19Mortegliano - Sappada (157.0km) | 157.0km |
| 23-05 | 101 | 80 | Stage 18Fiera di Primeiro - Padua (171.0km) | 171.0km |
| 22-05 | 96 | 81 | Stage 17Selva di Valgardena - Passo del Brocon (159.0km) | 159.0km |
| 21-05 | 9 | 80 | Stage 16Livigno - Santa Cristina Valgardena (202.0km) | 202.0km |
| 19-05 | 89 | 100 | Stage 15Manerba del Garda - Livigno (220.0km) | 220.0km |
| 18-05 | 29 | 99 | Stage 14Castiglione delle Stiviere - Desenzano del Garda (31.0km) | 31.0km |
| 17-05 | 154 | 102 | Stage 13Riccione - Cento (179.0km) | 179.0km |
| 16-05 | 124 | 96 | Stage 12Martinsciuro - Fano (190.0km) | 190.0km |
| 15-05 | 98 | 96 | Stage 11Foiano di Val Fortore - Francavilla al Mare (207.0km) | 207.0km |
| 14-05 | 133 | 97 | Stage 10Pompeii - Cusano Mutri (142.0km) | 142.0km |
| 12-05 | 95 | 85 | Stage 9Avvezano - Napoli (214.0km) | 214.0km |
| 11-05 | 88 | 90 | Stage 8Spoleto - Prati di Tivo (153.0km) | 153.0km |
| 10-05 | 132 | 86 | Stage 7Foligno - Perugia (38.0km) | 38.0km |
| 09-05 | 106 | 80 | Stage 6Viareggio - Rapolano Terme (180.0km) | 180.0km |
| 08-05 | 101 | 75 | Stage 5Genua - Lucca (178.0km) | 178.0km |
| 07-05 | 49 | 81 | Stage 4Acqui Terme - Andora (190.0km) | 190.0km |
| 06-05 | 94 | 86 | Stage 3Novara - Fossano (166.0km) | 166.0km |
| 05-05 | 102 | 86 | Stage 2San Francesco al Campo - Santuario di Oropa (161.0km) | 161.0km |
| 04-05 | 70 | 70 | Stage 1Venaria Reale - Torino (143.0km) | 143.0km |
| 17-04 | DNF | | La Flèche Wallonne (1.UWT) | 199.0km |
| 13-04 | 50 | | Tour du Jura Cycliste (1.1) | |
| 12-04 | 7 | | Classic Grand Besançon Doubs (1.1) | 171.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 2 | | Klassement |
| 6 | | Punten |
| 05-04 | 8 | 2 | Stage 4Marolles-les-Braults - Le Mans (174.0km) | 174.0km |
| 04-04 | 42 | 1 | Stage 3Segré-en-Anjou Bleu - Château-Gontier (159.0km) | 159.0km |
| 03-04 | 1 | 1 | Stage 2Chateaubriant - Saumur (162.0km) | 162.0km |
| 02-04 | 37 | 40 | Stage 1Fontenay-le-Comte - Saint-Jean-de-Monts (210.0km) | 210.0km |
| 29-03 | 11 | | La Route Adélie de Vitré (1.1) | |
| 27-03 | 7 | | Paris - Camembert (1.1) | 205.0km |
| | | Paris-Nice (2.UWT) |
| 17 | | Klassement |
| 10-03 | 33 | 17 | Stage 8Nice - Nice (109.0km) | 109.0km |
| 09-03 | 15 | 18 | Stage 7Nice - La Madone d'Utelle (104.0km) | 104.0km |
| 08-03 | 21 | 22 | Stage 6Sisteron - La Colle-sur-Loup (198.0km) | 198.0km |
| 07-03 | 56 | 22 | Stage 5Saint-Sauveur-de-Montagut - Sisteron (193.0km) | 193.0km |
| 06-03 | 20 | 22 | Stage 4Châlon-sur-Saône - Mont Brouilly (183.0km) | 183.0km |
| 05-03 | 15 | 39 | Stage 3Auxerre - Auxerre (26.0km) | 26.0km |
| 04-03 | 90 | 48 | Stage 2Thoiry - Montargis (177.0km) | 177.0km |
| 03-03 | 43 | 43 | Stage 1Les Mureaux - Les Mureaux (157.0km) | 157.0km |
| 28-02 | DNF | | Trofeo Laigueglia (1.Pro) | 202.0km |
| 24-02 | 49 | | Faun-Ardèche Classic (1.Pro) | 169.0km |
| | | Tour des Alpes-Maritimes (2.1) |
| 15 | | Klassement |
| 8 | | Punten |
| 7 | | Berg |
| 18-02 | 22 | 15 | Stage 2Villefranche-sur-Mer - Vence (131.0km) | 131.0km |
| 17-02 | 33 | 34 | Stage 1Levens - Antibes (165.0km) | 165.0km |
| 16-02 | 13 | | Classic Var (1.1) | 184.0km |
| | | Tour de la Provence (2.1) |
| 12 | | Klassement |
| 12 | | Punten |
| 3 | | Berg |
| 11-02 | 29 | 12 | Stage 3Rognac - Arles (183.0km) | 183.0km |
| 10-02 | 9 | 3 | Stage 2Forcalquier - Manosque (165.0km) | 165.0km |
| 09-02 | 34 | 11 | Stage 1Aix-en-Provence - Manosque (157.0km) | 157.0km |
| 08-02 | 9 | 9 | PrologueMarseille - Marseille (5.0km) | 5.0km |
| 27-01 | 66 | | Trofeo Pollença - Port d'Andratx (1.1) | |
| 26-01 | 109 | | Trofeo Serra Tramuntana (1.1) | |
| 24-01 | 65 | | Trofeo Calvià (1.1) | 150.0km |