|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 | |
| 29/07/2018 | | GT1s | | | | 21 | | Tour de France, Stage 21 : Houilles - Paris/Champs-Élysées | | 0 | |
| 28/07/2018 | | GT1s | | | | 93 | | Tour de France, Stage 20 : Saint-Pée-sur-Nivelle - Espelette I.T.T. | | 0 | |
| 27/07/2018 | | GT1s | | | | 68 | | Tour de France, Stage 19 : Lourdes - Laruns | | 0 | |
| 26/07/2018 | | GT1s | | | | 84 | | Tour de France, Stage 18 : Trie-sur-Baïse - Pau | | 0 | |
| 25/07/2018 | | GT1s | | | | 87 | | Tour de France, Stage 17 : Bagnères-de-Luchon - Saint-Lary-Soulan/Col du Portet | | 0 | |
| 24/07/2018 | | GT1s | | | | 87 | | Tour de France, Stage 16 : Carcassonne - Bagnères-de-Luchon | | 0 | |
| 22/07/2018 | | GT1s | | | | 17 | | Tour de France, Stage 15 : Millau - Carcassonne | | 0 | |
| 21/07/2018 | | GT1s | | | | 9 | | Tour de France, Stage 14 : Saint-Paul-Trois-Châteaux - Mende (Croix Neuve) | | 2 | |
| 20/07/2018 | | GT1s | | | | 139 | | Tour de France, Stage 13 : Bourg d'Oisans - Valence | | 0 | |
| 19/07/2018 | | GT1s | | | | 83 | | Tour de France, Stage 12 : Bourg-Saint-Maurice - Alpe d'Huez | | 0 | |
| 18/07/2018 | | GT1s | | | | 92 | | Tour de France, Stage 11 : Albertville - La Rosière | | 0 | |
| 17/07/2018 | | GT1s | | | | 72 | | Tour de France, Stage 10 : Annecy - Le Grand-Bornand | | 0 | |
| 15/07/2018 | | GT1s | | | | 43 | | Tour de France, Stage 9 : Arras - Roubaix | | 0 | |
| 14/07/2018 | | GT1s | | | | 42 | | Tour de France, Stage 8 : Dreux - Amiens | | 0 | |
| 13/07/2018 | | GT1s | | | | 7 | | Tour de France, Stage 7 : Fougères - Chartres | | 5 | |
| 12/07/2018 | | GT1s | | | | 51 | | Tour de France, Stage 6 : Brest - Guerlédan/Mûr-de-Bretagne | | 0 | |
| 11/07/2018 | | GT1s | | | | 35 | | Tour de France, Stage 5 : Lorient - Quimper | | 0 | |
| 10/07/2018 | | GT1s | | | | 161 | | Tour de France, Stage 4 : La Baule - Sarzeau | | 0 | |
| 9/07/2018 | | GT1s | | | | 4 | | Tour de France, Stage 3 : Cholet - Cholet T.T.T. | | 6 | |
| 8/07/2018 | | GT1s | | | | 171 | | Tour de France, Stage 2 : Mouilleron-Saint-Germain - La Roche-sur-Yon | | 0 | |
| 7/07/2018 | | GT1s | | | | 102 | | Tour de France, Stage 1 : Noirmoutier-en-l'Ile - Fontenay-le-Comte | | 0 | |
| 16/06/2018 | | 2.1s | | | | DNS | | Tour de Slovénie, Stage 4 : Ljubljana - Kamnik | | 0 | |
| 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 | |
| 10/06/2018 | | 2.WT1s | | | | 50 | | Critérium du Dauphiné, Stage 7 : Moûtiers - Saint-Gervais-Mont-Blanc | | 0 | |
| 9/06/2018 | | 2.WT1s | | | | 67 | | Critérium du Dauphiné, Stage 6 : Frontenex - La Rosière | | 0 | |
| 8/06/2018 | | 2.WT1s | | | | 69 | | Critérium du Dauphiné, Stage 5 : Grenoble - Valmorel | | 0 | |
| 7/06/2018 | | 2.WT1s | | | | 94 | | Critérium du Dauphiné, Stage 4 : Chazey-sur-Ain - Lans-en-Vercors | | 0 | |
| 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 | |
| 3/06/2018 | | 2.WT1s | | | | 12 | | Critérium du Dauphiné, Prologue : Valence I.T.T. | | 0 | |
| 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.WT2r | | | | 9 | | Volta a Catalunya, Mountains classification | | 0 | |
| 25/03/2018 | | 2.WT2 | | | | 49 | | Volta a Catalunya | | 5 | |
| 25/03/2018 | | 2.WT2s | | | | 54 | | Volta a Catalunya, Stage 7 : Barcelona - Barcelona | | 0 | |
| 24/03/2018 | | 2.WT2s | | | | 16 | | Volta a Catalunya, Stage 6 : Pobla de Segur - Torrefarrera | | 0 | |
| 23/03/2018 | | 2.WT2s | | | | 27 | | Volta a Catalunya, Stage 5 : Llivia - Vielha | | 0 | |
| 22/03/2018 | | 2.WT2s | | | | 65 | | Volta a Catalunya, Stage 4 : Llanars - Alp/La Molina | | 0 | |
| 21/03/2018 | | 2.WT2s | | | | 18 | | Volta a Catalunya, Stage 3 : Sant Cugat - Camprodon | | 0 | |
| 20/03/2018 | | 2.WT2s | | | | 2 | | Volta a Catalunya, Stage 2 : Mataro - Valls | | 22 | |
| 19/03/2018 | | 2.WT2s | | | | 13 | | Volta a Catalunya, Stage 1 : Calella - Calella | | 0 | |
| 17/03/2018 | | 1.WT1 | | | | 21 | | Milano - Sanremo | | 22 | |
| 13/03/2018 | | 2.WT1 | | | | 45 | | Tirreno - Adriatico | | 5 | |
| 13/03/2018 | | 2.WT1s | | | | 17 | | Tirreno - Adriatico, Stage 7 : San Benedetto del Tronto I.T.T. | | 0 | |
| 12/03/2018 | | 2.WT1s | | | | 46 | | Tirreno - Adriatico, Stage 6 : Numana - Fano | | 0 | |
| 11/03/2018 | | 2.WT1s | | | | 22 | | Tirreno - Adriatico, Stage 5 : Castelraimondo - Filottrano | | 0 | |
| 10/03/2018 | | 2.WT1s | | | | 86 | | Tirreno - Adriatico, Stage 4 : Foligno - Sarnano/Sassotetto | | 0 | |
| 9/03/2018 | | 2.WT1s | | | | 54 | | Tirreno - Adriatico, Stage 3 : Follonica - Trevi | | 0 | |
| 8/03/2018 | | 2.WT1s | | | | 71 | | Tirreno - Adriatico, Stage 2 : Camaiore - Follonica | | 0 | |
| 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 | |
| 3/03/2018 | | 1.WT3 | | | | DNF | | Strade Bianche | | 0 | |
| 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 | |
| 21/01/2018 | | 2.WT1s | | | | 36 | | Tour Down Under, Stage 6 : Adelaide - Adelaide | | 0 | |
| 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 | |
| 18/01/2018 | | 2.WT1s | | | | 19 | | Tour Down Under, Stage 3 : Glenelg - Victor Harbour | | 0 | |
| 17/01/2018 | | 2.WT1s | | | | 2 | | Tour Down Under, Stage 2 : Unley - Stirling | | 28 | |
| 16/01/2018 | | 2.WT1s | | | | 13 | | Tour Down Under, Stage 1 : Port Adelaide - Lyndoch | | 0 | |