| # | Race | Type | Time | Gap |
|---|---|---|---|---|
| 143 | Trofeo Ses Salines | 1.1 | + 01:16 | + 01:16 |
| 59 | Trofeo Palma | 1.1 | + 15 | + 15 |
| # | Race | Type | Time | Gap |
|---|---|---|---|---|
| 46 | Tour de La ProvenceS1 | 2.1 | + 29 | + 29 |
| 89 | Tour de La ProvenceS2 | 2.1 | + 04:27 | + 04:27 |
| 56 | Tour de La ProvenceS3 | 2.1 | + 08:45 | + 08:45 |
| 53 | Tour de La ProvenceGC | 2.1 | + 17:21 | + 17:21 |
| 27 | Tour de La ProvenceS4 | 2.1 | + 03:26 | + 03:26 |
| 57 | Classic Var | 1.1 | + 08:47 | + 08:47 |
| 18 | Tour de TaiwanS1 | 2.1 | + 00 | |
| 🥇1 | Tour de TaiwanS2 | 2.1 | 02:46:54 | |
| 49 | Tour de TaiwanS3 | 2.1 | + 14 | + 14 |
| 32 | Tour de TaiwanS4 | 2.1 | + 01:03 | + 01:03 |
| 13 | Tour de TaiwanGC | 2.1 | + 01:08 | + 01:08 |
| 31 | Tour de TaiwanS5 | 2.1 | + 07 | + 07 |
| 43 | Classic Grand Besançon Doubs | 1.1 | + 02:33 | + 02:33 |
| 42 | Tour du Jura | 1.1 | + 05:41 | + 05:41 |
| 29 | Famenne Ardenne Classic | 1.1 | + 00 | |
| 65 | Eschborn-Frankfurt | 1.UWT | + 05:07 | + 05:07 |
| 84 | Tro-Bro Leon | 1.Pro | + 10:02 | + 10:02 |
| 43 | Mercan'Tour Classic Alpes-Maritimes | 1.1 | + 16:36 | + 16:36 |
| 129 | Tour Auvergne - Rhône-AlpesS1 | 2.UWT | + 00 | |
| 116 | Tour Auvergne - Rhône-AlpesS2 | 2.UWT | + 14:38 | + 14:38 |
| 86 | Tour Auvergne - Rhône-AlpesS3 | 2.UWT | + 02:14 | + 02:14 |
| 137 | Tour Auvergne - Rhône-AlpesS4 | 2.UWT | + 06:59 | + 06:59 |
| 98 | Tour Auvergne - Rhône-AlpesS6 | 2.UWT | + 19:32 | + 19:32 |
| 98 | Czech TourS1 | 2.1 | + 00 | |
| 39 | Czech TourS2 | 2.1 | + 02:13 | + 02:13 |
| 35 | Czech TourS3 | 2.1 | + 04:54 | + 04:54 |
| 35 | Czech TourGC | 2.1 | + 11:22 | + 11:22 |
| 66 | Czech TourS4 | 2.1 | + 04:01 | + 04:01 |
| 45 | Grand Prix de Wallonie | 1.Pro | + 37 | + 37 |
| 82 | CRO RaceS1 | 2.1 | + 00 | |
| 73 | CRO RaceS2 | 2.1 | + 00 | |
| 82 | CRO RaceS3 | 2.1 | + 13:25 | + 13:25 |
| 97 | CRO RaceS4 | 2.1 | + 24:42 | + 24:42 |
| 70 | CRO RaceS5 | 2.1 | + 00 | |
| 71 | CRO RaceGC | 2.1 | + 38:07 | + 38:07 |
| 81 | CRO RaceS6 | 2.1 | + 00 |
| # | Race | Type | Time | Gap |
|---|---|---|---|---|
| 123 | Tour de RomandieS0 | 2.UWT | + 40 | + 40 |
| 140 | Tour de RomandieS1 | 2.UWT | + 10:50 | + 10:50 |
| 142 | Tour de RomandieS2 | 2.UWT | + 21:14 | + 21:14 |
| 105 | Tour de RomandieS3 | 2.UWT | + 02:53 | + 02:53 |
| 67 | Czech TourS1 | 2.1 | + 00 | |
| 28 | Czech TourS2 | 2.1 | + 01:03 | + 01:03 |
| 7 | Czech TourS3 | 2.1 | + 01:45 | + 01:45 |
| 7 | Czech TourGC | 2.1 | + 03:25 | + 03:25 |
| 11 | Czech TourS4 | 2.1 | + 25 | + 25 |
| 84 | Lidl Deutschland TourS0 | 2.Pro | + 13 | + 13 |
| 56 | Lidl Deutschland TourS1 | 2.Pro | + 01:33 | + 01:33 |
| 34 | Lidl Deutschland TourS2 | 2.Pro | + 01:46 | + 01:46 |
| 83 | Lidl Deutschland TourS3 | 2.Pro | + 10:26 | + 10:26 |
| 56 | Lidl Deutschland TourGC | 2.Pro | + 13:57 | + 13:57 |
| 57 | Lidl Deutschland TourS4 | 2.Pro | + 00 | |
| 87 | GP de Fourmies | 1.Pro | + 11 | + 11 |
| 89 | Grand Prix de Wallonie | 1.Pro | + 03:05 | + 03:05 |
| 41 | Tour of HainanS1 | 2.Pro | + 00 | |
| 6 | Tour of HainanS2 | 2.Pro | + 03 | + 03 |
| 10 | Tour of HainanS3 | 2.Pro | + 38 | + 38 |
| 29 | Tour of HainanS4 | 2.Pro | + 00 | |
| 9 | Tour of HainanGC | 2.Pro | + 54 | + 54 |
| 42 | Tour of HainanS5 | 2.Pro | + 00 | |
| 66 | Tour of GuangxiS1 | 2.UWT | + 00 | |
| 48 | Tour of GuangxiS2 | 2.UWT | + 00 | |
| 32 | Tour of GuangxiS3 | 2.UWT | + 00 | |
| 31 | Tour of GuangxiS4 | 2.UWT | + 01:13 | + 01:13 |
| 58 | Tour of GuangxiS5 | 2.UWT | + 00 | |
| 31 | Tour of GuangxiGC | 2.UWT | + 01:23 | + 01:23 |
| 47 | Tour of GuangxiS6 | 2.UWT | + 00 |
| # | Race | Type | Time | Gap |
|---|---|---|---|---|
| 20 | Giro della Toscana | 3 | +3 |
| # | Race | Type | Time | Gap |
|---|---|---|---|---|
| 45 | Trofeo Calvià | +null | ||
| 103 | Trofeo Serra Tramuntana | +null | ||
| 21 | Trofeo Andratx - Pollença | 3 | +3 | |
| 19 | Vuelta a Castilla y León | 3 | +3 |