| 24-09 | DNF | | Omloop van het Houtland (1.1) | 195.0km |
| 21-09 | 33 | | Grand Prix d'Isbergues - Pas de Calais (1.1) | 201.0km |
| 19-09 | 30 | | Kampioenschap van Vlaanderen (1.1) | 181.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 81 | 73 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo | 41.0km |
| 29-08 | 86 | 75 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan | 10.0km |
| 28-08 | 88 | 72 | Stage 5Saint-Gervais Mont-Blanc - Tignes | 121.0km |
| 27-08 | 5 | 68 | Stage 4Montagnat - Val Suran | 110.0km |
| 26-08 | 2 | 72 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne | 158.0km |
| 25-08 | 96 | 73 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais | 136.0km |
| 24-08 | 1 | 68 | Stage 1Aoste - Saint-Galmier | 188.0km |
| 23-08 | 114 | 114 | PrologueTignes - Tignes | 3.0km |
| 29-06 | DNF | | National Road Championships - Great Britain (CN) | 190.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 117 | | Standings |
| 22-06 | 77 | 117 | Stage 8Pinerolo - Pinerolo | 127.0km |
| 21-06 | 107 | 125 | Stage 7Bra - Prato Nevoso | 163.0km |
| 20-06 | 133 | 125 | Stage 6Ovada - Acqui Terme | 154.0km |
| 19-06 | 125 | 121 | Stage 5Fiorenzuola d'Arda - Gavi | 153.0km |
| 18-06 | 20 | 120 | Stage 4Manerbio - Salsomaggiore Terme | 134.0km |
| 17-06 | 140 | 127 | Stage 3Albese con Cassano - Passo del Maniva | 144.0km |
| 16-06 | 118 | 115 | Stage 2Rho - Cantù | 146.0km |
| 15-06 | 66 | 66 | Stage 1Rho - Rho | 8.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 79 | | Standings |
| 9 | | Points |
| 01-06 | 1 | 79 | Stage 4Jeseník - Šumperk | 118.0km |
| 31-05 | 91 | 87 | Stage 3Zábřeh - Dlouhé | 131.0km |
| 30-05 | 97 | 73 | Stage 2Uničov - Rýmařov | 149.0km |
| 29-05 | 49 | 49 | Stage 1Krnov - Šternberk | 168.0km |
| 11-05 | 19 | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 189.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 7 | | Standings |
| 1 | | Points |
| 01-05 | 1 | 7 | Stage 7Landébia - Plancoët | 159.0km |
| 30-04 | 1 | 8 | Stage 6Missillac - Le Pertre | 178.0km |
| 29-04 | 16 | 14 | Stage 5Erdeven - Guenrouet | 164.0km |
| 28-04 | 19 | 19 | Stage 4Plonéour-Lanvern - Landévant | 204.0km |
| 27-04 | 21 | 2 | Stage 3Loudéac - Plonéour-Lanvern | 212.0km |
| 26-04 | 1 | 1 | Stage 2La Gouesnière - Le Cambout | 182.0km |
| 25-04 | 9 | 10 | Stage 1Hirel - La Fresnais | 144.0km |
| 13-04 | 32 | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 44 | | Standings |
| 8 | | Points |
| 7 | | Youth |
| 11-04 | 57 | 44 | Stage 4Sillé-le-Guillaume - Le Mans | 186.0km |
| 10-04 | 73 | 46 | Stage 3Tiercé - Hambers | 165.0km |
| 09-04 | 3 | 6 | Stage 2La Bernardière - Beaupréau | 158.0km |
| 08-04 | 5 | 8 | Stage 1Machecoul-Saint-Même - La Baule-Escoublac | 208.0km |
| | | Volta ao Alentejo (2.2) |
| 1 | | Standings |
| 1 | | Points |
| 1 | | Youth |
| 30-03 | 2 | 1 | Stage 5Estremoz - Évora | 151.0km |
| 29-03 | 8 | 1 | Stage 4Monforte - Castelo de Vide | 147.0km |
| 28-03 | 1 | 1 | Stage 3Carvalhal - Arraiolos | 151.0km |
| 27-03 | 2 | 1 | Stage 2Castro Verde - Grandola | 171.0km |
| 26-03 | 1 | 1 | Stage 1Beja - Moura | 166.0km |
| | | Tour of Rhodes (2.2) |
| 49 | | Standings |
| 1 | | Points |
| 26 | | Youth |
| 16-03 | 106 | 49 | Stage 3Kremasti - Kremasti | 155.0km |
| 15-03 | 64 | 29 | Stage 2Rhodes - Kalithies | 158.0km |
| 14-03 | 29 | 33 | Stage 1Rhodes - Soroni | 148.0km |
| 13-03 | 20 | 20 | PrologueRhodes - Rhodes | 5.0km |
| 08-03 | 19 | | Rhodes GP (1.2) | 179.0km |
| | | Visit South Aegean Islands (2.2) |
| 43 | | Standings |
| 25 | | Youth |
| 02-03 | 45 | 43 | Stage 2Rhodes - Salakos | 160.0km |
| 01-03 | 59 | 59 | Stage 1Rhodes - Koskinou | 180.0km |
| 15-02 | 9 | | UEC Track European Championships (Omnium) (CC) | |
| 13-02 | 2 | | UEC Track European Championships (Team Pursuit) (CC) | |