|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2/07/2024 | | GT1s | | | | 122 | | Tour de France, Stage 4 : Pinerolo - Valloire | | 0 | |
| 1/07/2024 | | GT1s | | | | 29 | | Tour de France, Stage 3 : Plaisance - Torino | | 0 | |
| 30/06/2024 | | GT1s | | | | 125 | | Tour de France, Stage 2 : Cesenatico - Bologna | | 0 | |
| 29/06/2024 | | GT1s | | | | 57 | | Tour de France, Stage 1 : Florence - Rimini | | 0 | |
| 9/06/2024 | | 2.WT1s | | | | DNS | | Critérium du Dauphiné, Stage 8 : Thônes - Plateau des Glières | | 0 | |
| 8/06/2024 | | 2.WT1s | | | | 85 | | Critérium du Dauphiné, Stage 7 : Albertville - Samoëns 1600 | | 0 | |
| 7/06/2024 | | 2.WT1s | | | | 124 | | Critérium du Dauphiné, Stage 6 : Hauterives - Le Collet d'Allevard | | 0 | |
| 5/06/2024 | | 2.WT1s | | | | 85 | | Critérium du Dauphiné, Stage 4 : Saint-Germain-Laval - Neulise I.T.T. | | 0 | |
| 4/06/2024 | | 2.WT1s | | | | 127 | | Critérium du Dauphiné, Stage 3 : Celles-sur-Durolle - Les Estables | | 0 | |
| 3/06/2024 | | 2.WT1s | | | | 128 | | Critérium du Dauphiné, Stage 2 : Gannat - Col de la Loge | | 0 | |
| 2/06/2024 | | 2.WT1s | | | | 24 | | Critérium du Dauphiné, Stage 1 : Saint-Pourçain-sur-Sioule - Saint-Pourçain-sur-Sioule | | 0 | |
| 22/03/2024 | | 1.WT2 | | | | 110 | | E3 Saxo Classic | | 5 | |
| 20/03/2024 | | 1.WT3 | | | | 44 | | Classic Brugge - De Panne | | 5 | |
| 16/03/2024 | | 1.WT1 | | | | 136 | | Milano - Sanremo | | 5 | |
| 10/03/2024 | | 2.WT1 | | | | 91 | | Paris - Nice | | 5 | |
| 10/03/2024 | | 2.WT1s | | | | 98 | | Paris - Nice, Stage 8 : Nice - Nice | | 0 | |
| 9/03/2024 | | 2.WT1s | | | | 111 | | Paris - Nice, Stage 7 : Nice - Madone d'Utelle | | 0 | |
| 8/03/2024 | | 2.WT1s | | | | 84 | | Paris - Nice, Stage 6 : Sisteron - La-Colle-sur-Loup | | 0 | |
| 7/03/2024 | | 2.WT1s | | | | 26 | | Paris - Nice, Stage 5 : Saint-Sauveur-de-Montagut - Sisteron | | 0 | |
| 6/03/2024 | | 2.WT1s | | | | 117 | | Paris - Nice, Stage 4 : Chalon-sur-Saône - Mont Brouilly | | 0 | |
| 5/03/2024 | | 2.WT1s | | | | - | | Paris - Nice, Stage 3 : Auxerre - Auxerre T.T.T. | | 0 | |
| 4/03/2024 | | 2.WT1s | | | | 78 | | Paris - Nice, Stage 2 : Thoiry - Montargis | | 0 | |
| 3/03/2024 | | 2.WT1s | | | | 91 | | Paris - Nice, Stage 1 : Les Mureaux - Les Mureaux | | 0 | |
| 11/02/2024 | | 2.1s | | | | DNS | | Tour de la Provence , Stage 3 : Rognac - Arles | | 0 | |
| 8/02/2024 | | 2.1s | | | | 11 | | Tour de la Provence , Prologue : Marseille I.T.T. | | 0 | |
| 4/02/2024 | | NC4 | | | | 1 | | National Championships South Africa (Meyerton) R.R. | | 30 | |
| 2/02/2024 | | NCT4 | | | | 1 | | National Championships South Africa (Meyerton) I.T.T. | | 15 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13/10/2023 | | 2.1s | | | | DNF | | Presidential Tour of Turkey, Stage 6 : Bodrum - Selcuk | | 0 | |
| 12/10/2023 | | 2.1s | | | | 7 | | Presidential Tour of Turkey, Stage 5 : Marmaris - Bodrum | | 0 | |
| 5/10/2023 | | 1.1 | | | | 40 | | Paris - Bourges | | 0 | |
| 3/10/2023 | | 1.1 | | | | 62 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke | | 0 | |
| 13/09/2023 | | 1.PS | | | | 50 | | GP de Wallonie | | 0 | |
| 10/09/2023 | | 1.PS | | | | 38 | | GP de Fourmies | | 0 | |
| 27/08/2023 | | 2.WT2 | | | | 93 | | Renewi Tour | | 5 | |
| 27/08/2023 | | 2.WT2s | | | | 79 | | Renewi Tour, Stage 5 : Riemst - Bilzen | | 0 | |
| 26/08/2023 | | 2.WT2s | | | | 47 | | Renewi Tour, Stage 4 : Beringen - Peer | | 0 | |
| 25/08/2023 | | 2.WT2s | | | | 124 | | Renewi Tour, Stage 3 : Aalter - Geraardsbergen | | 0 | |
| 24/08/2023 | | 2.WT2s | | | | 32 | | Renewi Tour, Stage 2 : Sluis - Sluis I.T.T. | | 0 | |
| 23/08/2023 | | 2.WT2s | | | | 30 | | Renewi Tour, Stage 1 : Blankenberge - Ardooie | | 0 | |
| 19/08/2023 | | 2.PS | | | | 53 | | Vuelta a Burgos | | 0 | |
| 16/08/2023 | | 2.PSs | | | | 5 | | Vuelta a Burgos, Stage 2 : Oña - Poza de la Sal T.T.T. | | 0 | |
| 11/08/2023 | | WCTT | | | | 22 | | World Championships (Stirling) I.T.T. | | 13 | |
| 6/08/2023 | | WCRR | | | | DNF | | World Championships (Glasgow) R.R. | | 0 | |
| 27/07/2023 | | 2.1 | | | | 21 | | Vuelta a Castilla y Leon | | 4 | |
| 27/07/2023 | | 2.1s | | | | 5 | | Vuelta a Castilla y Leon, Stage 2 : Coca - Segovia | | 0 | |
| 25/07/2023 | | 1.1 | | | | 75 | | Prueba Villafranca - Ordiziako Klasika | | 0 | |
| 6/07/2023 | | 2.1 | | | | 42 | | Österreich-Rundfahrt / Tour of Austria | | 0 | |
| 2/07/2023 | | 2.1s | | | | 18 | | Österreich-Rundfahrt / Tour of Austria, Stage 1 : Dornbirn - Dornbirn | | 0 | |
| 28/05/2023 | | GT2 | | | | 68 | | Giro d’Italia | | 15 | |
| 28/05/2023 | | GT2s | | | | 112 | | Giro d’Italia, Stage 21 : Roma - Roma | | 0 | |
| 27/05/2023 | | GT2s | | | | 48 | | Giro d’Italia, Stage 20 : Tarvisio - Monte Lussari | | 0 | |
| 26/05/2023 | | GT2s | | | | 61 | | Giro d’Italia, Stage 19 : Longarone - Tre Cime di Lavaredo | | 0 | |
| 25/05/2023 | | GT2s | | | | 53 | | Giro d’Italia, Stage 18 : Oderzo - Val di Zoldo | | 0 | |
| 24/05/2023 | | GT2s | | | | 21 | | Giro d’Italia, Stage 17 : Pergine Valsugana - Caorle | | 0 | |
| 23/05/2023 | | GT2s | | | | 70 | | Giro d’Italia, Stage 16 : Sabbio Chiese - Monte Bondone | | 0 | |
| 21/05/2023 | | GT2s | | | | 71 | | Giro d’Italia, Stage 15 : Seregno - Bergamo | | 0 | |
| 20/05/2023 | | GT2s | | | | 40 | | Giro d’Italia, Stage 14 : Sierre - Cassano Magnago | | 0 | |
| 19/05/2023 | | GT2s | | | | 60 | | Giro d’Italia, Stage 13 : Le Châble - Crans Montana | | 0 | |
| 18/05/2023 | | GT2s | | | | 99 | | Giro d’Italia, Stage 12 : Bra - Rivoli | | 0 | |
| 17/05/2023 | | GT2s | | | | 22 | | Giro d’Italia, Stage 11 : Camaiore - Tortona | | 0 | |
| 16/05/2023 | | GT2s | | | | 68 | | Giro d’Italia, Stage 10 : Scandiano - Viareggio | | 0 | |
| 14/05/2023 | | GT2s | | | | 29 | | Giro d’Italia, Stage 9 : Savignano sul Rubicone - Cesena I.T.T. | | 0 | |
| 13/05/2023 | | GT2s | | | | 65 | | Giro d’Italia, Stage 8 : Terni - Fossombrone | | 0 | |
| 12/05/2023 | | GT2s | | | | 80 | | Giro d’Italia, Stage 7 : Capua - Gran Sasso d'Italia | | 0 | |
| 11/05/2023 | | GT2s | | | | 17 | | Giro d’Italia, Stage 6 : Napoli - Napoli | | 0 | |
| 10/05/2023 | | GT2s | | | | 17 | | Giro d’Italia, Stage 5 : Atripalda - Salerno | | 0 | |
| 9/05/2023 | | GT2s | | | | 123 | | Giro d’Italia, Stage 4 : Venosa - Lago Laceno | | 0 | |
| 8/05/2023 | | GT2s | | | | 69 | | Giro d’Italia, Stage 3 : Vasto - Melfi | | 0 | |
| 7/05/2023 | | GT2s | | | | 14 | | Giro d’Italia, Stage 2 : Teramo - San Salvo | | 0 | |
| 6/05/2023 | | GT2s | | | | 40 | | Giro d’Italia, Stage 1 : Fossacesia Marina - Ortona I.T.T. | | 0 | |
| 1/05/2023 | | 1.WT3 | | | | 38 | | Eschborn - Frankfurt | | 5 | |
| 16/04/2023 | | 1.WT2 | | | | DNF | | Amstel Gold Race | | 0 | |
| 9/04/2023 | | 1.WT1 | | | | 88 | | Paris - Roubaix | | 5 | |
| 29/03/2023 | | 1.WT3 | | | | 107 | | Dwars door Vlaanderen | | 5 | |
| 24/03/2023 | | 1.WT2 | | | | DNF | | E3 Saxo Bank Classic | | 0 | |
| 22/03/2023 | | 1.WT3 | | | | 51 | | Classic Brugge - De Panne | | 5 | |
| 17/03/2023 | | 1.PS | | | | 56 | | Bredene Koksijde Classic | | 0 | |
| 16/03/2023 | | 1.PS | | | | 35 | | GP de Denain - Porte du Hainaut | | 0 | |
| 15/03/2023 | | 1.PS | | | | 21 | | Nokere Koerse | | 5 | |
| 1/03/2023 | | 1.PS | | | | 21 | | Trofeo Laigueglia | | 5 | |
| 25/02/2023 | | 1.PS | | | | 68 | | Faun Ardèche Classic | | 0 | |
| 15/02/2023 | | 2.PS | | | | 51 | | Tour of Oman | | 0 | |
| 10/02/2023 | | 1.1 | | | | 51 | | Muscat Classic | | 0 | |
| 3/02/2023 | | 2.1 | | | | 28 | | Saudi Tour | | 3 | |
| 2/02/2023 | | 2.1s | | | | 13 | | Saudi Tour, Stage 4 : Maraya - Harrat Uwayrid | | 0 | |
| 31/01/2023 | | 2.1s | | | | 7 | | Saudi Tour, Stage 2 : Winter Park - Shalal | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26/09/2021 | | WCRR | | | | DNF | | World Championships (Leuven) R.R. | | 0 | |
| 19/09/2021 | | WCTT | | | | 19 | | World Championships (Knokke-Heist - Brugge) I.T.T. | | 19 | |
| 5/09/2021 | | GT2s | | | | 40 | | Vuelta a España, Stage 21 : Padron - Santiago de Compostela | | 0 | |
| 5/09/2021 | | GT2 | | | | 36 | | Vuelta a España | | 32 | |
| 4/09/2021 | | GT2s | | | | 8 | | Vuelta a España, Stage 20 : Sanxenxo - Castro de Herville | | 3 | |
| 3/09/2021 | | GT2s | | | | 37 | | Vuelta a España, Stage 19 : Tapia - Monforte de Lemos | | 0 | |
| 2/09/2021 | | GT2s | | | | 47 | | Vuelta a España, Stage 18 : Salas - Altu d'el Gamoniteiru | | 0 | |
| 1/09/2021 | | GT2s | | | | 83 | | Vuelta a España, Stage 17 : Unquera - Lagos de Covadonga | | 0 | |
| 31/08/2021 | | GT2s | | | | 18 | | Vuelta a España, Stage 16 : Laredo - Santa Cruz de Bezana | | 0 | |
| 29/08/2021 | | GT2s | | | | 43 | | Vuelta a España, Stage 15 : Navalmoral de la Mata - El Barraco | | 0 | |
| 28/08/2021 | | GT2s | | | | 11 | | Vuelta a España, Stage 14 : Don Benito - Pico Villuercas | | 0 | |
| 27/08/2021 | | GT2s | | | | 40 | | Vuelta a España, Stage 13 : Belmez - Villanueva de la Serena | | 0 | |
| 26/08/2021 | | GT2s | | | | 70 | | Vuelta a España, Stage 12 : Jaen - Cordoba | | 0 | |
| 25/08/2021 | | GT2s | | | | 65 | | Vuelta a España, Stage 11 : Antequera - Valdepeñas de Jaen | | 0 | |
| 24/08/2021 | | GT2s | | | | 84 | | Vuelta a España, Stage 10 : Roquetas de Mar - Rincon de la Victoria | | 0 | |
| 22/08/2021 | | GT2s | | | | 37 | | Vuelta a España, Stage 9 : Puerto Lumbreras - Alto de Velefique | | 0 | |
| 21/08/2021 | | GT2s | | | | 97 | | Vuelta a España, Stage 8 : Santa Pola - La Manga del Mar Menor | | 0 | |
| 20/08/2021 | | GT2s | | | | 94 | | Vuelta a España, Stage 7 : Gandia - Balcon de Alicante | | 0 | |
| 19/08/2021 | | GT2s | | | | 50 | | Vuelta a España, Stage 6 : Requena - Alto de la Montaña de Cuellera | | 0 | |
| 18/08/2021 | | GT2s | | | | 98 | | Vuelta a España, Stage 5 : Tarancon - Albacete | | 0 | |
| 17/08/2021 | | GT2s | | | | 44 | | Vuelta a España, Stage 4 : El Burgo de Osma - Molna de Aragon | | 0 | |
| 16/08/2021 | | GT2s | | | | 109 | | Vuelta a España, Stage 3 : Santo Domingo de Silos - Pico Blanco | | 0 | |
| 15/08/2021 | | GT2s | | | | 175 | | Vuelta a España, Stage 2 : Caleruega - Burgos | | 0 | |
| 14/08/2021 | | GT2s | | | | 17 | | Vuelta a España, Stage 1 : Burgos - Burgos I.T.T. | | 0 | |
| 24/07/2021 | | WCRR | | | | DNF | | Olympic Games (Tokyo) - R.R. | | 0 | |
| 18/07/2021 | | 2.1 | | | | 18 | | Settimana Ciclistica Italiana | | 7 | |
| 13/06/2021 | | 2.WT1 | | | | 29 | | Tour de Suisse | | 7 | |
| 13/06/2021 | | 2.WT1s | | | | 28 | | Tour de Suisse, Stage 8 : Andermatt - Andermatt | | 0 | |
| 12/06/2021 | | 2.WT1s | | | | 38 | | Tour de Suisse, Stage 7 : Disentis-Sedrun - Andermatt I.T.T. | | 0 | |
| 11/06/2021 | | 2.WT1s | | | | 46 | | Tour de Suisse, Stage 6 : Fiesch - Disentis-Sedrun | | 0 | |
| 10/06/2021 | | 2.WT1s | | | | 48 | | Tour de Suisse, Stage 5 : Gstaad - Leukerbad | | 0 | |
| 9/06/2021 | | 2.WT1s | | | | 29 | | Tour de Suisse, Stage 4 : St. Urban - Gstaad | | 0 | |
| 8/06/2021 | | 2.WT1s | | | | 102 | | Tour de Suisse, Stage 3 : Lachen - Pfaffnau | | 0 | |
| 7/06/2021 | | 2.WT1s | | | | 70 | | Tour de Suisse, Stage 2 : Neuhausen am Rheinfall - Lachen | | 0 | |
| 6/06/2021 | | 2.WT1s | | | | 33 | | Tour de Suisse, Stage 1 : Frauenfeld - Frauenfeld I.T.T. | | 0 | |
| 4/06/2021 | | 1.1 | | | | 18 | | GP Kanton Aargau - Gippingen | | 5 | |
| 23/05/2021 | | 1.1 | | | | 5 | | Vuelta a Murcia | | 32 | |
| 22/05/2021 | | 2.PS | | | | 12 | | Vuelta a Andalucia / Ruta Del Sol | | 29 | |
| 22/05/2021 | | 2.PSs | | | | 13 | | Vuelta a Andalucia / Ruta Del Sol, Stage 5 : Vera - Pulpi | | 0 | |
| 21/05/2021 | | 2.PSs | | | | 12 | | Vuelta a Andalucia / Ruta Del Sol, Stage 4 : Baza - Cullar Vega | | 0 | |
| 20/05/2021 | | 2.PSs | | | | 14 | | Vuelta a Andalucia / Ruta Del Sol, Stage 3 : Beas de Segura - Villarrodrigo | | 0 | |
| 19/05/2021 | | 2.PSs | | | | 18 | | Vuelta a Andalucia / Ruta Del Sol, Stage 2 : Iznajar - Alcala la Real | | 0 | |
| 18/05/2021 | | 2.PSs | | | | 15 | | Vuelta a Andalucia / Ruta Del Sol, Stage 1 : Mijas - Zahara de la Sierra | | 0 | |
| 16/05/2021 | | 1.1 | | | | 32 | | Trofeo Alcudia | | 0 | |
| 15/05/2021 | | 1.1 | | | | 13 | | Trofeo Port d'Andratx - Mirador des Colomer | | 8 | |
| 14/05/2021 | | 1.1 | | | | 11 | | Trofeo Serra de Tramuntana | | 10 | |
| 13/05/2021 | | 1.1 | | | | 1 | | Trofeo Calvia | | 80 | |
| 9/05/2021 | | 2.PS | | | | 31 | | Volta ao Algarve | | 5 | |
| 8/05/2021 | | 2.PSs | | | | 7 | | Volta ao Algarve, Stage 4 : Lagoa - Lagoa I.T.T. | | 0 | |
| 7/05/2021 | | 2.PSs | | | | 10 | | Volta ao Algarve, Stage 3 : Faro - Tavira | | 0 | |
| 18/04/2021 | | 1.WT2 | | | | 71 | | Amstel Gold Race | | 5 | |
| 14/04/2021 | | 1.PS | | | | 52 | | Brabantse Pijl | | 0 | |
| 7/04/2021 | | 1.PS | | | | 59 | | Scheldeprijs | | 0 | |
| 4/04/2021 | | 1.WT1 | | | | 64 | | Ronde van Vlaanderen | | 5 | |
| 31/03/2021 | | 1.WT3 | | | | 24 | | Dwars door Vlaanderen | | 7 | |
| 28/03/2021 | | 1.WT2 | | | | 39 | | Gent - Wevelgem | | 5 | |
| 26/03/2021 | | 1.WT2 | | | | 71 | | E3 Saxo Bank Classic | | 5 | |
| 24/03/2021 | | 1.WT3 | | | | 37 | | Driedaagse Brugge - De Panne | | 5 | |
| 21/03/2021 | | NC3 | | | | 8 | | National Championships South Africa (Swellendam) R.R. | | 10 | |
| 19/03/2021 | | NCT3 | | | | 1 | | National Championships South Africa (Swellendam) I.T.T. | | 30 | |
| 6/03/2021 | | CC2 | | | | 1 | | African Cycling Championships (Cairo) R.R. | | 40 | |
| 4/03/2021 | | CCT2 | | | | 1 | | African Cycling Championships (Cairo) Mixed Relay T.T.T. | | 5 | |
| 3/03/2021 | | CCT2 | | | | 1 | | African Cycling Championships (Cairo) I.T.T. | | 20 | |
| 2/03/2021 | | CCT2 | | | | 1 | | African Cycling Championships (Cairo) T.T.T. | | 5 | |
| 28/02/2021 | | 1.PS | | | | 83 | | Kuurne - Brussel - Kuurne | | 0 | |
| 27/02/2021 | | 1.WT3 | | | | 136 | | Omloop Het Nieuwsblad | | 5 | |
| 21/02/2021 | | 2.1 | | | | 42 | | Tour des Alpes-Maritimes et du Var | | 0 | |
| 31/01/2021 | | 1.1 | | | | 17 | | GP La Marseillaise | | 5 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20/09/2020 | | GT1 | | | | 121 | | Tour de France | | 20 | |
| 20/09/2020 | | GT1s | | | | 82 | | Tour de France, Stage 21 : Mantes-la-Jolie - Paris | | 0 | |
| 19/09/2020 | | GT1s | | | | 56 | | Tour de France, Stage 20 : Lure - La Planche des Belles Filles I.T.T. | | 0 | |
| 18/09/2020 | | GT1s | | | | 38 | | Tour de France, Stage 19 : Bourg-en-Bresse - Champagnole | | 0 | |
| 17/09/2020 | | GT1s | | | | 113 | | Tour de France, Stage 18 : Méribel - La Roche-sur-Foron | | 0 | |
| 16/09/2020 | | GT1s | | | | 53 | | Tour de France, Stage 17 : Grenoble - Méribel/Col de la Loze | | 0 | |
| 15/09/2020 | | GT1s | | | | 71 | | Tour de France, Stage 16 : La Tour-du-Pin - Villard-de-Lans | | 0 | |
| 13/09/2020 | | GT1s | | | | 103 | | Tour de France, Stage 15 : Lyon - Grand-Colombier | | 0 | |
| 12/09/2020 | | GT1s | | | | 116 | | Tour de France, Stage 14 : Clermont-Ferrand - Lyon | | 0 | |
| 11/09/2020 | | GT1s | | | | 108 | | Tour de France, Stage 13 : Châtel-Guyon - Puy Mary | | 0 | |
| 10/09/2020 | | GT1s | | | | 97 | | Tour de France, Stage 12 : Chauvigny - Sarran | | 0 | |
| 9/09/2020 | | GT1s | | | | 10 | | Tour de France, Stage 11 : Châtelaillon-Plage - Poitiers | | 1 | |
| 8/09/2020 | | GT1s | | | | 23 | | Tour de France, Stage 10 : Ile d'Oloron - Ile-de-Ré | | 0 | |
| 6/09/2020 | | GT1s | | | | 117 | | Tour de France, Stage 9 : Pau - Laruns | | 0 | |
| 5/09/2020 | | GT1s | | | | 116 | | Tour de France, Stage 8 : Cazères - Loudenvielle | | 0 | |
| 4/09/2020 | | GT1s | | | | 138 | | Tour de France, Stage 7 : Millau - Lavaur | | 0 | |
| 3/09/2020 | | GT1s | | | | 130 | | Tour de France, Stage 6 : Le Teil - Mont-Aigoual | | 0 | |
| 2/09/2020 | | GT1s | | | | 112 | | Tour de France, Stage 5 : Gap - Privas | | 0 | |
| 1/09/2020 | | GT1s | | | | 112 | | Tour de France, Stage 4 : Sisteron - Orcières-Merlette | | 0 | |
| 31/08/2020 | | GT1s | | | | 70 | | Tour de France, Stage 3 : Nice - Sisteron | | 0 | |
| 30/08/2020 | | GT1s | | | | 150 | | Tour de France, Stage 2 : Nice - Nice | | 0 | |
| 29/08/2020 | | GT1s | | | | 40 | | Tour de France, Stage 1 : Nice - Nice | | 0 | |
| 18/08/2020 | | 2.PSs | | | | DNF | | Tour de Wallonie, Stage 3 : Montzen - Visé | | 0 | |
| 16/08/2020 | | 2.PSs | | | | 13 | | Tour de Wallonie, Stage 1 : Soignies - Templeuve | | 0 | |
| 9/08/2020 | | 2.WT2r | | | | 3 | | Tour de Pologne, Points classification | | 14 | |
| 9/08/2020 | | 2.WT2 | | | | 82 | | Tour de Pologne | | 5 | |
| 9/08/2020 | | 2.WT2s | | | | 4 | | Tour de Pologne, Stage 5 : Zakopane - Krakow | | 8 | |
| 8/08/2020 | | 2.WT2s | | | | 119 | | Tour de Pologne, Stage 4 : Bukovina Tatranska - Bukowina Tatrzanska | | 0 | |
| 7/08/2020 | | 2.WT2s | | | | 8 | | Tour de Pologne, Stage 3 : Wadowice - Bielsko Biala | | 1 | |
| 6/08/2020 | | 2.WT2s | | | | 22 | | Tour de Pologne, Stage 2 : Opole - Zabrze | | 0 | |
| 5/08/2020 | | 2.WT2s | | | | 5 | | Tour de Pologne, Stage 1 : Stadion Slaski - Spodek Katowice | | 4 | |
| 15/03/2020 | | 2.WT1 | | | | 47 | | Paris - Nice | | 5 | |
| 14/03/2020 | | 2.WT1s | | | | 40 | | Paris - Nice, Stage 7 : Nice - Valdeblore La Colmiane | | 0 | |
| 13/03/2020 | | 2.WT1s | | | | 68 | | Paris - Nice, Stage 6 : Sorgues - Apt | | 0 | |
| 12/03/2020 | | 2.WT1s | | | | 36 | | Paris - Nice, Stage 5 : Gannat - La Côte-Saint-André | | 0 | |
| 11/03/2020 | | 2.WT1s | | | | 51 | | Paris - Nice, Stage 4 : Saint-Amand-Montrond - Saint-Amand-Montrond I.T.T. | | 0 | |
| 10/03/2020 | | 2.WT1s | | | | 63 | | Paris - Nice, Stage 3 : Chalette-sur-Loing - La Châtre | | 0 | |
| 9/03/2020 | | 2.WT1s | | | | 35 | | Paris - Nice, Stage 2 : Chevreuse - Chalette-sur-Loing | | 0 | |
| 8/03/2020 | | 2.WT1s | | | | 63 | | Paris - Nice, Stage 1 : Plaisir - Plaisir | | 0 | |
| 29/02/2020 | | 1.PS | | | | 36 | | Ardèche Classic | | 0 | |
| 9/02/2020 | | NC3 | | | | 1 | | National Championships South Africa (Swadini) R.R. | | 60 | |
| 2/02/2020 | | 1.WT3 | | | | 55 | | Cadel Evans Great Ocean Road Race | | 5 | |
| 30/01/2020 | | 1.1 | | | | 20 | | Race Torquay | | 5 | |
| 26/01/2020 | | 2.WT1 | | | | 26 | | Tour Down Under | | 10 | |
| 26/01/2020 | | 2.WT1s | | | | 38 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 0 | |
| 25/01/2020 | | 2.WT1s | | | | 11 | | Tour Down Under, Stage 5 : Glenelg - Victor Harbor | | 0 | |
| 24/01/2020 | | 2.WT1s | | | | 47 | | Tour Down Under, Stage 4 : Norwood - Murray Bridge | | 0 | |
| 23/01/2020 | | 2.WT1s | | | | 41 | | Tour Down Under, Stage 3 : Unley - Paracombe | | 0 | |
| 22/01/2020 | | 2.WT1s | | | | 107 | | Tour Down Under, Stage 2 : Woodside - Stirling | | 0 | |
| 21/01/2020 | | 2.WT1s | | | | 18 | | Tour Down Under, Stage 1 : Tanunda - Tanunda | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15/09/2019 | | 1.WT2 | | | | 91 | | GP de Montréal | | 5 | |
| 13/09/2019 | | 1.WT2 | | | | 85 | | GP de Québec | | 5 | |
| 1/09/2019 | | 1.WT2 | | | | DNF | | Bretagne Classic - Ouest-France | | 0 | |
| 29/08/2019 | | XX | | | | 2 | | All-Africa Games (Rabat) R.R. | | 0 | |
| 26/08/2019 | | XX | | | | 1 | | All-Africa Games (Rabat) I.T.T. | | 0 | |
| 24/08/2019 | | XX | | | | 1 | | All-Africa Games (Rabat) T.T.T. | | 0 | |
| 18/08/2019 | | 2.WT2 | | | | 65 | | BinckBank Tour | | 5 | |
| 18/08/2019 | | 2.WT2s | | | | 71 | | BinckBank Tour, Stage 7 : Sint-Pieters-Leeuw - Geraardsbergen | | 0 | |
| 17/08/2019 | | 2.WT2s | | | | 40 | | BinckBank Tour, Stage 6 : Den Haag I.T.T. | | 0 | |
| 16/08/2019 | | 2.WT2s | | | | 12 | | BinckBank Tour, Stage 5 : Riemst (BEL) - Venray | | 0 | |
| 15/08/2019 | | 2.WT2s | | | | 100 | | BinckBank Tour, Stage 4 : Houffalize - Houffalize | | 0 | |
| 14/08/2019 | | 2.WT2s | | | | 28 | | BinckBank Tour, Stage 3 : Aalter - Aalter | | 0 | |
| 13/08/2019 | | 2.WT2s | | | | 26 | | BinckBank Tour, Stage 2 : Blankenberge - Ardooie | | 0 | |
| 12/08/2019 | | 2.WT2s | | | | 19 | | BinckBank Tour, Stage 1 : Beveren (BEL) - Hulst | | 0 | |
| 4/08/2019 | | 1.WT3 | | | | 18 | | Ride London - Surrey Classic | | 14 | |
| 28/07/2019 | | 2.1 | | | | 79 | | Adriatica Ionica Race | | 0 | |
| 28/07/2019 | | 2.1s | | | | 10 | | Adriatica Ionica Race, Stage 4 : Cormons - Trieste | | 0 | |
| 2/06/2019 | | GT2 | | | | 91 | | Giro d'Italia | | 15 | |
| 2/06/2019 | | GT2s | | | | 86 | | Giro d'Italia, Stage 21 : Verona - Verona I.T.T. | | 0 | |
| 1/06/2019 | | GT2s | | | | 109 | | Giro d'Italia, Stage 20 : Feltre - Croce d'Aune/Monte Avena | | 0 | |
| 31/05/2019 | | GT2s | | | | 92 | | Giro d'Italia, Stage 19 : Treviso - San Martino di Castrozza | | 0 | |
| 30/05/2019 | | GT2s | | | | 5 | | Giro d'Italia, Stage 18 : Valdaora - Santa Maria di Sala | | 10 | |
| 29/05/2019 | | GT2s | | | | 98 | | Giro d'Italia, Stage 17 : Commezzadura - Anterselva | | 0 | |
| 28/05/2019 | | GT2s | | | | 92 | | Giro d'Italia, Stage 16 : Lovere - Ponte di Legno | | 0 | |
| 26/05/2019 | | GT2s | | | | 107 | | Giro d'Italia, Stage 15 : Ivrea - Como | | 0 | |
| 25/05/2019 | | GT2s | | | | 106 | | Giro d'Italia, Stage 14 : Saint-Vincent - Courmayeur | | 0 | |
| 24/05/2019 | | GT2s | | | | 91 | | Giro d'Italia, Stage 13 : Pinerolo - Ceresole Reale/Lago Serru | | 0 | |
| 23/05/2019 | | GT2s | | | | 119 | | Giro d'Italia, Stage 12 : Cuneo - Pinerolo | | 0 | |
| 22/05/2019 | | GT2s | | | | 7 | | Giro d'Italia, Stage 11 : Carpi - Novi Ligure | | 5 | |
| 21/05/2019 | | GT2s | | | | 136 | | Giro d'Italia, Stage 10 : Ravenna - Modena | | 0 | |
| 19/05/2019 | | GT2s | | | | 81 | | Giro d'Italia, Stage 9 : Riccione - San Marino (SMR) I.T.T. | | 0 | |
| 18/05/2019 | | GT2s | | | | 76 | | Giro d'Italia, Stage 8 : Tortoredo Lido - Pesaro | | 0 | |
| 17/05/2019 | | GT2s | | | | 84 | | Giro d'Italia, Stage 7 : Vasto - L'Aquila | | 0 | |
| 16/05/2019 | | GT2s | | | | 40 | | Giro d'Italia, Stage 6 : Cassino - San Giovanni Rotondo | | 0 | |
| 15/05/2019 | | GT2s | | | | 6 | | Giro d'Italia, Stage 5 : Frascati - Terracina | | 7 | |
| 14/05/2019 | | GT2s | | | | 39 | | Giro d'Italia, Stage 4 : Orbetello - Frascati | | 0 | |
| 13/05/2019 | | GT2s | | | | 103 | | Giro d'Italia, Stage 3 : Vinci - Orbetello | | 0 | |
| 12/05/2019 | | GT2s | | | | 11 | | Giro d'Italia, Stage 2 : Bologna - Fucecchio | | 0 | |
| 11/05/2019 | | GT2s | | | | 107 | | Giro d'Italia, Stage 1 : Bologna - San Luca I.T.T. | | 0 | |
| 1/05/2019 | | 1.WT3 | | | | 49 | | Rund um den Finanzplatz Eschborn - Frankfurt | | 5 | |
| 21/04/2019 | | 2.WT3 | | | | 41 | | Presidential Tour of Turkey | | 5 | |
| 21/04/2019 | | 2.WT3s | | | | 40 | | Presidential Tour of Turkey, Stage 6 : Sakarya - Istanbul | | 0 | |
| 20/04/2019 | | 2.WT3s | | | | 53 | | Presidential Tour of Turkey, Stage 5 : Bursa - Kartepe Kayak Merkezi | | 0 | |
| 19/04/2019 | | 2.WT3s | | | | 25 | | Presidential Tour of Turkey, Stage 4 : Balikesir - Bursa | | 0 | |
| 18/04/2019 | | 2.WT3s | | | | 69 | | Presidential Tour of Turkey, Stage 3 : Çanakkale - Edremit | | 0 | |
| 17/04/2019 | | 2.WT3s | | | | 40 | | Presidential Tour of Turkey, Stage 2 : Tekirdag - Eceabat | | 0 | |
| 16/04/2019 | | 2.WT3s | | | | 36 | | Presidential Tour of Turkey, Stage 1 : Istanbul - Tekirdag | | 0 | |
| 31/03/2019 | | 2.WT2s | | | | DNF | | Volta a Catalunya, Stage 7 : Barcelona - Barcelona | | 0 | |
| 30/03/2019 | | 2.WT2s | | | | 7 | | Volta a Catalunya, Stage 6 : Valls - Vilaseca | | 2 | |
| 29/03/2019 | | 2.WT2s | | | | 3 | | Volta a Catalunya, Stage 5 : Puigcerda - Sant Cugat | | 14 | |
| 28/03/2019 | | 2.WT2s | | | | 119 | | Volta a Catalunya, Stage 4 : Llanars - La Molina | | 0 | |
| 27/03/2019 | | 2.WT2s | | | | 140 | | Volta a Catalunya, Stage 3 : Sant Feliu de Guixols - Setcases/Vallter 2000 | | 0 | |
| 26/03/2019 | | 2.WT2s | | | | 46 | | Volta a Catalunya, Stage 2 : Mataro - Sant Feliu de Guixols | | 0 | |
| 25/03/2019 | | 2.WT2s | | | | 127 | | Volta a Catalunya, Stage 1 : Calella - Calella | | 0 | |
| 19/03/2019 | | CC2 | | | | 4 | | African Cycling Championships (Sebat Amit) R.R. | | 16 | |
| 17/03/2019 | | CCT2 | | | | 3 | | African Cycling Championships (Sebat Amit - Debre Mayi) I.T.T. | | 10 | |
| 21/02/2019 | | 2.HC | | | | 15 | | Tour of Oman | | 22 | |
| 21/02/2019 | | 2.HCs | | | | 5 | | Tour of Oman, Stage 6 : Muscat - Muttrah Corniche | | 3 | |
| 20/02/2019 | | 2.HCs | | | | 20 | | Tour of Oman, Stage 5 : Samail - Jabal Al Akhdhar (Green Mountain) | | 0 | |
| 19/02/2019 | | 2.HCs | | | | 4 | | Tour of Oman, Stage 4 : As Sifah - Muscat | | 5 | |
| 18/02/2019 | | 2.HCs | | | | 10 | | Tour of Oman, Stage 3 : Shati al Qurum - Quriyat | | 0 | |
| 17/02/2019 | | 2.HCs | | | | 3 | | Tour of Oman, Stage 2 : Al Seeb - Al Bustan | | 10 | |
| 16/02/2019 | | 2.HCs | | | | 20 | | Tour of Oman, Stage 1 : Sohar - Suwadi Al Batha | | 0 | |
| 10/02/2019 | | NC3 | | | | 2 | | National Championships South Africa (Tshwane) R.R. | | 36 | |
| 27/01/2019 | | 1.WT3 | | | | 4 | | Cadel Evans Great Ocean Road Race | | 78 | |
| 20/01/2019 | | 2.WT1 | | | | 11 | | Tour Down Under | | 60 | |
| 20/01/2019 | | 2.WT1s | | | | 12 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 0 | |
| 19/01/2019 | | 2.WT1s | | | | 8 | | Tour Down Under, Stage 5 : Glenelg - Strathalbyn | | 1 | |
| 18/01/2019 | | 2.WT1s | | | | 12 | | Tour Down Under, Stage 4 : Unley - Campbelltown | | 0 | |
| 17/01/2019 | | 2.WT1s | | | | 12 | | Tour Down Under, Stage 3 : Lobethal - Uraidla | | 0 | |
| 16/01/2019 | | 2.WT1s | | | | 31 | | Tour Down Under, Stage 2 : Norwood - Angaston | | 0 | |
| 15/01/2019 | | 2.WT1s | | | | 5 | | Tour Down Under, Stage 1 : Barnsley - Bedale | | 5 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22/09/2018 | | 1.HC | | | | 26 | | Tour de l'Eurométropole | | 5 | |
| 16/09/2018 | | GT2 | | | | 82 | | Vuelta a España | | 15 | |
| 16/09/2018 | | GT2s | | | | 10 | | Vuelta a España, Stage 21 : Alcoron - Madrid | | 1 | |
| 15/09/2018 | | GT2s | | | | 76 | | Vuelta a España, Stage 20 : Escaldes-Engordany (AND) - Collada de La Gallina (AND) | | 0 | |
| 14/09/2018 | | GT2s | | | | 54 | | Vuelta a España, Stage 19 : Lleida - Coll de la Rabassa (AND) | | 0 | |
| 13/09/2018 | | GT2s | | | | 10 | | Vuelta a España, Stage 18 : Ejea de los Caballeros - Lleida | | 1 | |
| 12/09/2018 | | GT2s | | | | 126 | | Vuelta a España, Stage 17 : Getxo - Balcon de Bizkaia | | 0 | |
| 11/09/2018 | | GT2s | | | | 38 | | Vuelta a España, Stage 16 : Santillana del Mar - Torrelavega I.T.T. | | 0 | |
| 9/09/2018 | | GT2s | | | | 91 | | Vuelta a España, Stage 15 : Ribera de Arriba - Lagos de Covadonga | | 0 | |
| 8/09/2018 | | GT2s | | | | 71 | | Vuelta a España, Stage 14 : Cistierna - Nava/Alto Les Praeres | | 0 | |
| 7/09/2018 | | GT2s | | | | 108 | | Vuelta a España, Stage 13 : Candas Carreño - Alto de La Camperona | | 0 | |
| 6/09/2018 | | GT2s | | | | 26 | | Vuelta a España, Stage 12 : Mondoñedo - Faro de Estaca de Bares | | 0 | |
| 5/09/2018 | | GT2s | | | | 93 | | Vuelta a España, Stage 11 : Mombuey - Luinta | | 0 | |
| 4/09/2018 | | GT2s | | | | 15 | | Vuelta a España, Stage 10 : Salamanca - Bermillo de Sayago | | 0 | |
| 2/09/2018 | | GT2s | | | | 110 | | Vuelta a España, Stage 9 : Talavera de la Reina - La Covatilla | | 0 | |
| 1/09/2018 | | GT2s | | | | 41 | | Vuelta a España, Stage 8 : Linares - Almaden | | 0 | |
| 31/08/2018 | | GT2s | | | | 31 | | Vuelta a España, Stage 7 : Puerto Lumbreras - Pozo Alcon | | 0 | |
| 30/08/2018 | | GT2s | | | | 58 | | Vuelta a España, Stage 6 : Huercal-Overa - San Javier/Mar Menor | | 0 | |
| 29/08/2018 | | GT2s | | | | 38 | | Vuelta a España, Stage 5 : Granada - Roquetas de Mar | | 0 | |
| 28/08/2018 | | GT2s | | | | 91 | | Vuelta a España, Stage 4 : Velez Malaga - Sierra de la Alfaguara | | 0 | |
| 27/08/2018 | | GT2s | | | | 9 | | Vuelta a España, Stage 3 : Mijas - Alhaurin de la Torre | | 2 | |
| 26/08/2018 | | GT2s | | | | 68 | | Vuelta a España, Stage 2 : Marbella - Caminito del Rey | | 0 | |
| 25/08/2018 | | GT2s | | | | 47 | | Vuelta a España, Stage 1 : Malaga I.T.T. | | 0 | |
| 18/08/2018 | | 2.WT2s | | | | DNS | | BinckBank Tour, Stage 6 : Riemst (BEL) - Sittard | | 0 | |
| 17/08/2018 | | 2.WT2s | | | | 11 | | BinckBank Tour, Stage 5 : Sint-Pieters-Leeuw - Lanaken | | 0 | |
| 16/08/2018 | | 2.WT2s | | | | 7 | | BinckBank Tour, Stage 4 : Blankenberge - Ardooie | | 2 | |
| 15/08/2018 | | 2.WT2s | | | | 13 | | BinckBank Tour, Stage 3 : Aalter - Antwerpen | | 0 | |
| 14/08/2018 | | 2.WT2s | | | | 59 | | BinckBank Tour, Stage 2 : Venray - Venray I.T.T. | | 0 | |
| 13/08/2018 | | 2.WT2s | | | | 19 | | BinckBank Tour, Stage 1 : Heerenveen - Bolsward | | 0 | |
| 1/08/2018 | | 2.HC | | | | 68 | | Tour de Wallonie | | 0 | |
| 1/08/2018 | | 2.HCs | | | | 3 | | Tour de Wallonie, Stage 5 : Huy - Waremme | | 10 | |
| 28/07/2018 | | 2.HCs | | | | 16 | | Tour de Wallonie, Stage 1 : La Louvière - Les Bons Villers | | 0 | |
| 26/07/2018 | | 1.1 | | | | 25 | | GP Pino Cerami | | 0 | |
| 24/06/2018 | | 2.1 | | | | 84 | | 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 | |
| 27/05/2018 | | GT2 | | | | 84 | | Giro d'Italia | | 15 | |
| 27/05/2018 | | GT2s | | | | 14 | | Giro d'Italia, Stage 21 : Roma - Roma | | 0 | |
| 26/05/2018 | | GT2s | | | | 89 | | Giro d'Italia, Stage 20 : Susa - Cervinia | | 0 | |
| 25/05/2018 | | GT2s | | | | 112 | | Giro d'Italia, Stage 19 : Venaria Reale - Bardonecchia/Jafferau | | 0 | |
| 24/05/2018 | | GT2s | | | | 54 | | Giro d'Italia, Stage 18 : Abbiategrasso - Prato Nevoso | | 0 | |
| 23/05/2018 | | GT2s | | | | 11 | | Giro d'Italia, Stage 17 : Riva del Garda - Iseo | | 0 | |
| 22/05/2018 | | GT2s | | | | 48 | | Giro d'Italia, Stage 16 : Trento - Rovereto I.T.T. | | 0 | |
| 20/05/2018 | | GT2s | | | | 91 | | Giro d'Italia, Stage 15 : Tolmezzo - Sappada | | 0 | |
| 19/05/2018 | | GT2s | | | | 139 | | Giro d'Italia, Stage 14 : San Vito al Tagliamento - Monte Zoncolan | | 0 | |
| 18/05/2018 | | GT2s | | | | 5 | | Giro d'Italia, Stage 13 : Ferrara - Nervesa della Battaglia | | 10 | |
| 17/05/2018 | | GT2s | | | | 16 | | Giro d'Italia, Stage 12 : Osimo - Imola | | 0 | |
| 16/05/2018 | | GT2s | | | | 48 | | Giro d'Italia, Stage 11 : Assisi - Osimo | | 0 | |
| 15/05/2018 | | GT2s | | | | 127 | | Giro d'Italia, Stage 10 : Penne - Gualdo Tadino | | 0 | |
| 13/05/2018 | | GT2s | | | | 101 | | Giro d'Italia, Stage 9 : Pesco Sannita - Gran Sasso d'Italia | | 0 | |
| 12/05/2018 | | GT2s | | | | 98 | | Giro d'Italia, Stage 8 : Praia a Mare - Montevergine di Mercogliano | | 0 | |
| 11/05/2018 | | GT2s | | | | 14 | | Giro d'Italia, Stage 7 : Pizzo - Praia a Mare | | 0 | |
| 10/05/2018 | | GT2s | | | | 104 | | Giro d'Italia, Stage 6 : Caltanissetta - Etna | | 0 | |
| 9/05/2018 | | GT2s | | | | 51 | | Giro d'Italia, Stage 5 : Agrigento - Santa Ninfa (Valle del Belice) | | 0 | |
| 8/05/2018 | | GT2s | | | | 75 | | Giro d'Italia, Stage 4 : Catania - Caltagirone | | 0 | |
| 6/05/2018 | | GT2s | | | | 40 | | Giro d'Italia, Stage 3 : Be'er Sheva (ISR) - Eilat (ISR) | | 0 | |
| 5/05/2018 | | GT2s | | | | 7 | | Giro d'Italia, Stage 2 : Tel Aviv (ISR) - Haifa (ISR) | | 5 | |
| 4/05/2018 | | GT2s | | | | 69 | | Giro d'Italia, Stage 1 : Jerusalem (ISR) I.T.T. | | 0 | |
| 8/04/2018 | | 1.WT1 | | | | OOT | | Paris - Roubaix | | 0 | |
| 1/04/2018 | | 1.WT1 | | | | DNF | | Ronde van Vlaanderen | | 0 | |
| 28/03/2018 | | 1.WT3 | | | | 96 | | Dwars door Vlaanderen | | 5 | |
| 25/03/2018 | | 1.WT2 | | | | 53 | | Gent - Wevelgem | | 5 | |
| 23/03/2018 | | 1.WT2 | | | | DNF | | E3 Harelbeke | | 0 | |
| 11/03/2018 | | 2.WT1 | | | | 71 | | Paris - Nice | | 5 | |
| 11/03/2018 | | 2.WT1s | | | | 68 | | Paris - Nice, Stage 8 : Nice - Nice | | 0 | |
| 10/03/2018 | | 2.WT1s | | | | 90 | | Paris - Nice, Stage 7 : Nice - La Colmiane | | 0 | |
| 9/03/2018 | | 2.WT1s | | | | 112 | | Paris - Nice, Stage 6 : Sisteron - Vence | | 0 | |
| 8/03/2018 | | 2.WT1s | | | | 19 | | Paris - Nice, Stage 5 : Salon-de-Provence - Sisteron | | 0 | |
| 7/03/2018 | | 2.WT1s | | | | 84 | | Paris - Nice, Stage 4 : La Fouillouse - Saint-Étienne I.T.T. | | 0 | |
| 6/03/2018 | | 2.WT1s | | | | 112 | | Paris - Nice, Stage 3 : Bourges - Châtel-Guyon | | 0 | |
| 5/03/2018 | | 2.WT1s | | | | 50 | | Paris - Nice, Stage 2 : Orsonville - Vierzon | | 0 | |
| 4/03/2018 | | 2.WT1s | | | | 83 | | Paris - Nice, Stage 1 : Chatou - Meudon | | 0 | |
| 24/02/2018 | | 1.WT3 | | | | DNF | | Omloop Het Nieuwsblad | | 0 | |
| 7/02/2018 | | NCT3 | | | | 3 | | National Championships South Africa (Oudtshoorn) I.T.T. | | 15 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24/10/2017 | | 2.WT3 | | | | 35 | | Tour of Guangxi | | 5 | |
| 24/10/2017 | | 2.WT3s | | | | 13 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 0 | |
| 23/10/2017 | | 2.WT3s | | | | 12 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 0 | |
| 22/10/2017 | | 2.WT3s | | | | 34 | | Tour of Guangxi, Stage 4 : Nanning - Mashan Nongla | | 0 | |
| 21/10/2017 | | 2.WT3s | | | | 33 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 0 | |
| 20/10/2017 | | 2.WT3s | | | | 31 | | Tour of Guangxi, Stage 2 : Qinzhou - Nanning | | 0 | |
| 19/10/2017 | | 2.WT3s | | | | 112 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 0 | |
| 3/10/2017 | | 1.HC | | | | 48 | | Münsterland Giro | | 0 | |
| 27/09/2017 | | 2.1s | | | | DNF | | Giro della Toscana - Memorial Alfredo Martini, Stage 2 : Lajatico - Volterra | | 0 | |
| 15/09/2017 | | 1.1 | | | | 108 | | Kampioenschap van Vlaanderen | | 0 | |
| 27/08/2017 | | 1.WT2 | | | | DNF | | Bretagne Classic - Ouest-France | | 0 | |
| 20/08/2017 | | 1.WT2 | | | | 91 | | EuroEyes Cyclassics - Hamburg | | 5 | |
| 13/08/2017 | | 2.WT2 | | | | 98 | | BinckBank Tour | | 5 | |
| 13/08/2017 | | 2.WT2s | | | | 112 | | BinckBank Tour, Stage 7 : Essen - Geraardsbergen | | 0 | |
| 12/08/2017 | | 2.WT2s | | | | 102 | | BinckBank Tour, Stage 6 : Riemst - Houffalize | | 0 | |
| 11/08/2017 | | 2.WT2s | | | | 84 | | BinckBank Tour, Stage 5 : Sittard - Sittard | | 0 | |
| 10/08/2017 | | 2.WT2s | | | | 12 | | BinckBank Tour, Stage 4 : Riemst - Lanaken | | 0 | |
| 9/08/2017 | | 2.WT2s | | | | 170 | | BinckBank Tour, Stage 3 : Blankenberge - Ardooie | | 0 | |
| 8/08/2017 | | 2.WT2s | | | | 141 | | BinckBank Tour, Stage 2 : Voorburg - Voorburg I.T.T. | | 0 | |
| 7/08/2017 | | 2.WT2s | | | | 26 | | BinckBank Tour, Stage 1 : Breda - Venray | | 0 | |
| 30/07/2017 | | 1.WT3 | | | | 24 | | Ride London - Surrey Classic | | 7 | |
| 9/07/2017 | | 2.1 | | | | 36 | | Österreich-Rundfahrt / Tour of Austria | | 0 | |
| 8/07/2017 | | 2.1s | | | | 3 | | Österreich-Rundfahrt / Tour of Austria, Stage 6 : St. Johann-Alpendorf - Wels | | 5 | |
| 5/07/2017 | | 2.1s | | | | 6 | | Österreich-Rundfahrt / Tour of Austria, Stage 3 : Wieselburg - Altheim | | 0 | |
| 4/07/2017 | | 2.1s | | | | 13 | | Österreich-Rundfahrt / Tour of Austria, Stage 2 : Wien - Pöggstall | | 0 | |
| 3/07/2017 | | 2.1s | | | | 8 | | Österreich-Rundfahrt / Tour of Austria, Stage 1 : Graz - Wien | | 0 | |
| 18/06/2017 | | 2.1 | | | | 84 | | Tour de Slovénie | | 0 | |
| 16/06/2017 | | 2.1s | | | | 10 | | Tour de Slovénie, Stage 2 : Ljubljana - Ljubljana | | 0 | |
| 23/05/2017 | | GT2s | | | | DNS | | Giro d'Italia, Stage 16 : Rovetta - Bormio | | 0 | |
| 21/05/2017 | | GT2s | | | | 115 | | Giro d'Italia, Stage 15 : Valdengo - Bergamo | | 0 | |
| 20/05/2017 | | GT2s | | | | 88 | | Giro d'Italia, Stage 14 : Castellania - Oropa | | 0 | |
| 19/05/2017 | | GT2s | | | | 5 | | Giro d'Italia, Stage 13 : Reggio Emilia - Tortona | | 10 | |
| 18/05/2017 | | GT2s | | | | 6 | | Giro d'Italia, Stage 12 : Forli - Reggio Emilia | | 7 | |
| 17/05/2017 | | GT2s | | | | 143 | | Giro d'Italia, Stage 11 : Firenze - Bagno di Romagna | | 0 | |
| 16/05/2017 | | GT2s | | | | 69 | | Giro d'Italia, Stage 10 : Foligno - Montefalco I.T.T. | | 0 | |
| 14/05/2017 | | GT2s | | | | 134 | | Giro d'Italia, Stage 9 : Montenero di Bisaccia - Blockhaus | | 0 | |
| 13/05/2017 | | GT2s | | | | 125 | | Giro d'Italia, Stage 8 : Molfetta - Peschici | | 0 | |
| 12/05/2017 | | GT2s | | | | 6 | | Giro d'Italia, Stage 7 : Castrovillari - Alberobello | | 7 | |
| 11/05/2017 | | GT2s | | | | 80 | | Giro d'Italia, Stage 6 : Reggio Calabria - Terme Luigiane | | 0 | |
| 10/05/2017 | | GT2s | | | | 7 | | Giro d'Italia, Stage 5 : Pedara - Messina | | 5 | |
| 9/05/2017 | | GT2s | | | | 144 | | Giro d'Italia, Stage 4 : Cefalu - Etna | | 0 | |
| 7/05/2017 | | GT2s | | | | 14 | | Giro d'Italia, Stage 3 : Tortoli - Cagliari | | 0 | |
| 6/05/2017 | | GT2s | | | | 7 | | Giro d'Italia, Stage 2 : Olbia - Tortoli | | 5 | |
| 5/05/2017 | | GT2s | | | | 8 | | Giro d'Italia, Stage 1 : Alghero - Olbia | | 3 | |
| 12/04/2017 | | 1.HC | | | | 122 | | Brabantse Pijl | | 0 | |
| 9/04/2017 | | 1.WT1 | | | | DNF | | Paris - Roubaix | | 0 | |
| 5/04/2017 | | 1.HC | | | | 25 | | Scheldeprijs | | 5 | |
| 26/03/2017 | | 2.1 | | | | 46 | | Settimana Coppi e Bartali | | 0 | |
| 23/03/2017 | | 2.1s | | | | 4 | | Settimana Coppi e Bartali, Stage 1b : Gatteo a Mare - Gatteo T.T.T. | | 0 | |
| 23/03/2017 | | 2.1s | | | | 7 | | Settimana Coppi e Bartali, Stage 1a : Gatteo - Gatteo | | 0 | |
| 1/03/2017 | | 2.HC | | | | 1 | | Tour de Langkawi | | 160 | |
| 1/03/2017 | | 2.HCs | | | | 4 | | Tour de Langkawi, Stage 8 : Setiawangsa - Putrajaya | | 5 | |
| 28/02/2017 | | 2.HCs | | | | leader | | Tour de Langkawi, Stage 7 : Bandaraya Melaka - Bandar Baru Bangi | | 8 | |
| 28/02/2017 | | 2.HCs | | | | 5 | | Tour de Langkawi, Stage 7 : Bandaraya Melaka - Bandar Baru Bangi | | 3 | |
| 27/02/2017 | | 2.HCs | | | | leader | | Tour de Langkawi, Stage 6 : Senawang - Muar | | 8 | |
| 27/02/2017 | | 2.HCs | | | | 13 | | Tour de Langkawi, Stage 6 : Senawang - Muar | | 0 | |
| 26/02/2017 | | 2.HCs | | | | leader | | Tour de Langkawi, Stage 5 : Tapah - Dataran Merdeka | | 8 | |
| 26/02/2017 | | 2.HCs | | | | 1 | | Tour de Langkawi, Stage 5 : Tapah - Dataran Merdeka | | 25 | |
| 25/02/2017 | | 2.HCs | | | | leader | | Tour de Langkawi, Stage 4 : Seri Manjung - Cameron Highlands | | 8 | |
| 25/02/2017 | | 2.HCs | | | | 3 | | Tour de Langkawi, Stage 4 : Seri Manjung - Cameron Highlands | | 10 | |
| 24/02/2017 | | 2.HCs | | | | leader | | Tour de Langkawi, Stage 3 : Serdang - Pantai Remis | | 8 | |
| 24/02/2017 | | 2.HCs | | | | 15 | | Tour de Langkawi, Stage 3 : Serdang - Pantai Remis | | 0 | |
| 23/02/2017 | | 2.HCs | | | | leader | | Tour de Langkawi, Stage 2 : Jerteh - Gerik | | 8 | |
| 23/02/2017 | | 2.HCs | | | | 3 | | Tour de Langkawi, Stage 2 : Jerteh - Gerik | | 10 | |
| 22/02/2017 | | 2.HCs | | | | 2 | | Tour de Langkawi, Stage 1 : Kuala Berang - Kuala Terengganu | | 15 | |
| 12/02/2017 | | NC4 | | | | 4 | | National Championships South Africa (Wellington) R.R. | | 12 | |
| 9/02/2017 | | NCT4 | | | | 7 | | National Championships South Africa (Wellington) I.T.T. | | 0 | |
| 4/02/2017 | | 2.HC | | | | 83 | | Dubai Tour | | 0 | |
| 1/02/2017 | | 2.HCs | | | | 12 | | Dubai Tour, Stage 2 : Dubai - Ras Al Khaimah | | 0 | |