| | | Gree-Tour of Guangxi (2.UWT) |
| 72 | | Klassement |
| 17-10 | 85 | 72 | Stage 6Guilin - Guilin (168.0km) | 168.0km |
| 16-10 | 90 | 73 | Stage 5Liuzhou - Guilin (209.0km) | 209.0km |
| 15-10 | 60 | 76 | Stage 4Nanning - Mashan Nongla (161.0km) | 161.0km |
| 14-10 | 92 | 89 | Stage 3Nanning - Nanning (134.0km) | 134.0km |
| 13-10 | 99 | 101 | Stage 2Beihai - Qinzhou (149.0km) | 149.0km |
| 12-10 | 103 | 103 | Stage 1Beihai - Beihai (135.0km) | 135.0km |
| 16-09 | DNF | | Memorial Marco Pantani (1.1) | 193.0km |
| 14-09 | DNF | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | |
| 13-09 | DNF | | Giro della Toscana (1.1) | |
| | | Tour de l'Avenir (2.NCUP) |
| 68 | | Klassement |
| 20 | | Berg |
| 27-08 | 22 | 68 | Stage 8Val Cenis - Sainte-Foy-Tarentaise (100.0km) | 100.0km |
| 26-08 | 55 | 86 | Stage 7bLes Karellis - Col du Mont Cenis (70.0km) | 70.0km |
| 26-08 | 24 | 99 | Stage 7aMontricher-Albanne - Les Karellis (11.0km) | 11.0km |
| 25-08 | 90 | 109 | Stage 6Méribel - Col de la Loze (Méribel) (65.0km) | 65.0km |
| 24-08 | 109 | 115 | Stage 5La Tour-de-Salvagny - Lac d'Aiguebelette (141.0km) | 141.0km |
| 23-08 | 122 | 117 | Stage 4Aigurande - Évaux-les-Bains (149.0km) | 149.0km |
| 22-08 | | 119 | Stage 3Vatan - Issoudun (21.0km) | 21.0km |
| 21-08 | 123 | 123 | Stage 2Nozay - Château-Chinon (189.0km) | 189.0km |
| 20-08 | 132 | 133 | Stage 1Carnac - La Gacilly (140.0km) | 140.0km |
| 12-08 | DNF | | UCI World Championship Glasgow U23 (CM) | 168.0km |
| 09-08 | 10 | | UCI World Championship Glasgow TT U23 (CM) | 36.0km |
| 25-06 | 35 | | National Road Championships - Canada (CN) | |
| 23-06 | 1 | | National Road Championships - Canada TT U23 (CN) | |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 15-06 | DNF | | Stage 1Narbonne - Gruissan (184.0km) | 184.0km |
| | | Tour de Hongrie (2.Pro) |
| 79 | | Klassement |
| 14-05 | | 79 | Stage 5Budapest - Budapest (150.0km) | 150.0km |
| 13-05 | 64 | 80 | Stage 4Martonvásár - Dobogóko (206.0km) | 206.0km |
| 12-05 | 88 | 91 | Stage 3Kaposvár - Pécs (179.0km) | 179.0km |
| 11-05 | 88 | 98 | Stage 2Zalaegerszeg - Keszthely (175.0km) | 175.0km |
| 10-05 | 104 | 105 | Stage 1Szentgotthárd - Szentgotthárd (167.0km) | 167.0km |
| 12-04 | DNF | | De Brabantse Pijl (1.Pro) | 205.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 86 | | Klassement |
| 25-03 | 9 | 86 | Stage 5Carpi - Carpi (18.0km) | 18.0km |
| 24-03 | 100 | 89 | Stage 4Fiorano Modenese - Fiorano Modenese (168.0km) | 168.0km |
| 23-03 | 61 | 89 | Stage 3Forlì - Forlì (139.0km) | 139.0km |
| 22-03 | 111 | 109 | Stage 2Riccione - Longiano (172.0km) | 172.0km |
| 21-03 | 92 | 92 | Stage 1Riccione - Riccione (161.0km) | 161.0km |
| 19-03 | 64 | | Per Sempre Alfredo (1.1) | 190.0km |
| 01-03 | 48 | | Trofeo Laigueglia (1.Pro) | 201.0km |
| 12-02 | 115 | | Clasica de Almeria (1.Pro) | 190.0km |
| 11-02 | 106 | | Vuelta Ciclista a la Región de Murcia "Costa Cálida"
(1.1) | 194.0km |
| | | Etoile de Bessèges - Tour du Gard
(2.1) |
| 86 | | Klassement |
| 05-02 | 26 | 86 | Stage 5Alès - Alès (10.0km) | 10.0km |
| 04-02 | 87 | 91 | Stage 4Saint-Christol-lès-Alès - Le Mont Bouquet (147.0km) | 147.0km |
| 03-02 | 73 | 96 | Stage 3Bessèges - Bessèges (169.0km) | 169.0km |
| 01-02 | 125 | 125 | Stage 1Bellegarde - Bellegarde (162.0km) | 162.0km |