| | | Tour of Hainan (2.HC) |
| 73 | | Klassement |
| 30-10 | 52 | 73 | Stage 9Qiongzhong - Xinglong (145.0km) | 145.0km |
| 29-10 | 93 | 76 | Stage 8Sanya - Qiongzhong (165.0km) | 165.0km |
| 28-10 | 15 | 45 | Stage 7Wuzhishan - Sanya (127.0km) | 127.0km |
| 27-10 | 49 | 46 | Stage 6Changjiang - Wuzhishan (197.0km) | 197.0km |
| 26-10 | 26 | 41 | Stage 5Danzhou - Changjiang (184.0km) | 184.0km |
| 25-10 | 36 | 45 | Stage 4Chengmai - Danzhou (159.0km) | 159.0km |
| 24-10 | 59 | 47 | Stage 3Haikou - Chengmai (208.0km) | 208.0km |
| 23-10 | 27 | 41 | Stage 2Xinglong - Haikou (230.0km) | 230.0km |
| 22-10 | 59 | 59 | Stage 1Xinglong - Xinglong (88.0km) | 88.0km |
| 16-10 | DNF | | UCI World Championship Doha (WC) | 257.0km |
| 12-10 | 47 | | UCI World Championship Doha TT (WC) | 40.0km |
| 18-09 | DNF | | UEC Road European Championships (CC) | 236.0km |
| 15-09 | 31 | | UEC Road European Championships TT (CC) | 44.0km |
| | | Baltic Chain Tour (2.2) |
| 2 | | Klassement |
| 6 | | Punten |
| 28-08 | 17 | 2 | Stage 2Vilnius - Vilnius (175.0km) | 175.0km |
| 27-08 | 13 | 1 | Stage 1Vilnius - Vilnius (180.0km) | 180.0km |
| 26-08 | 5 | 5 | PrologueVilnius - Vilnius (1.0km) | 1.0km |
| 07-08 | 5 | | Odessa Grand Prix (1.2) | |
| 06-08 | 1 | | Tour de Ribas (1.2) | |
| | | Tour of Qinghai Lake (2.HC) |
| 5 | | Klassement |
| 30-07 | 81 | 5 | Stage 13Baiyin - Baiyin (95.0km) | 95.0km |
| 29-07 | 1 | 5 | Stage 12Zhongwei - Zhongwei (22.0km) | 22.0km |
| 28-07 | 78 | 7 | Stage 11Yinchuan - Yinchuan (123.0km) | 123.0km |
| 27-07 | 54 | 7 | Stage 10Tianshui - Pingliang (240.0km) | 240.0km |
| 25-07 | 62 | 7 | Stage 9Tianshui - Tianshui (100.0km) | 100.0km |
| 24-07 | 25 | 8 | Stage 8Ledu - Linxia (235.0km) | 235.0km |
| 23-07 | 27 | 8 | Stage 7Qilian - Qingshizui (150.0km) | 150.0km |
| 22-07 | 28 | 6 | Stage 6Xihai Town - Qilian (207.0km) | 207.0km |
| 21-07 | 13 | 6 | Stage 5Qinghai Lake - Gangcha (185.0km) | 185.0km |
| 20-07 | 13 | 13 | Stage 4Guide - Qinghai Lake (147.0km) | 147.0km |
| 19-07 | 44 | 13 | Stage 3Duoba - Guide (133.0km) | 133.0km |
| 18-07 | 58 | 21 | Stage 2Xining - Datong (166.0km) | 166.0km |
| 17-07 | 10 | 14 | Stage 1Xining - Xining (113.0km) | 113.0km |
| | | Course Cycliste de Solidarnosc et des Champions Olympiques (2.2) |
| 12 | | Klassement |
| 02-07 | 9 | 12 | Stage 5Tarnobrzeg - Krosno (195.0km) | 195.0km |
| 01-07 | 62 | 43 | Stage 4Trybunalski - Kielce (169.0km) | 169.0km |
| 30-06 | 84 | 44 | Stage 3Pabianice - Sieradz (84.0km) | 84.0km |
| 30-06 | 32 | 30 | Stage 2Koluszki - Kutno (99.0km) | 99.0km |
| 29-06 | 36 | 36 | Stage 1Radom - Lodz (178.0km) | 178.0km |
| 26-06 | 7 | | National Road Championships - Ukraine (CN) | |
| 23-06 | 1 | | National Road Championships - Ukraine TT (CN) | |
| | | Tour de Slovaquie (2.2) |
| 86 | | Klassement |
| 12-06 | 81 | 86 | Stage 5Bojnice - Pieštany (121.0km) | 121.0km |
| 11-06 | 79 | 87 | Stage 4Zuberec - Bojnice (187.0km) | 187.0km |
| 10-06 | 106 | 88 | Stage 3Štrbské Pleso - Zuberec (193.0km) | 193.0km |
| 09-06 | 76 | 76 | Stage 2Banská Bystrica - Štrbské Pleso (170.0km) | 170.0km |
| 08-06 | 25 | 94 | Stage 1Banská Bystrica - Banská Bystrica (136.0km) | 136.0km |
| 07-06 | 122 | 122 | PrologueBanská Bystrica - Banská Bystrica (1.0km) | 1.0km |
| | | Tour of Ukraine (2.2) |
| 10 | | Klassement |
| 02-06 | | 10 | Stage 3Bila Tserkva - Bila Tserkva (144.0km) | 144.0km |
| 01-06 | | 10 | Stage 2bBucha - Bucha (90.0km) | 90.0km |
| 01-06 | 1 | 10 | Stage 2aHostomel - Bucha (17.0km) | 17.0km |
| 29-05 | 14 | | Horizon Park Classic (1.2) | |
| 27-05 | 14 | | Horizon Park Race for Peace (1.2) | |
| 14-05 | 16 | | Visegrad 4 Bicycle Race - GP Polski (1.2) | |
| | | CCC Tour - Grody Piastowskie (2.2) |
| 06-05 | 16 | | Stage 1Chojnów - Zlotoryja (185.0km) | 185.0km |
| 24-04 | 20 | | Belgrade Banjaluka II (1.2) | |
| 23-04 | 8 | | Bograd - Banjaluka I (1.2) | |
| 17-04 | 44 | | Giro dell'Appennino (1.1) | 197.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 73 | | Klassement |
| 27-03 | 57 | 73 | Stage 4Pavullo nel Frignano - Pavullo nel Frignano (163.0km) | 163.0km |
| 26-03 | 169 | 127 | Stage 3Calderara di Reno - Crevalcore (172.0km) | 172.0km |
| 25-03 | 104 | 101 | Stage 2Riccione - Sogliano al Rubicone (154.0km) | 154.0km |
| 24-03 | 32 | 32 | Stage 1aGatteo - Gatteo (95.0km) | 95.0km |
| 24-03 | 18 | 60 | Stage 1bGatteo - Gatteo (13.0km) | 13.0km |