|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12/09/2021 | | 2.PS | | | | 66 | | Tour of Britain | | 0 | |
| 24/07/2021 | | WCRR | | | | DNF | | Olympic Games (Tokyo) - R.R. | | 0 | |
| 4/07/2021 | | GT1s | | | | OOT | | Tour de France, Stage 9 : Cluses - Tignes | | 0 | |
| 3/07/2021 | | GT1s | | | | 159 | | Tour de France, Stage 8 : Oyonnax - Le Grand-Bornand | | 0 | |
| 2/07/2021 | | GT1s | | | | 134 | | Tour de France, Stage 7 : Vierzon - Le Creusot | | 0 | |
| 1/07/2021 | | GT1s | | | | 114 | | Tour de France, Stage 6 : Tours - Châteauroux | | 0 | |
| 30/06/2021 | | GT1s | | | | 133 | | Tour de France, Stage 5 : Changé - Laval I.T.T. | | 0 | |
| 29/06/2021 | | GT1s | | | | 142 | | Tour de France, Stage 4 : Redon - Fougères | | 0 | |
| 28/06/2021 | | GT1s | | | | 102 | | Tour de France, Stage 3 : Lorient - Pontivy | | 0 | |
| 27/06/2021 | | GT1s | | | | 146 | | Tour de France, Stage 2 : Perros-Guirec - Mûr-de-Bretagne | | 0 | |
| 26/06/2021 | | GT1s | | | | 98 | | Tour de France, Stage 1 : Brest - Landerneau | | 0 | |
| 13/06/2021 | | 2.WT1s | | | | DNF | | Tour de Suisse, Stage 8 : Andermatt - Andermatt | | 0 | |
| 12/06/2021 | | 2.WT1s | | | | 134 | | Tour de Suisse, Stage 7 : Disentis-Sedrun - Andermatt I.T.T. | | 0 | |
| 11/06/2021 | | 2.WT1s | | | | 110 | | Tour de Suisse, Stage 6 : Fiesch - Disentis-Sedrun | | 0 | |
| 10/06/2021 | | 2.WT1s | | | | 71 | | Tour de Suisse, Stage 5 : Gstaad - Leukerbad | | 0 | |
| 9/06/2021 | | 2.WT1s | | | | 100 | | Tour de Suisse, Stage 4 : St. Urban - Gstaad | | 0 | |
| 8/06/2021 | | 2.WT1s | | | | 55 | | Tour de Suisse, Stage 3 : Lachen - Pfaffnau | | 0 | |
| 7/06/2021 | | 2.WT1s | | | | 114 | | Tour de Suisse, Stage 2 : Neuhausen am Rheinfall - Lachen | | 0 | |
| 6/06/2021 | | 2.WT1s | | | | 160 | | Tour de Suisse, Stage 1 : Frauenfeld - Frauenfeld I.T.T. | | 0 | |
| 4/06/2021 | | 1.1 | | | | 83 | | GP Kanton Aargau - Gippingen | | 0 | |
| 15/05/2021 | | 1.1 | | | | 79 | | Trofeo Port d'Andratx - Mirador des Colomer | | 0 | |
| 14/05/2021 | | 1.1 | | | | 88 | | Trofeo Serra de Tramuntana | | 0 | |
| 23/04/2021 | | 2.PS | | | | 95 | | Tour of the Alps | | 0 | |
| 21/03/2021 | | NC3 | | | | 3 | | National Championships South Africa (Swellendam) R.R. | | 30 | |
| 7/03/2021 | | 1.1 | | | | 64 | | GP Jean-Pierre Monseré | | 0 | |
| 2/03/2021 | | 1.1 | | | | 95 | | Le Samyn | | 0 | |
| 14/02/2021 | | 2.PS | | | | 93 | | Tour de La Provence | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31/10/2020 | | GT2s | | | | DNF | | Vuelta a España, Stage 11 : Villaviciosa - Alto de La Farrapona | | 0 | |
| 30/10/2020 | | GT2s | | | | 144 | | Vuelta a España, Stage 10 : Castro Urdiales - Suances | | 0 | |
| 29/10/2020 | | GT2s | | | | 99 | | Vuelta a España, Stage 9 : Castrillo del Val - Aguilar de Campoo | | 0 | |
| 28/10/2020 | | GT2s | | | | 149 | | Vuelta a España, Stage 8 : Logroño - Alto de Moncalvillo | | 0 | |
| 27/10/2020 | | GT2s | | | | 132 | | Vuelta a España, Stage 7 : Vitoria - Villanueva de Valdegovia | | 0 | |
| 25/10/2020 | | GT2s | | | | 140 | | Vuelta a España, Stage 6 : Biescas - Aramon Formigal | | 0 | |
| 24/10/2020 | | GT2s | | | | 116 | | Vuelta a España, Stage 5 : Huesca - Sabiñanigo | | 0 | |
| 23/10/2020 | | GT2s | | | | 82 | | Vuelta a España, Stage 4 : Garray - Ejea de los Caballeros | | 0 | |
| 22/10/2020 | | GT2s | | | | 84 | | Vuelta a España, Stage 3 : Lodosa - Vinuesa | | 0 | |
| 21/10/2020 | | GT2s | | | | 97 | | Vuelta a España, Stage 2 : Pamplona - Lekunberri | | 0 | |
| 20/10/2020 | | GT2s | | | | 98 | | Vuelta a España, Stage 1 : Irun - Arrate | | 0 | |
| 3/10/2020 | | 2.WT2s | | | | DNF | | BinckBank Tour, Stage 5 : Louvain-la-Neuve - Geraardsbergen | | 0 | |
| 2/10/2020 | | 2.WT2s | | | | 149 | | BinckBank Tour, Stage 4 : Kanne - Kanne I.T.T. | | 0 | |
| 1/10/2020 | | 2.WT2s | | | | 110 | | BinckBank Tour, Stage 3 : Aalter - Aalter | | 0 | |
| 29/09/2020 | | 2.WT2s | | | | 127 | | BinckBank Tour, Stage 1 : Blankenberge - Ardooie | | 0 | |
| 27/09/2020 | | WCRR | | | | DNF | | World Championships (Imola) R.R. | | 0 | |
| 20/09/2020 | | 1.1 | | | | 58 | | GP d'Isbergues - Pas de Calais | | 0 | |
| 16/09/2020 | | 1.1 | | | | 53 | | Giro della Toscana - Memorial Alfredo Martini | | 0 | |
| 25/08/2020 | | 1.WT2 | | | | DNF | | Bretagne Classic - Ouest-France | | 0 | |
| 9/08/2020 | | 2.1s | | | | DNF | | Czech Tour, Stage 4 : Mohelnice - Sternberk | | 0 | |
| 2/08/2020 | | 1.1 | | | | 83 | | Circuito de Getxo - Memorial Hermanos Otxoa | | 0 | |
| 1/08/2020 | | 2.PS | | | | 89 | | Vuelta a Burgos | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21/10/2018 | | 2.WT3 | | | | 34 | | Tour of Guangxi | | 5 | |
| 21/10/2018 | | 2.WT3s | | | | 52 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 0 | |
| 20/10/2018 | | 2.WT3s | | | | 34 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 0 | |
| 19/10/2018 | | 2.WT3s | | | | 38 | | Tour of Guangxi, Stage 4 : Nanning - Mashan Nongla | | 0 | |
| 18/10/2018 | | 2.WT3s | | | | 40 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 0 | |
| 17/10/2018 | | 2.WT3s | | | | 52 | | Tour of Guangxi, Stage 2 : Beihai - Qinzhou | | 0 | |
| 16/10/2018 | | 2.WT3s | | | | 81 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 0 | |
| 7/10/2018 | | 1.HC | | | | 57 | | GP Bruno Beghelli | | 0 | |
| 30/09/2018 | | WCRR | | | | DNF | | World Championships (Innsbruck) R.R. | | 0 | |
| 23/09/2018 | | 1.1 | | | | 29 | | Trofeo Matteotti | | 0 | |
| 20/09/2018 | | 1.1 | | | | 112 | | Coppa Sabatini - GP Citta di Peccioli | | 0 | |
| 9/09/2018 | | 2.HC | | | | 68 | | Tour of Britain | | 0 | |
| 26/08/2018 | | 1.WT2 | | | | DNF | | Bretagne Classic - Ouest-France | | 0 | |
| 19/08/2018 | | 2.WT2 | | | | 85 | | BinckBank Tour | | 5 | |
| 19/08/2018 | | 2.WT2s | | | | 83 | | BinckBank Tour, Stage 7 : Lacs de l'Eau d'Heure - Geraardsbergen | | 0 | |
| 18/08/2018 | | 2.WT2s | | | | 102 | | BinckBank Tour, Stage 6 : Riemst (BEL) - Sittard | | 0 | |
| 17/08/2018 | | 2.WT2s | | | | 96 | | BinckBank Tour, Stage 5 : Sint-Pieters-Leeuw - Lanaken | | 0 | |
| 16/08/2018 | | 2.WT2s | | | | 87 | | BinckBank Tour, Stage 4 : Blankenberge - Ardooie | | 0 | |
| 15/08/2018 | | 2.WT2s | | | | 85 | | BinckBank Tour, Stage 3 : Aalter - Antwerpen | | 0 | |
| 14/08/2018 | | 2.WT2s | | | | 105 | | BinckBank Tour, Stage 2 : Venray - Venray I.T.T. | | 0 | |
| 13/08/2018 | | 2.WT2s | | | | 54 | | BinckBank Tour, Stage 1 : Heerenveen - Bolsward | | 0 | |
| 1/08/2018 | | 2.HC | | | | 79 | | Tour de Wallonie | | 0 | |
| 24/06/2018 | | 2.1 | | | | 101 | | Adriatica Ionica Race | | 0 | |
| 20/06/2018 | | 2.1s | | | | 4 | | Adriatica Ionica Race, Stage 1 : Musile di Piave - Lido di Jesolo T.T.T. | | 0 | |
| 5/06/2018 | | 2.WT1s | | | | DNS | | Critérium du Dauphiné, Stage 2 : Montbrison - Belleville en Beaujolais | | 0 | |
| 4/06/2018 | | 2.WT1s | | | | 114 | | Critérium du Dauphiné, Stage 1 : Valence - Saint-Just-Saint-Rambert | | 0 | |
| 3/06/2018 | | 2.WT1s | | | | 123 | | Critérium du Dauphiné, Prologue : Valence I.T.T. | | 0 | |
| 20/05/2018 | | 2.HCs | | | | DNF | | Tour of Norway, Stage 5 : Moelv - Lillehammer | | 0 | |
| 29/04/2018 | | 2.WT1 | | | | 96 | | Tour de Romandie | | 5 | |
| 29/04/2018 | | 2.WT1s | | | | 69 | | Tour de Romandie, Stage 5 : Mont-sur-Rolle - Genève | | 0 | |
| 28/04/2018 | | 2.WT1s | | | | 96 | | Tour de Romandie, Stage 4 : Sion - Sion | | 0 | |
| 27/04/2018 | | 2.WT1s | | | | 109 | | Tour de Romandie, Stage 3 : Ollon - Villars I.T.T. | | 0 | |
| 26/04/2018 | | 2.WT1s | | | | 120 | | Tour de Romandie, Stage 2 : Delémont - Yverdon-les-Bains | | 0 | |
| 25/04/2018 | | 2.WT1s | | | | 93 | | Tour de Romandie, Stage 1 : Fribourg - Delémont | | 0 | |
| 24/04/2018 | | 2.WT1s | | | | 127 | | Tour de Romandie, Prologue : Fribourg I.T.T. | | 0 | |
| 18/04/2018 | | 1.WT2 | | | | DNF | | Flèche Wallonne | | 0 | |
| 14/04/2018 | | XX | | | | 38 | | Commonwealth Games (Currumbin) R.R. | | 0 | |
| 25/03/2018 | | 2.HCs | | | | DNF | | Tour de Langkawi, Stage 8 : Rembau - Kuala Lumpur | | 0 | |
| 18/02/2018 | | 2.HC | | | | 76 | | Tour of Oman | | 0 | |
| 10/02/2018 | | NC3 | | | | 16 | | National Championships South Africa (Oudtshoorn) R.R. | | 0 | |
| 28/01/2018 | | 1.WT3 | | | | 59 | | Cadel Evans Great Ocean Road Race | | 5 | |
| 21/01/2018 | | 2.WT1r | | | | 1 | | Tour Down Under, Mountains classification | | 45 | |
| 21/01/2018 | | 2.WT1 | | | | 99 | | Tour Down Under | | 5 | |
| 21/01/2018 | | 2.WT1s | | | | 85 | | Tour Down Under, Stage 6 : Adelaide - Adelaide | | 0 | |
| 20/01/2018 | | 2.WT1s | | | | 104 | | Tour Down Under, Stage 5 : McLaren Vale - Williunga Hill | | 0 | |
| 19/01/2018 | | 2.WT1s | | | | 76 | | Tour Down Under, Stage 4 : Norwood - Uraidla | | 0 | |
| 18/01/2018 | | 2.WT1s | | | | 92 | | Tour Down Under, Stage 3 : Glenelg - Victor Harbour | | 0 | |
| 17/01/2018 | | 2.WT1s | | | | 113 | | Tour Down Under, Stage 2 : Unley - Stirling | | 0 | |
| 16/01/2018 | | 2.WT1s | | | | 78 | | Tour Down Under, Stage 1 : Port Adelaide - Lyndoch | | 0 | |