05.12 | 2 | | | African Continental Championships - Road Race (CC) | 155 | 100 | 70 | more |
03.12 | 6 | | | African Continental Championships - ITT (CC) | 42 | 16 | 5 | more |
01.12 | 4 | | | African Continental Championships - TTT (CC) | 42 | 6 | 2.333 | more |
20.10 » 28.10 | | | | Tour of Hainan (2.HC) | | | | more |
26.10 | DNF | | | Stage 7 - Wuzhishan › Dongfang | 217.2 | | | more |
25.10 | 73 | 63 | | Stage 6 - Sanya › Wuzhishan | 115.6 | | | more |
24.10 | 101 | 70 | | Stage 5 - Wanning › Sanya | 187.1 | | | more |
23.10 | 88 | 65 | | Stage 4 - Qionghai › Xinglong, Wanning | 183.6 | | | more |
22.10 | 73 | 57 | | Stage 3 - Haikou › Qionghai | 147.4 | | | more |
21.10 | 40 | 45 | | Stage 2 - Chengmai › Haikou | 174.5 | | | more |
20.10 | 61 | 61 | | Stage 1 - Chengmai old Town › Chengmai | 85.6 | | | more |
01.09 | 33 | | | Croatia - Slovenia (1.2) | 179.7 | | | more |
04.08 | 116 | | | Ride London Classic (1.1) | 221 | | | more |
27.07 » 29.07 | | | | Kreiz Breizh Elites (2.2) | | | | more |
27.07 | DNF | | | Stage 1 - Calanhel › Plouray | 194 | | | more |
09.06 | 83 | | | Jurmala Grand Prix (1.1) | 179 | | | more |
08.06 | 107 | | | Riga - Jurmala Grand Prix (1.1) | 168 | | | more |
30.05 » 01.06 | | | | Tour of Estonia (2.1) | | | | more |
01.06 | DNF | | | Stage 3 - Tartu › Tartu | 150 | | | more |
31.05 | 106 | 105 | | Stage 2 - Tallinn › Tartu | 192 | | | more |
30.05 | 83 | 86 | | Stage 1b (ITT) - Tallinn › Tallinn | 3 | | | more |
30.05 | 110 | 110 | | Stage 1a - Viimsi › Viimsi | 125 | | | more |
01.05 » 05.05 | | | | Tour de Azerbaijan (2.2) | | | | more |
| 75 | | | General classification | | | | more |
05.05 | 103 | | | Stage 5 - Baku › Baku | 144 | | | more |
04.05 | 81 | 71 | | Stage 4 - Qubala › Pirqulu | 116 | | | more |
03.05 | 91 | 71 | | Stage 3 - Qabala › Qubala | 165 | | | more |
02.05 | 74 | 73 | | Stage 2 - Baku › Ismayilli | 183 | | | more |
01.05 | 98 | 98 | | Stage 1 - Baku › Baku | 157 | | | more |
17.04 » 21.04 | | | | Mzansi Tour (2.2) WCCA Mixed Team | | | | more |
| 16 | | | Mountains classification | | | | more |
| 24 | | | Points classification | | | | more |
| 23 | | | General classification | | | | more |
21.04 | 18 | | | Stage 5 - Johannesburg, Montecasino › MonteCasino | 123 | | | more |
20.04 | 75 | 24 | | Stage 4 - Hartebeespoort › Pretoria | 163 | | | more |
19.04 | 35 | 10 | | Stage 3 - Witbank › Mamelodi | 149 | | | more |
18.04 | 4 | 10 | | Stage 2 - Lydenburg › Middelburg | 189 | | | more |
17.04 | 22 | 23 | | Stage 1 - Kruger Park › Nelspruit | 164 | | | more |
21.02 » 02.03 | | | | Tour de Langkawi (2.HC) | | | | more |
| 33 | | | Mountains classification | | | | more |
| 69 | | | Points classification | | | | more |
| 76 | | | General classification | | | | more |
02.03 | 62 | | | Stage 10 - Tasik Kenyir › Kuala Terengganu | 114.8 | | | more |
01.03 | 100 | 85 | | Stage 9 - Pasir Puteh › Kuala Berang | 123.6 | | | more |
28.02 | 32 | 89 | | Stage 8 - Kuala Terengganu › Tanah Merah | 164.5 | | | more |
27.02 | 76 | 93 | | Stage 7 - Kuantan › Dungun | 149.8 | | | more |
26.02 | 50 | 94 | | Stage 6 - Mentakab › Kuantan | 212.8 | | | more |
25.02 | 80 | 97 | | Stage 5 - Proton, Shah Alam › Genting Highlands | 108 | | | more |
24.02 | 120 | 121 | | Stage 4 - Tapah › Kapar | 168 | | | more |
23.02 | 114 | 119 | | Stage 3 - Sungai Siput › Cameron Highlands | 145.5 | | | more |
22.02 | 92 | 90 | | Stage 2 - Serdang › Kuala Kangsar | 116 | | | more |
21.02 | 83 | 84 | | Stage 1 - Kangar › Kulim | 163.7 | | | more |