|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15/09/2019 | | 1.WT2 | | | | 34 | | GP de Montréal | | 5 | |
| 13/09/2019 | | 1.WT2 | | | | 11 | | GP de Québec | | 40 | |
| 7/09/2019 | | 1.HC | | | | 25 | | Brussels Cycling Classic | | 5 | |
| 18/08/2019 | | 2.1 | | | | 1 | | Czech Cycling Tour | | 110 | |
| 18/08/2019 | | 2.1s | | | | 2 | | Czech Cycling Tour, Stage 4 : Mohelnice - Sternberk | | 10 | |
| 17/08/2019 | | 2.1s | | | | leader | | Czech Cycling Tour, Stage 3 : Olomouc - Unicov | | 6 | |
| 16/08/2019 | | 2.1s | | | | leader | | Czech Cycling Tour, Stage 2 : Olomouc - Frydek-Mistek | | 6 | |
| 16/08/2019 | | 2.1s | | | | 2 | | Czech Cycling Tour, Stage 2 : Olomouc - Frydek-Mistek | | 10 | |
| 15/08/2019 | | 2.1s | | | | 1 | | Czech Cycling Tour, Stage 1 : Ostrava - Ostrava T.T.T. | | 5 | |
| 4/08/2019 | | 1.WT3 | | | | 12 | | Ride London - Surrey Classic | | 27 | |
| 28/07/2019 | | GT1 | | | | 72 | | Tour de France | | 20 | |
| 14/07/2019 | | GT1s | | | | 1 | | Tour de France, Stage 9 : Saint-Étienne - Brioude | | 80 | |
| 16/06/2019 | | 2.WT1 | | | | 71 | | Critérium du Dauphiné | | 5 | |
| 28/04/2019 | | 1.WT1 | | | | 23 | | Liège - Bastogne - Liège | | 18 | |
| 21/04/2019 | | 1.WT2 | | | | 15 | | Amstel Gold Race | | 24 | |
| 31/03/2019 | | 2.WT2 | | | | 66 | | Volta a Catalunya | | 5 | |
| 30/03/2019 | | 2.WT2s | | | | 3 | | Volta a Catalunya, Stage 6 : Valls - Vilaseca | | 14 | |
| 29/03/2019 | | 2.WT2s | | | | 4 | | Volta a Catalunya, Stage 5 : Puigcerda - Sant Cugat | | 8 | |
| 26/03/2019 | | 2.WT2s | | | | 3 | | Volta a Catalunya, Stage 2 : Mataro - Sant Feliu de Guixols | | 14 | |
| 25/03/2019 | | 2.WT2s | | | | 7 | | Volta a Catalunya, Stage 1 : Calella - Calella | | 2 | |
| 23/03/2019 | | 1.WT1 | | | | 119 | | Milano - Sanremo | | 5 | |
| 10/02/2019 | | NC3 | | | | 1 | | National Championships South Africa (Tshwane) R.R. | | 60 | |
| 8/02/2019 | | NCT3 | | | | 1 | | National Championships South Africa (Tshwane) I.T.T. | | 30 | |
| 27/01/2019 | | 1.WT3 | | | | 3 | | Cadel Evans Great Ocean Road Race | | 92 | |
| 20/01/2019 | | 2.WT1r | | | | 8 | | Tour Down Under, Mountains classification | | 1 | |
| 20/01/2019 | | 2.WT1r | | | | 4 | | Tour Down Under, Points classification | | 10 | |
| 20/01/2019 | | 2.WT1 | | | | 1 | | Tour Down Under | | 260 | |
| 20/01/2019 | | 2.WT1s | | | | 3 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 18 | |
| 18/01/2019 | | 2.WT1s | | | | 1 | | Tour Down Under, Stage 4 : Unley - Campbelltown | | 45 | |
| 17/01/2019 | | 2.WT1s | | | | 3 | | Tour Down Under, Stage 3 : Lobethal - Uraidla | | 18 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23/09/2018 | | WCTT | | | | 5 | | World Championships (Innsbruck) T.T.T. | | 24 | |
| 9/09/2018 | | 1.WT2 | | | | 20 | | GP de Montréal | | 16 | |
| 7/09/2018 | | 1.WT2 | | | | 26 | | GP de Québec | | 10 | |
| 26/08/2018 | | 1.WT2 | | | | 32 | | Bretagne Classic - Ouest-France | | 5 | |
| 19/08/2018 | | 1.WT2 | | | | 36 | | EuroEyes Cyclassics - Hamburg | | 5 | |
| 4/08/2018 | | 1.WT2 | | | | 15 | | Clasica San Sebastian | | 24 | |
| 29/07/2018 | | GT1 | | | | 46 | | Tour de France | | 25 | |
| 21/07/2018 | | GT1s | | | | 9 | | Tour de France, Stage 14 : Saint-Paul-Trois-Châteaux - Mende (Croix Neuve) | | 2 | |
| 13/07/2018 | | GT1s | | | | 7 | | Tour de France, Stage 7 : Fougères - Chartres | | 5 | |
| 9/07/2018 | | GT1s | | | | 4 | | Tour de France, Stage 3 : Cholet - Cholet T.T.T. | | 6 | |
| 15/06/2018 | | 2.1s | | | | 2 | | Tour de Slovénie, Stage 3 : Slovenske Konjice - Celjski Grad | | 10 | |
| 10/06/2018 | | 2.WT1r | | | | 1 | | Critérium du Dauphiné, Points classification | | 45 | |
| 10/06/2018 | | 2.WT1 | | | | 67 | | Critérium du Dauphiné | | 5 | |
| 6/06/2018 | | 2.WT1s | | | | 4 | | Critérium du Dauphiné, Stage 3 : Pont-de-Vaux - Louhans-Châteaurenaud T.T.T. | | 2 | |
| 5/06/2018 | | 2.WT1s | | | | leader | | Critérium du Dauphiné, Stage 2 : Montbrison - Belleville en Beaujolais | | 11 | |
| 5/06/2018 | | 2.WT1s | | | | 3 | | Critérium du Dauphiné, Stage 2 : Montbrison - Belleville en Beaujolais | | 18 | |
| 4/06/2018 | | 2.WT1s | | | | 1 | | Critérium du Dauphiné, Stage 1 : Valence - Saint-Just-Saint-Rambert | | 45 | |
| 27/05/2018 | | 2.1 | | | | 1 | | Hammer Series Stavanger | | 27 | |
| 27/05/2018 | | 2.1s | | | | 1 | | Hammer Series Stavanger, Stage 3 : Stavanger, Hammer chase T.T.T. | | 5 | |
| 26/05/2018 | | 2.1s | | | | 1 | | Hammer Series Stavanger, Stage 2 : Stavanger, Hammer sprint | | 5 | |
| 25/05/2018 | | 2.1s | | | | 1 | | Hammer Series Stavanger, Stage 1 : Sandness, Hammer climb | | 5 | |
| 22/04/2018 | | 1.WT1 | | | | 47 | | Liège - Bastogne - Liège | | 5 | |
| 15/04/2018 | | 1.WT2 | | | | 11 | | Amstel Gold Race | | 40 | |
| 11/04/2018 | | 1.HC | | | | 10 | | Brabantse Pijl | | 26 | |
| 25/03/2018 | | 2.WT2 | | | | 49 | | Volta a Catalunya | | 5 | |
| 20/03/2018 | | 2.WT2s | | | | 2 | | Volta a Catalunya, Stage 2 : Mataro - Valls | | 22 | |
| 17/03/2018 | | 1.WT1 | | | | 21 | | Milano - Sanremo | | 22 | |
| 13/03/2018 | | 2.WT1 | | | | 45 | | Tirreno - Adriatico | | 5 | |
| 7/03/2018 | | 2.WT1s | | | | 2 | | Tirreno - Adriatico, Stage 1 : Lido di Camaiore T.T.T. | | 7 | |
| 4/03/2018 | | 1.HC | | | | 8 | | GP Industria & Artigianato - Larciano | | 36 | |
| 10/02/2018 | | NC3 | | | | 1 | | National Championships South Africa (Oudtshoorn) R.R. | | 60 | |
| 7/02/2018 | | NCT3 | | | | 1 | | National Championships South Africa (Oudtshoorn) I.T.T. | | 30 | |
| 28/01/2018 | | 1.WT3 | | | | 3 | | Cadel Evans Great Ocean Road Race | | 92 | |
| 21/01/2018 | | 2.WT1r | | | | 6 | | Tour Down Under, Mountains classification | | 3 | |
| 21/01/2018 | | 2.WT1r | | | | 4 | | Tour Down Under, Points classification | | 10 | |
| 21/01/2018 | | 2.WT1 | | | | 1 | | Tour Down Under | | 260 | |
| 20/01/2018 | | 2.WT1s | | | | leader | | Tour Down Under, Stage 5 : McLaren Vale - Williunga Hill | | 11 | |
| 20/01/2018 | | 2.WT1s | | | | 2 | | Tour Down Under, Stage 5 : McLaren Vale - Williunga Hill | | 28 | |
| 19/01/2018 | | 2.WT1s | | | | 2 | | Tour Down Under, Stage 4 : Norwood - Uraidla | | 28 | |
| 17/01/2018 | | 2.WT1s | | | | 2 | | Tour Down Under, Stage 2 : Unley - Stirling | | 28 | |