|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22/10/2019 | | 2.WT3 | | | | 54 | | Tour of Guangxi | | 5 | |
| 22/10/2019 | | 2.WT3s | | | | 12 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 0 | |
| 21/10/2019 | | 2.WT3s | | | | 14 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 0 | |
| 20/10/2019 | | 2.WT3s | | | | 70 | | Tour of Guangxi, Stage 4 : Nanning - Nongla | | 0 | |
| 19/10/2019 | | 2.WT3s | | | | 60 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 0 | |
| 18/10/2019 | | 2.WT3s | | | | 23 | | Tour of Guangxi, Stage 2 : Beihai - Qinzhou | | 0 | |
| 17/10/2019 | | 2.WT3s | | | | 29 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 0 | |
| 29/09/2019 | | WCRR | | | | DNF | | World Championships (Harrogate) R.R. | | 0 | |
| 15/09/2019 | | GT2 | | | | 107 | | Vuelta a España | | 15 | |
| 15/09/2019 | | GT2s | | | | 92 | | Vuelta a España, Stage 21 : Fuenlabrada - Madrid | | 0 | |
| 14/09/2019 | | GT2s | | | | 121 | | Vuelta a España, Stage 20 : Arenas de San Pedro - Plataforma de Gredos | | 0 | |
| 13/09/2019 | | GT2s | | | | 119 | | Vuelta a España, Stage 19 : Avila - Toledo | | 0 | |
| 12/09/2019 | | GT2s | | | | 111 | | Vuelta a España, Stage 18 : Colmenar Viejo - Becerril de la Sierra | | 0 | |
| 11/09/2019 | | GT2s | | | | 90 | | Vuelta a España, Stage 17 : Aranda de Duero - Guadelajara | | 0 | |
| 9/09/2019 | | GT2s | | | | 128 | | Vuelta a España, Stage 16 : Pravia - Alto de la Cubilla | | 0 | |
| 8/09/2019 | | GT2s | | | | 105 | | Vuelta a España, Stage 15 : Tineo - Santuario del Acebo | | 0 | |
| 7/09/2019 | | GT2s | | | | 41 | | Vuelta a España, Stage 14 : San Vicente de la Barquer - Oviedo | | 0 | |
| 6/09/2019 | | GT2s | | | | 137 | | Vuelta a España, Stage 13 : Bilbao - Los Machucos | | 0 | |
| 5/09/2019 | | GT2s | | | | 91 | | Vuelta a España, Stage 12 : Bilbao - Bilbao | | 0 | |
| 4/09/2019 | | GT2s | | | | 97 | | Vuelta a España, Stage 11 : Saint-Palais (FRA) - Urdax-Dantxarinea | | 0 | |
| 3/09/2019 | | GT2s | | | | 83 | | Vuelta a España, Stage 10 : Jurançon (FRA) - Pau (FRA) I.T.T. | | 0 | |
| 1/09/2019 | | GT2s | | | | 133 | | Vuelta a España, Stage 9 : Andorra la Vella (AND) - Cortals d'Encamp (AND) | | 0 | |
| 31/08/2019 | | GT2s | | | | 20 | | Vuelta a España, Stage 8 : Valls - Igualada | | 0 | |
| 30/08/2019 | | GT2s | | | | 107 | | Vuelta a España, Stage 7 : Onda - Mas de la Costa | | 0 | |
| 29/08/2019 | | GT2s | | | | 86 | | Vuelta a España, Stage 6 : Mora de Rubielos - Ares del Maestrat | | 0 | |
| 28/08/2019 | | GT2s | | | | 53 | | Vuelta a España, Stage 5 : L'Eliana - Javalambre | | 0 | |
| 27/08/2019 | | GT2s | | | | 17 | | Vuelta a España, Stage 4 : Cullera - El Puig | | 0 | |
| 26/08/2019 | | GT2s | | | | 33 | | Vuelta a España, Stage 3 : Ibi - Alicante | | 0 | |
| 25/08/2019 | | GT2s | | | | 58 | | Vuelta a España, Stage 2 : Benidorm - Calpe | | 0 | |
| 24/08/2019 | | GT2s | | | | - | | Vuelta a España, Stage 1 : Salinas de Torrevieja - Torrevieja T.T.T. | | 0 | |
| 3/08/2019 | | 1.WT2 | | | | DNF | | Clasica San Sebastian | | 0 | |
| 12/07/2019 | | 2.1 | | | | 58 | | Österreich-Rundfahrt / Tour of Austria | | 0 | |
| 8/07/2019 | | 2.1s | | | | 20 | | Österreich-Rundfahrt / Tour of Austria, Stage 2 : Zwettl - Wiener Neustadt | | 0 | |
| 10/06/2019 | | 2.WT1s | | | | DNF | | Critérium du Dauphiné, Stage 2 : Mauriac - Craponne-sur-Arzon | | 0 | |
| 9/06/2019 | | 2.WT1s | | | | 103 | | Critérium du Dauphiné, Stage 1 : Aurillac - Jussac | | 0 | |
| 5/05/2019 | | 2.HC | | | | 75 | | Tour de Yorkshire | | 0 | |
| 13/04/2019 | | 2.WT2s | | | | DNF | | Itzulia Basque Country, Stage 6 : Eibar - Eibar | | 0 | |
| 12/04/2019 | | 2.WT2s | | | | 129 | | Itzulia Basque Country, Stage 5 : Arrigorriaga - Arrate | | 0 | |
| 11/04/2019 | | 2.WT2s | | | | 107 | | Itzulia Basque Country, Stage 4 : Vitoria-Gasteiz - Arrigorriaga | | 0 | |
| 10/04/2019 | | 2.WT2s | | | | 93 | | Itzulia Basque Country, Stage 3 : Sarriguren - Estibaliz | | 0 | |
| 9/04/2019 | | 2.WT2s | | | | 99 | | Itzulia Basque Country, Stage 2 : Zumarraga - Gorraiz | | 0 | |
| 8/04/2019 | | 2.WT2s | | | | 136 | | Itzulia Basque Country, Stage 1 : Zumarraga - Zumarraga I.T.T. | | 0 | |
| 19/03/2019 | | CC2 | | | | 29 | | African Cycling Championships (Sebat Amit) R.R. | | 0 | |
| 10/02/2019 | | NC3 | | | | 5 | | National Championships South Africa (Tshwane) R.R. | | 20 | |
| 27/01/2019 | | 1.WT3 | | | | DNF | | Cadel Evans Great Ocean Road Race | | 0 | |
| 20/01/2019 | | 2.WT1 | | | | 100 | | Tour Down Under | | 5 | |
| 20/01/2019 | | 2.WT1s | | | | 104 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 0 | |
| 19/01/2019 | | 2.WT1s | | | | 64 | | Tour Down Under, Stage 5 : Glenelg - Strathalbyn | | 0 | |
| 18/01/2019 | | 2.WT1s | | | | 74 | | Tour Down Under, Stage 4 : Unley - Campbelltown | | 0 | |
| 17/01/2019 | | 2.WT1s | | | | 111 | | Tour Down Under, Stage 3 : Lobethal - Uraidla | | 0 | |
| 16/01/2019 | | 2.WT1s | | | | 82 | | Tour Down Under, Stage 2 : Norwood - Angaston | | 0 | |
| 15/01/2019 | | 2.WT1s | | | | 39 | | Tour Down Under, Stage 1 : Barnsley - Bedale | | 0 | |