1 | 2019-10-05 | DNS | Tour of Iran (Azarbaijan) | Stage 4 | 2.1 | 198.2 | - | - | 1703 |
2 | 2019-10-04 | 67 | Tour of Iran (Azarbaijan) | Stage 3 | 2.1 | 163 | - | - | 1133 |
3 | 2019-10-03 | 72 | Tour of Iran (Azarbaijan) | Stage 2 | 2.1 | 180 | - | - | 1684 |
4 | 2019-10-02 | 33 | Tour of Iran (Azarbaijan) | Stage 1 | 2.1 | 148.3 | - | - | 848 |
5 | 2019-09-22 | 34 | Tour of China II | 2.1 | | - | - | |
6 | 2019-09-22 | 108 | Tour of China II | Stage 4 | 2.1 | 91.2 | - | - | 799 |
7 | 2019-09-21 | 30 | Tour of China II | Stage 3 | 2.1 | 104.7 | - | - | 1352 |
8 | 2019-09-19 | 79 | Tour of China II | Stage 2 | 2.1 | 127.8 | - | - | 1097 |
9 | 2019-09-17 | 68 | Tour of China II | Stage 1 | 2.1 | 141.3 | - | - | 1094 |
10 | 2019-09-16 | 4 | Tour of China II | Prologue | 2.1 | 5.2 | 5 | - | 53 |
11 | 2019-09-14 | 11 | Tour of China I | 2.1 | | 12 | 15 | |
12 | 2019-09-14 | 17 | Tour of China I | Stage 6 | 2.1 | 131.8 | - | - | 1268 |
13 | 2019-09-12 | 50 | Tour of China I | Stage 5 | 2.1 | 116 | - | - | 134 |
14 | 2019-09-11 | 66 | Tour of China I | Stage 4 | 2.1 | 156.5 | - | - | 416 |
15 | 2019-09-10 | 69 | Tour of China I | Stage 3 | 2.1 | 138.6 | - | - | 375 |
16 | 2019-09-08 | 7 | Tour of China I | Stage 2 (ITT) | 2.1 | 7.8 | 2 | - | 153 |
17 | 2019-09-07 | 83 | Tour of China I | Stage 1 | 2.1 | 96 | - | - | 770 |
18 | 2019-08-23 | 11 | Tour of Indonesia | 2.1 | | 12 | 15 | |
19 | 2019-08-23 | 13 | Tour of Indonesia | Stage 5 | 2.1 | 136.8 | - | - | 2249 |
20 | 2019-08-22 | 25 | Tour of Indonesia | Stage 4 | 2.1 | 147.3 | - | - | 2961 |
21 | 2019-08-21 | 44 | Tour of Indonesia | Stage 3 | 2.1 | 193 | - | - | 916 |
22 | 2019-08-20 | 14 | Tour of Indonesia | Stage 2 | 2.1 | 157.8 | - | - | 1825 |
23 | 2019-08-19 | 18 | Tour of Indonesia | Stage 1 | 2.1 | 182.7 | - | - | 1183 |
24 | 2019-08-01 | DNF | Volta a Portugal Santander | Stage 1 | 2.1 | 174.7 | - | - | 2914 |
25 | 2019-07-31 | 130 | Volta a Portugal Santander | Prologue | 2.1 | 6 | - | - | 48 |
26 | 2019-07-14 | 11 | GP Internacional Torres Vedras - Trofeu Joaquim Agostinho | Youth classification | 2.2 | | - | - | |
27 | 2019-07-14 | 30 | GP Internacional Torres Vedras - Trofeu Joaquim Agostinho | 2.2 | | - | - | |
28 | 2019-07-14 | 30 | GP Internacional Torres Vedras - Trofeu Joaquim Agostinho | Stage 3 | 2.2 | 179.3 | - | - | 2910 |
29 | 2019-07-13 | 42 | GP Internacional Torres Vedras - Trofeu Joaquim Agostinho | Stage 2 | 2.2 | 152.7 | - | - | 2400 |
30 | 2019-07-12 | 49 | GP Internacional Torres Vedras - Trofeu Joaquim Agostinho | Stage 1 | 2.2 | 156.8 | - | - | 2378 |
31 | 2019-07-11 | 72 | GP Internacional Torres Vedras - Trofeu Joaquim Agostinho | Prologue | 2.2 | 8 | - | - | 192 |
32 | 2019-07-03 | DNS | Course Cycliste de Solidarnosc et des Champions Olympiques | Stage 2 | 2.2 | 148 | - | - | 424 |
33 | 2019-07-02 | 109 | Course Cycliste de Solidarnosc et des Champions Olympiques | Stage 1 | 2.2 | 213.7 | - | - | 703 |
34 | 2019-03-19 | 48 | Tour de Taiwan | Stage 3 | 2.1 | 156.5 | - | - | 2404 |
35 | 2019-03-18 | 31 | Tour de Taiwan | Stage 2 | 2.1 | 118.9 | - | - | 1105 |
36 | 2019-03-17 | 104 | Tour de Taiwan | Stage 1 | 2.1 | 83.2 | - | - | 525 |
37 | 2019-02-10 | 63 | National Championships South Africa ME - Road Race | NC | 162 | - | - | |
38 | 2018-11-18 | DNF | Tour of Fuzhou | Stage 5 | 2.1 | 129.6 | - | - | 1228 |
39 | 2018-11-17 | 56 | Tour of Fuzhou | Stage 4 | 2.1 | 126.8 | - | - | |
40 | 2018-11-16 | 71 | Tour of Fuzhou | Stage 3 | 2.1 | 97.1 | - | - | 1057 |
41 | 2018-11-15 | 67 | Tour of Fuzhou | Stage 2 | 2.1 | 115.7 | - | - | 428 |
42 | 2018-11-14 | 48 | Tour of Fuzhou | Stage 1 | 2.1 | 107.4 | - | - | 971 |
43 | 2018-11-11 | 52 | Tour of Quanzhou Bay | 2.2 | | - | - | |
44 | 2018-11-11 | 60 | Tour of Quanzhou Bay | Stage 3 | 2.2 | 88 | - | - | 287 |
45 | 2018-11-10 | 52 | Tour of Quanzhou Bay | Stage 2 | 2.2 | 108 | - | - | 1503 |
46 | 2018-11-09 | 63 | Tour of Quanzhou Bay | Stage 1 | 2.2 | 81 | - | - | 216 |
47 | 2018-03-15 | 13 | Tour de Taiwan | Mountains classification | 2.1 | | - | - | |
48 | 2018-03-15 | 30 | Tour de Taiwan | Points classification | 2.1 | | - | - | |
49 | 2018-03-15 | 27 | Tour de Taiwan | 2.1 | | - | - | |
50 | 2018-03-15 | 41 | Tour de Taiwan | Stage 5 | 2.1 | 192.8 | - | - | 452 |
51 | 2018-03-14 | 29 | Tour de Taiwan | Stage 4 | 2.1 | 166.6 | - | - | 2450 |
52 | 2018-03-13 | 23 | Tour de Taiwan | Stage 3 | 2.1 | 156.3 | - | - | 2404 |
53 | 2018-03-12 | 27 | Tour de Taiwan | Stage 2 | 2.1 | 120 | - | - | 1105 |
54 | 2018-03-11 | 65 | Tour de Taiwan | Stage 1 | 2.1 | 83.2 | - | - | 525 |
55 | 2018-02-18 | 5 | African Continental Championships - Road Race | CC | 156 | 50 | 100 | |
56 | 2018-02-15 | 6 | African Continental Championships - ITT | CC | 40 | 16 | 20 | |
57 | 2018-02-10 | 7 | National Championships South Africa ME - Road Race | NC | 154.8 | - | 20 | |
58 | 2018-01-27 | 1 | Sharjah Tour | Mountains classification | 2.1 | | - | - | |
59 | 2018-01-27 | 17 | Sharjah Tour | Points classification | 2.1 | | - | - | |
60 | 2018-01-27 | 8 | Sharjah Tour | 2.1 | | 18 | 30 | |
61 | 2018-01-27 | 31 | Sharjah Tour | Stage 4 | 2.1 | 99.1 | - | - | 211 |
62 | 2018-01-26 | 5 | Sharjah Tour | Stage 3 | 2.1 | 116.7 | 4 | - | 1309 |
63 | 2018-01-25 | 74 | Sharjah Tour | Stage 2 | 2.1 | 151.6 | - | - | 683 |
64 | 2018-01-24 | 21 | Sharjah Tour | Stage 1 (ITT) | 2.1 | 10.2 | - | - | 56 |
65 | 2017-02-12 | 13 | National Championships South Africa ME - Road Race | NC | 179.5 | - | - | |
66 | 2017-02-09 | DNS | National Championships South Africa ME - ITT | NC | 39.8 | - | - | |
| | | | | 6704 | 119 | 200 | 52901 |