| | | Petronas Le Tour de Langkawi (2.Pro) |
| 42 | | Klassement |
| 34 | | Punten |
| 12 | | Berg |
| 05-10 | 37 | 42 | Stage 8Tangkak - Kuala Lumpur (180.0km) | 180.0km |
| 04-10 | 53 | 50 | Stage 7Melaka - Medini (214.0km) | 214.0km |
| 03-10 | 94 | 50 | Stage 6Shah Alam - Port Dickson (123.0km) | 123.0km |
| 02-10 | 56 | 52 | Stage 5Temerloh - Frasers Hill (123.0km) | 123.0km |
| 01-10 | 77 | 57 | Stage 4Kuala Terengganu - Kemaman (140.0km) | 140.0km |
| 30-09 | 49 | 62 | Stage 3Gerik - Pasir Puteh (198.0km) | 198.0km |
| 29-09 | 97 | 96 | Stage 2Padang Besar - Kepala Batas (167.0km) | 167.0km |
| 28-09 | 95 | 95 | Stage 1Langkawi - Langkawi (96.0km) | 96.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 27 | 38 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 22 | 37 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 35 | 46 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 94 | 110 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 137 | 117 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 121 | 99 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 99 | 99 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 48 | 48 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 02-08 | DNF | | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 17 | 17 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 121 | 86 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 8 | 83 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | 35 | | National Road Championships - Great Britain (CN) | 190.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 82 | | Klassement |
| 22-06 | 74 | 82 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 68 | 83 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 132 | 85 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 90 | 67 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 112 | 55 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 59 | 57 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 78 | 44 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 53 | 53 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 39 | | Klassement |
| 17-05 | 85 | 39 | Stage 4Lesko - Arlamów (146.0km) | 146.0km |
| 16-05 | 48 | 31 | Stage 3Ustrzyki Dolne - Arlamów (138.0km) | 138.0km |
| 15-05 | 4 | 4 | Stage 2Jaroslaw - Arlamów (143.0km) | 143.0km |
| 14-05 | 106 | 105 | Stage 1Lancut - Jaslo (155.0km) | 155.0km |
| 11-05 | 90 | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 189.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 16 | | Klassement |
| 28 | | Punten |
| 8 | | Jongeren |
| 01-05 | 32 | 16 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 10 | 16 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 52 | 17 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 8 | 8 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 76 | 58 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 69 | 46 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 50 | 50 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| 19-04 | 34 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 05-04 | DNF | | Volta NXT Classic (1.1) | 192.0km |
| 21-03 | 35 | | Youngster Coast Challenge (1.2U) | 170.0km |
| 19-03 | DNF | | Danilith Nokere Koerse (1.Pro) | 188.0km |
| 09-03 | 133 | | Grote Prijs Jean - Pierre Monseré (1.1) | 201.0km |
| 08-03 | 131 | | Grand Prix Criquielion (1.1) | 200.0km |
| | | Tour du Rwanda (2.1) |
| 11 | | Klassement |
| 4 | | Jongeren |
| 02-03 | NR | 11 | Stage 7Kigali - Kigali (73.0km) | 73.0km |
| 01-03 | 7 | 11 | Stage 6Nyanza - Kigali (114.0km) | 114.0km |
| 28-02 | 6 | 12 | Stage 5Rusizi - Huye (143.0km) | 143.0km |
| 27-02 | 19 | 13 | Stage 4Rubavu - Karongi (97.0km) | 97.0km |
| 26-02 | 11 | 9 | Stage 3Musanze - Rubavu (121.0km) | 121.0km |
| 25-02 | 5 | 16 | Stage 2Kigali - Musanze (113.0km) | 113.0km |
| 24-02 | 7 | 23 | Stage 1Rukomo - Kayonza (158.0km) | 158.0km |
| 23-02 | 27 | 27 | PrologueKigali - Kigali (3.0km) | 3.0km |