| 15-10 | 6 | | Nationale Sluitingsprijs Putte-Kapellen (National) | 149.0km |
| 09-10 | 11 | | Oostvlaamse Sluitingsprijs Zele (National) | 165.0km |
| 07-10 | 15 | | Herfstcriterium Oostrozebeke (National) | 100.0km |
| 06-10 | 18 | | Paris - Tours Espoirs (1.2U) | |
| 25-09 | 35 | | Omloop van het Houtland (1.1) | 195.0km |
| 17-09 | 119 | | Textielprijs Vichte (National) | 168.0km |
| 15-08 | 23 | | Tour of Leuven - Memorial Jef Scherens (1.1) | 191.0km |
| | | Tour Alsace (2.2) |
| 4 | | Standings |
| 22 | | Points |
| 19 | | Mountain |
| 3 | | Youth |
| 28-07 | 73 | 4 | Stage 5Rust (Europapark) - Selestat (166.0km) | 166.0km |
| 27-07 | 6 | 4 | Stage 4L'Isle-sur-le-Doubs - Valentigney (176.0km) | 176.0km |
| 26-07 | 22 | 21 | Stage 3Vesoul - La Planche des Belles Filles (132.0km) | 132.0km |
| 25-07 | 36 | 34 | Stage 2Riedisheim - Ferrette (154.0km) | 154.0km |
| 24-07 | | 12 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 21-07 | 69 | | Grand Prix de la ville de Pérenchies (1.2) | 178.0km |
| 15-07 | 22 | | Clásica Terres de l'Ebre (1.2) | 187.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 49 | | Standings |
| 16-06 | 68 | 49 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 92 | 54 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 71 | 51 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 42 | 43 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 50 | 43 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 55 | 44 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 57 | 46 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 48 | 48 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| | | Ronde de l'Oise (2.2) |
| 9 | | Standings |
| 7 | | Points |
| 21 | | Mountain |
| 4 | | Youth |
| 02-06 | 51 | 9 | Stage 4Beauvais - Beauvais (180.0km) | 180.0km |
| 01-06 | 13 | 7 | Stage 3Bresles - Ressons-sur-Matz (184.0km) | 184.0km |
| 31-05 | 6 | 10 | Stage 2Liancourt - Ribécourt-Dreslincourt (190.0km) | 190.0km |
| 30-05 | 6 | 10 | Stage 1Crèvecœur-le-Grand - La Neuville-en-Hez (140.0km) | 140.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 23 | | Standings |
| 34 | | Points |
| 37 | | Mountain |
| 01-05 | 19 | 23 | Stage 7Le Hinglé - Dinan (159.0km) | 159.0km |
| 30-04 | 25 | 35 | Stage 6Saint-Onen-la-Chapelle - Louvigné-du-Désert (192.0km) | 192.0km |
| 29-04 | 14 | 35 | Stage 5La Gacilly - Saint-Méen-le-Grand (203.0km) | 203.0km |
| 28-04 | 13 | 33 | Stage 4Le Croisic - La Gacilly (171.0km) | 171.0km |
| 27-04 | 44 | 41 | Stage 3Noyal-Pontivy - Guérande (180.0km) | 180.0km |
| 26-04 | 16 | 31 | Stage 2Milizac-Guipronvel - Noyal-Pontivy (206.0km) | 206.0km |
| 25-04 | 56 | 60 | Stage 1Locmaria-Plouzané - Plougonvelin (146.0km) | 146.0km |
| 13-04 | 57 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| | | Circuit des Ardennes (2.2) |
| 21 | | Standings |
| 07-04 | 36 | 21 | Stage 4Sedan - Sedan (163.0km) | 163.0km |
| 06-04 | 46 | 25 | Stage 3Charleville-Mézières - Aiglemont (145.0km) | 145.0km |
| 05-04 | 79 | 32 | Stage 2Auvillers-les-Forges - Hardoncelle (167.0km) | 167.0km |
| 04-04 | 17 | 21 | Stage 1Juniville - Asfeld (165.0km) | 165.0km |
| 30-03 | DNF | | Volta Limburg Classic (1.1) | 190.0km |
| 24-03 | 17 | | La Roue Tourangelle (1.1) | 200.0km |
| 15-03 | 56 | | Bredene Koksijde Classic (1.Pro) | 202.0km |
| 28-01 | 84 | | Trofeo Palma (1.1) | 150.0km |
| 26-01 | 119 | | Trofeo Serra Tramuntana (1.1) | |
| 25-01 | 118 | | Trofeo Ses Salines – Felanitx (1.1) | 181.0km |
| 24-01 | 99 | | Trofeo Calvià (1.1) | 150.0km |