|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 | |