|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8/10/2023 | | 1.PS | | | | 59 | | Paris - Tours | | 0 | |
| 10/09/2023 | | 1.WT2 | | | | DNF | | GP de Montréal | | 0 | |
| 8/09/2023 | | 1.WT2 | | | | 25 | | GP de Québec | | 11 | |
| 3/09/2023 | | 1.WT2 | | | | 11 | | Bretagne Classic - Ouest-France | | 40 | |
| 27/08/2023 | | 2.WT2 | | | | 19 | | Renewi Tour | | 20 | |
| 27/08/2023 | | 2.WT2s | | | | 24 | | Renewi Tour, Stage 5 : Riemst - Bilzen | | 0 | |
| 26/08/2023 | | 2.WT2s | | | | 34 | | Renewi Tour, Stage 4 : Beringen - Peer | | 0 | |
| 25/08/2023 | | 2.WT2s | | | | 25 | | Renewi Tour, Stage 3 : Aalter - Geraardsbergen | | 0 | |
| 24/08/2023 | | 2.WT2s | | | | 53 | | Renewi Tour, Stage 2 : Sluis - Sluis I.T.T. | | 0 | |
| 23/08/2023 | | 2.WT2s | | | | 55 | | Renewi Tour, Stage 1 : Blankenberge - Ardooie | | 0 | |
| 20/08/2023 | | 1.WT2 | | | | 18 | | Bemer Cyclassics - Hamburg | | 18 | |
| 6/08/2023 | | WCRR | | | | 18 | | World Championships (Glasgow) R.R. | | 27 | |
| 27/07/2023 | | 2.1 | | | | 35 | | Vuelta a Castilla y Leon | | 0 | |
| 25/06/2023 | | NC2 | | | | 4 | | National Championships Great Britain (Saltburn-by-the-Sea) R.R. | | 40 | |
| 11/06/2023 | | 2.WT1 | | | | 91 | | Critérium du Dauphiné | | 5 | |
| 11/06/2023 | | 2.WT1s | | | | 84 | | Critérium du Dauphiné, Stage 8 : Le-Pont-de-Claix - La Bastille | | 0 | |
| 10/06/2023 | | 2.WT1s | | | | 79 | | Critérium du Dauphiné, Stage 7 : Porte-de-Savoie - Croix-de-Fer | | 0 | |
| 9/06/2023 | | 2.WT1s | | | | 69 | | Critérium du Dauphiné, Stage 6 : Nantua - Crest-Voland | | 0 | |
| 8/06/2023 | | 2.WT1s | | | | 107 | | Critérium du Dauphiné, Stage 5 : Cormorance-sur-Saône - Salins-les-Bains | | 0 | |
| 7/06/2023 | | 2.WT1s | | | | 84 | | Critérium du Dauphiné, Stage 4 : Cours - Belmont-de-la-Loire I.T.T. | | 0 | |
| 6/06/2023 | | 2.WT1s | | | | 107 | | Critérium du Dauphiné, Stage 3 : Monistrol-sur-Loire - Le Coteau | | 0 | |
| 5/06/2023 | | 2.WT1s | | | | 113 | | Critérium du Dauphiné, Stage 2 : Brassac-les-Mines - La Chaise-Dieu | | 0 | |
| 4/06/2023 | | 2.WT1s | | | | 99 | | Critérium du Dauphiné, Stage 1 : Chambon-sur-Lac - Chambon-sur-Lac | | 0 | |
| 9/04/2023 | | 1.WT1 | | | | 59 | | Paris - Roubaix | | 5 | |
| 2/04/2023 | | 1.WT1 | | | | 33 | | Ronde van Vlaanderen | | 5 | |
| 26/03/2023 | | 1.WT2 | | | | 57 | | Gent - Wevelgem | | 5 | |
| 24/03/2023 | | 1.WT2 | | | | 41 | | E3 Saxo Bank Classic | | 5 | |
| 22/03/2023 | | 1.WT3 | | | | 38 | | Classic Brugge - De Panne | | 5 | |
| 12/03/2023 | | 2.WT1 | | | | 63 | | Paris - Nice | | 5 | |
| 12/03/2023 | | 2.WT1s | | | | 65 | | Paris - Nice, Stage 8 : Nice - Nice | | 0 | |
| 11/03/2023 | | 2.WT1s | | | | 65 | | Paris - Nice, Stage 7 : Nice - Col de la Couillole | | 0 | |
| 9/03/2023 | | 2.WT1s | | | | 34 | | Paris - Nice, Stage 5 : Saint-Symphorien-sur-Coise - Saint-Paul-Trois-Châteaux | | 0 | |
| 8/03/2023 | | 2.WT1s | | | | 76 | | Paris - Nice, Stage 4 : Saint-Amand-Montrond - La Loge des Gardes | | 0 | |
| 7/03/2023 | | 2.WT1s | | | | - | | Paris - Nice, Stage 3 : Dampierre-en-Burly - Dampierre-en-Burly T.T.T. | | 7 | |
| 6/03/2023 | | 2.WT1s | | | | 47 | | Paris - Nice, Stage 2 : Bazainville - Fontainebleau | | 0 | |
| 5/03/2023 | | 2.WT1s | | | | 88 | | Paris - Nice, Stage 1 : La Verrière - La Verrière | | 0 | |
| 25/02/2023 | | 1.WT3 | | | | 16 | | Omloop Het Nieuwsblad | | 18 | |
| 19/02/2023 | | 2.PS | | | | 58 | | Volta ao Algarve | | 0 | |
| 12/02/2023 | | 1.1 | | | | 58 | | Figueira Champions Classic | | 0 | |
| 29/01/2023 | | 1.1 | | | | 10 | | Trofeo Playa de Palma | | 12 | |
| 27/01/2023 | | 1.1 | | | | 42 | | Trofeo Andratx - Mirador des Colomer, Pollença | | 0 | |
| 26/01/2023 | | 1.1 | | | | 35 | | Trofeo Ses Salines - Alcudia | | 0 | |
| 25/01/2023 | | 1.1 | | | | 88 | | Trofeo Calvia | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6/10/2022 | | 1.1 | | | | 93 | | Paris - Bourges | | 0 | |
| 18/09/2022 | | 1.1 | | | | 109 | | Gooikse Pijl | | 0 | |
| 17/09/2022 | | 1.PS | | | | 89 | | Primus Classic Impanis - Van Petegem | | 0 | |
| 16/09/2022 | | 1.1 | | | | 119 | | Kampioenschap van Vlaanderen | | 0 | |
| 14/09/2022 | | 1.PS | | | | 95 | | GP de Wallonie | | 0 | |
| 11/09/2022 | | 1.PS | | | | 120 | | GP de Fourmies | | 0 | |
| 7/08/2022 | | XX | | | | 58 | | Commonwealth Games (Warwick) R.R. | | 0 | |
| 4/08/2022 | | XX | | | | 7 | | Commonwealth Games (Wolverhampton) I.T.T. | | 0 | |
| 24/07/2022 | | GT1 | | | | 89 | | Tour de France | | 20 | |
| 24/07/2022 | | GT1s | | | | 101 | | Tour de France, Stage 21 : Paris - Paris | | 0 | |
| 23/07/2022 | | GT1s | | | | 42 | | Tour de France, Stage 20 : Lacapelle-Marival - Rocamadour I.T.T. | | 0 | |
| 22/07/2022 | | GT1s | | | | 98 | | Tour de France, Stage 19 : Castelnau - Cahors | | 0 | |
| 21/07/2022 | | GT1s | | | | 74 | | Tour de France, Stage 18 : Lourdes - Hautacam | | 0 | |
| 20/07/2022 | | GT1s | | | | 87 | | Tour de France, Stage 17 : Saint-Gaudens - Peyragudes | | 0 | |
| 19/07/2022 | | GT1s | | | | 78 | | Tour de France, Stage 16 : Carcassonne - Foix | | 0 | |
| 17/07/2022 | | GT1s | | | | 145 | | Tour de France, Stage 15 : Rodez - Carcassonne | | 0 | |
| 16/07/2022 | | GT1s | | | | 87 | | Tour de France, Stage 14 : Saint-Etienne - Mende | | 0 | |
| 15/07/2022 | | GT1s | | | | 55 | | Tour de France, Stage 13 : Bourg d'Oisans - Saint-Etienne | | 0 | |
| 14/07/2022 | | GT1s | | | | 76 | | Tour de France, Stage 12 : Briançon - L'Alpe d'Huez | | 0 | |
| 13/07/2022 | | GT1s | | | | 105 | | Tour de France, Stage 11 : Albertville - Col du Granon | | 0 | |
| 12/07/2022 | | GT1s | | | | 77 | | Tour de France, Stage 10 : Morzine - Megève | | 0 | |
| 10/07/2022 | | GT1s | | | | 70 | | Tour de France, Stage 9 : Aigle - Châtel | | 0 | |
| 9/07/2022 | | GT1s | | | | 103 | | Tour de France, Stage 8 : Dole - Lausanne | | 0 | |
| 8/07/2022 | | GT1s | | | | 92 | | Tour de France, Stage 7 : Tomblaine - La Planche des Belles Filles | | 0 | |
| 7/07/2022 | | GT1s | | | | 98 | | Tour de France, Stage 6 : Binche - Longwy | | 0 | |
| 6/07/2022 | | GT1s | | | | 116 | | Tour de France, Stage 5 : Lille - Arenberg | | 0 | |
| 5/07/2022 | | GT1s | | | | 164 | | Tour de France, Stage 4 : Dunkerque - Calais | | 0 | |
| 3/07/2022 | | GT1s | | | | 124 | | Tour de France, Stage 3 : Velje - Sønderborg | | 0 | |
| 2/07/2022 | | GT1s | | | | 28 | | Tour de France, Stage 2 : Roskilde - Nyborg | | 0 | |
| 1/07/2022 | | GT1s | | | | 77 | | Tour de France, Stage 1 : København - København I.T.T. | | 0 | |
| 26/06/2022 | | NC2 | | | | 8 | | National Championships Great Britain (Castle Douglas) R.R. | | 20 | |
| 23/06/2022 | | NCT2 | | | | 6 | | National Championships Great Britain (Dumfries) I.T.T. | | 14 | |
| 12/06/2022 | | 2.WT1 | | | | 91 | | Critérium du Dauphiné | | 5 | |
| 12/06/2022 | | 2.WT1s | | | | 84 | | Critérium du Dauphiné, Stage 8 : Saint-Alban-Leysse - Plateau de Solaison | | 0 | |
| 11/06/2022 | | 2.WT1s | | | | 108 | | Critérium du Dauphiné, Stage 7 : Saint-Chaffrey - Vaujany | | 0 | |
| 10/06/2022 | | 2.WT1s | | | | 87 | | Critérium du Dauphiné, Stage 6 : Rives - Gap | | 0 | |
| 9/06/2022 | | 2.WT1s | | | | 82 | | Critérium du Dauphiné, Stage 5 : Thizy-les-Bourgs - Chaintré | | 0 | |
| 8/06/2022 | | 2.WT1s | | | | 111 | | Critérium du Dauphiné, Stage 4 : Montbrison - La Bâtie d'Urfé I.T.T. | | 0 | |
| 7/06/2022 | | 2.WT1s | | | | 109 | | Critérium du Dauphiné, Stage 3 : Saint-Paulien - Chastreix-Sancy | | 0 | |
| 6/06/2022 | | 2.WT1s | | | | 32 | | Critérium du Dauphiné, Stage 2 : Saint-Péray - Brives-Charensac | | 0 | |
| 5/06/2022 | | 2.WT1s | | | | 90 | | Critérium du Dauphiné, Stage 1 : La Voulte-sur-Rhône - Beauchastel | | 0 | |
| 13/05/2022 | | GT2s | | | | DNF | | Giro d'Italia, Stage 7 : Diamante - Potenza | | 0 | |
| 12/05/2022 | | GT2s | | | | 131 | | Giro d'Italia, Stage 6 : Palmi - Scalea | | 0 | |
| 11/05/2022 | | GT2s | | | | 118 | | Giro d'Italia, Stage 5 : Catania - Messina | | 0 | |
| 10/05/2022 | | GT2s | | | | 105 | | Giro d'Italia, Stage 4 : Avola - Etna Nicolosi | | 0 | |
| 8/05/2022 | | GT2s | | | | 82 | | Giro d'Italia, Stage 3 : Kaposvar - Balatonfured | | 0 | |
| 7/05/2022 | | GT2s | | | | 20 | | Giro d'Italia, Stage 2 : Budapest - Budapest I.T.T. | | 0 | |
| 6/05/2022 | | GT2s | | | | 119 | | Giro d'Italia, Stage 1 : Budapest - Visegrad | | 0 | |
| 1/05/2022 | | 1.WT3 | | | | 39 | | Rund um den Finanzplatz Eschborn - Frankfurt | | 5 | |
| 17/04/2022 | | 1.WT1 | | | | 52 | | Paris - Roubaix | | 5 | |
| 10/04/2022 | | 1.WT2 | | | | 93 | | Amstel Gold Race | | 5 | |
| 25/03/2022 | | 1.WT2 | | | | DNF | | E3 Saxo Bank Clasic | | 0 | |
| 23/03/2022 | | 1.WT3 | | | | 107 | | Classic Brugge - De Panne | | 5 | |
| 19/03/2022 | | 1.WT1 | | | | 36 | | Milano - Sanremo | | 5 | |
| 13/03/2022 | | 2.WT1r | | | | 9 | | Paris - Nice, Mountains classification | | 0 | |
| 13/03/2022 | | 2.WT1 | | | | 47 | | Paris - Nice | | 5 | |
| 13/03/2022 | | 2.WT1s | | | | 42 | | Paris - Nice, Stage 8 : Nice - Nice | | 0 | |
| 12/03/2022 | | 2.WT1s | | | | 67 | | Paris - Nice, Stage 7 : Nice - Col de Turini | | 0 | |
| 11/03/2022 | | 2.WT1s | | | | 90 | | Paris - Nice, Stage 6 : Courthézon - Aubagne | | 0 | |
| 10/03/2022 | | 2.WT1s | | | | 8 | | Paris - Nice, Stage 5 : Saint-Just-Saint-Rambert - Saint-Sauveur-de-Montagut | | 1 | |
| 9/03/2022 | | 2.WT1s | | | | 27 | | Paris - Nice, Stage 4 : Domérat - Montluçon I.T.T. | | 0 | |
| 8/03/2022 | | 2.WT1s | | | | 131 | | Paris - Nice, Stage 3 : Vierzon - Dun-le-Palestel | | 0 | |
| 7/03/2022 | | 2.WT1s | | | | 49 | | Paris - Nice, Stage 2 : Auffargis - Orléans | | 0 | |
| 6/03/2022 | | 2.WT1s | | | | 114 | | Paris - Nice, Stage 1 : Mantes-la-Ville - Mantes-la-Ville | | 0 | |
| 27/02/2022 | | 1.PS | | | | 134 | | Kuurne - Brussel - Kuurne | | 0 | |
| 26/02/2022 | | 1.WT3 | | | | 16 | | Omloop Het Nieuwsblad | | 18 | |
| 6/02/2022 | | 2.1 | | | | 77 | | Etoile de Bessèges / Tour du Gard | | 0 | |
| 6/02/2022 | | 2.1s | | | | 18 | | Etoile de Bessèges / Tour du Gard, Stage 5 : Alès - Alès I.T.T. | | 0 | |
| 30/01/2022 | | 1.1 | | | | 90 | | GP La Marseillaise | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3/10/2021 | | 1.WT1 | | | | 59 | | Paris - Roubaix | | 5 | |
| 29/09/2021 | | 1.PS | | | | 68 | | Eurométropole Tour | | 0 | |
| 21/09/2021 | | 1.PS | | | | 28 | | GP de Denain - Porte du Hainaut | | 5 | |
| 12/09/2021 | | 2.PS | | | | 50 | | Tour of Britain | | 5 | |
| 29/08/2021 | | 1.WT2 | | | | 80 | | Bretagne Classic - Ouest-France | | 5 | |
| 15/08/2021 | | 2.WT2s | | | | 106 | | Tour de Pologne, Stage 7 : Zabrze - Krakow | | 0 | |
| 15/08/2021 | | 2.WT2 | | | | 69 | | Tour de Pologne | | 5 | |
| 14/08/2021 | | 2.WT2s | | | | 52 | | Tour de Pologne, Stage 6 : Katowice - Katowice I.T.T. | | 0 | |
| 13/08/2021 | | 2.WT2s | | | | 78 | | Tour de Pologne, Stage 5 : Chocholow - Bielsko-Biala | | 0 | |
| 12/08/2021 | | 2.WT2s | | | | 60 | | Tour de Pologne, Stage 4 : Tarnow - Bukinova Resort | | 0 | |
| 11/08/2021 | | 2.WT2s | | | | 105 | | Tour de Pologne, Stage 3 : Sanok - Rzeszow | | 0 | |
| 10/08/2021 | | 2.WT2s | | | | 121 | | Tour de Pologne, Stage 2 : Zamosc - Przemysl | | 0 | |
| 9/08/2021 | | 2.WT2s | | | | 95 | | Tour de Pologne, Stage 1 : Lublin - Chelm | | 0 | |
| 13/06/2021 | | 2.1 | | | | 48 | | Route d'Occitanie | | 0 | |
| 22/05/2021 | | 2.PS | | | | 62 | | Vuelta a Andalucia / Ruta Del Sol | | 0 | |
| 2/05/2021 | | 2.WT1 | | | | 90 | | Tour de Romandie | | 5 | |
| 2/05/2021 | | 2.WT1s | | | | 34 | | Tour de Romandie, Stage 5 : Fribourg - Fribourg I.T.T. | | 0 | |
| 1/05/2021 | | 2.WT1s | | | | 85 | | Tour de Romandie, Stage 4 : Sion - Thyon | | 0 | |
| 30/04/2021 | | 2.WT1s | | | | 85 | | Tour de Romandie, Stage 3 : Estavayer - Estavayer | | 0 | |
| 29/04/2021 | | 2.WT1s | | | | 107 | | Tour de Romandie, Stage 2 : La Neuville - Saint-Imier | | 0 | |
| 28/04/2021 | | 2.WT1s | | | | 102 | | Tour de Romandie, Stage 1 : Aigle - Martigny | | 0 | |
| 27/04/2021 | | 2.WT1s | | | | 22 | | Tour de Romandie, Prologue : Oron I.T.T. | | 0 | |
| 4/04/2021 | | 1.WT1 | | | | DNF | | Ronde van Vlaanderen | | 0 | |
| 31/03/2021 | | 1.WT3 | | | | 25 | | Dwars door Vlaanderen | | 6 | |
| 28/03/2021 | | 1.WT2 | | | | 17 | | Gent - Wevelgem | | 19 | |
| 26/03/2021 | | 1.WT2 | | | | 43 | | E3 Saxo Bank Classic | | 5 | |
| 7/03/2021 | | 1.PS | | | | 82 | | GP Industria & Artigianato - Larciano | | 0 | |
| 6/03/2021 | | 1.WT3 | | | | 27 | | Strade Bianche | | 5 | |
| 28/02/2021 | | 1.PS | | | | 86 | | Kuurne - Brussel - Kuurne | | 0 | |
| 27/02/2021 | | 1.WT3 | | | | 22 | | Omloop Het Nieuwsblad | | 9 | |
| 7/02/2021 | | 2.1 | | | | 25 | | Etoile de Bessèges / Tour du Gard | | 4 | |
| 7/02/2021 | | 2.1s | | | | 8 | | Etoile de Bessèges / Tour du Gard, Stage 5 : Alès - Montée de L'Hermitage (I.T.T.) | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21/10/2020 | | 1.WT3 | | | | 32 | | Driedaagse Brugge - De Panne | | 5 | |
| 18/10/2020 | | 1.WT1 | | | | 101 | | Ronde van Vlaanderen | | 5 | |
| 11/10/2020 | | 1.WT2 | | | | DNF | | Gent - Wevelgem | | 0 | |
| 3/10/2020 | | 2.WT2 | | | | 14 | | BinckBank Tour | | 35 | |
| 3/10/2020 | | 2.WT2s | | | | 20 | | BinckBank Tour, Stage 5 : Louvain-la-Neuve - Geraardsbergen | | 0 | |
| 2/10/2020 | | 2.WT2s | | | | 35 | | BinckBank Tour, Stage 4 : Kanne - Kanne I.T.T. | | 0 | |
| 1/10/2020 | | 2.WT2s | | | | 71 | | BinckBank Tour, Stage 3 : Aalter - Aalter | | 0 | |
| 29/09/2020 | | 2.WT2s | | | | 29 | | BinckBank Tour, Stage 1 : Blankenberge - Ardooie | | 0 | |
| 4/09/2020 | | 2.1s | | | | DNF | | Settimana Coppi e Bartali, Stage 4 : Forli - Forli | | 0 | |
| 1/09/2020 | | 2.1s | | | | 2 | | Settimana Coppi e Bartali, Stage 1b : Gatteo - Gatteo T.T.T. | | 2 | |
| 18/08/2020 | | 2.PSs | | | | DNF | | Tour de Wallonie, Stage 3 : Montzen - Visé | | 0 | |
| 9/08/2020 | | 2.WT2 | | | | 47 | | Tour de Pologne | | 5 | |
| 9/08/2020 | | 2.WT2s | | | | 80 | | Tour de Pologne, Stage 5 : Zakopane - Krakow | | 0 | |
| 8/08/2020 | | 2.WT2s | | | | 46 | | Tour de Pologne, Stage 4 : Bukovina Tatranska - Bukowina Tatrzanska | | 0 | |
| 7/08/2020 | | 2.WT2s | | | | 65 | | Tour de Pologne, Stage 3 : Wadowice - Bielsko Biala | | 0 | |
| 6/08/2020 | | 2.WT2s | | | | 66 | | Tour de Pologne, Stage 2 : Opole - Zabrze | | 0 | |
| 5/08/2020 | | 2.WT2s | | | | 115 | | Tour de Pologne, Stage 1 : Stadion Slaski - Spodek Katowice | | 0 | |
| 1/08/2020 | | 1.WT3 | | | | DNF | | Strade Bianche | | 0 | |
| 1/03/2020 | | 1.PS | | | | 75 | | Kuurne - Brussel - Kuurne | | 0 | |
| 29/02/2020 | | 1.WT3 | | | | DNF | | Omloop Het Nieuwsblad | | 0 | |
| 16/02/2020 | | 2.PS | | | | 62 | | Tour de La Provence | | 0 | |
| 16/02/2020 | | 2.PSs | | | | 1 | | Tour de La Provence, Stage 4 : Avignon - Aix-en-Provence | | 25 | |
| 2/02/2020 | | 1.WT3 | | | | 24 | | Cadel Evans Great Ocean Road Race | | 7 | |
| 30/01/2020 | | 1.1 | | | | 49 | | Race Torquay | | 0 | |
| 26/01/2020 | | 2.WT1 | | | | 80 | | Tour Down Under | | 5 | |
| 26/01/2020 | | 2.WT1s | | | | 73 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 0 | |
| 25/01/2020 | | 2.WT1s | | | | 82 | | Tour Down Under, Stage 5 : Glenelg - Victor Harbor | | 0 | |
| 24/01/2020 | | 2.WT1s | | | | 95 | | Tour Down Under, Stage 4 : Norwood - Murray Bridge | | 0 | |
| 23/01/2020 | | 2.WT1s | | | | 88 | | Tour Down Under, Stage 3 : Unley - Paracombe | | 0 | |
| 22/01/2020 | | 2.WT1s | | | | 94 | | Tour Down Under, Stage 2 : Woodside - Stirling | | 0 | |
| 21/01/2020 | | 2.WT1s | | | | 102 | | Tour Down Under, Stage 1 : Tanunda - Tanunda | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29/09/2019 | | WCRR | | | | DNF | | World Championships (Harrogate) R.R. | | 0 | |
| 15/09/2019 | | GT2 | | | | 70 | | Vuelta a España | | 15 | |
| 15/09/2019 | | GT2s | | | | 124 | | Vuelta a España, Stage 21 : Fuenlabrada - Madrid | | 0 | |
| 14/09/2019 | | GT2s | | | | 62 | | Vuelta a España, Stage 20 : Arenas de San Pedro - Plataforma de Gredos | | 0 | |
| 13/09/2019 | | GT2s | | | | 74 | | Vuelta a España, Stage 19 : Avila - Toledo | | 0 | |
| 12/09/2019 | | GT2s | | | | 93 | | Vuelta a España, Stage 18 : Colmenar Viejo - Becerril de la Sierra | | 0 | |
| 11/09/2019 | | GT2s | | | | 17 | | Vuelta a España, Stage 17 : Aranda de Duero - Guadelajara | | 0 | |
| 9/09/2019 | | GT2s | | | | 100 | | Vuelta a España, Stage 16 : Pravia - Alto de la Cubilla | | 0 | |
| 8/09/2019 | | GT2s | | | | 68 | | Vuelta a España, Stage 15 : Tineo - Santuario del Acebo | | 0 | |
| 7/09/2019 | | GT2s | | | | 134 | | Vuelta a España, Stage 14 : San Vicente de la Barquer - Oviedo | | 0 | |
| 6/09/2019 | | GT2s | | | | 77 | | Vuelta a España, Stage 13 : Bilbao - Los Machucos | | 0 | |
| 5/09/2019 | | GT2s | | | | 98 | | Vuelta a España, Stage 12 : Bilbao - Bilbao | | 0 | |
| 4/09/2019 | | GT2s | | | | 105 | | Vuelta a España, Stage 11 : Saint-Palais (FRA) - Urdax-Dantxarinea | | 0 | |
| 3/09/2019 | | GT2s | | | | 31 | | Vuelta a España, Stage 10 : Jurançon (FRA) - Pau (FRA) I.T.T. | | 0 | |
| 1/09/2019 | | GT2s | | | | 82 | | Vuelta a España, Stage 9 : Andorra la Vella (AND) - Cortals d'Encamp (AND) | | 0 | |
| 31/08/2019 | | GT2s | | | | 116 | | Vuelta a España, Stage 8 : Valls - Igualada | | 0 | |
| 30/08/2019 | | GT2s | | | | 82 | | Vuelta a España, Stage 7 : Onda - Mas de la Costa | | 0 | |
| 29/08/2019 | | GT2s | | | | 96 | | Vuelta a España, Stage 6 : Mora de Rubielos - Ares del Maestrat | | 0 | |
| 28/08/2019 | | GT2s | | | | 133 | | Vuelta a España, Stage 5 : L'Eliana - Javalambre | | 0 | |
| 27/08/2019 | | GT2s | | | | 59 | | Vuelta a España, Stage 4 : Cullera - El Puig | | 0 | |
| 26/08/2019 | | GT2s | | | | 64 | | Vuelta a España, Stage 3 : Ibi - Alicante | | 0 | |
| 25/08/2019 | | GT2s | | | | 121 | | Vuelta a España, Stage 2 : Benidorm - Calpe | | 0 | |
| 24/08/2019 | | GT2s | | | | 11 | | Vuelta a España, Stage 1 : Salinas de Torrevieja - Torrevieja T.T.T. | | 0 | |
| 9/08/2019 | | 2.WT2 | | | | 51 | | Tour de Pologne | | 5 | |
| 9/08/2019 | | 2.WT2s | | | | 48 | | Tour de Pologne, Stage 7 : Bukowina Tatranska - Bukowina Tatranska | | 0 | |
| 8/08/2019 | | 2.WT2s | | | | 50 | | Tour de Pologne, Stage 6 : Zakopane - Zakopane | | 0 | |
| 7/08/2019 | | 2.WT2s | | | | 71 | | Tour de Pologne, Stage 5 : Kopalnia Soli - Bielsko-Biala | | 0 | |
| 5/08/2019 | | 2.WT2s | | | | 86 | | Tour de Pologne, Stage 3 : Chorzow - Zabrze | | 0 | |
| 4/08/2019 | | 2.WT2s | | | | 66 | | Tour de Pologne, Stage 2 : Tarnowskie Gory - Katowice | | 0 | |
| 3/08/2019 | | 2.WT2s | | | | 89 | | Tour de Pologne, Stage 1 : Krakow - Krakow | | 0 | |
| 30/06/2019 | | NC2 | | | | 67 | | National Championships Great Britain (Norwich) R.R. | | 0 | |
| 27/06/2019 | | NCT2 | | | | 4 | | National Championships Great Britain (Sandringham) I.T.T. | | 20 | |
| 23/06/2019 | | 2.WT1 | | | | 85 | | Tour de Suisse | | 5 | |
| 23/06/2019 | | 2.WT1s | | | | 84 | | Tour de Suisse, Stage 9 : Ulrichen - Ulrichen | | 0 | |
| 22/06/2019 | | 2.WT1s | | | | 127 | | Tour de Suisse, Stage 8 : Goms - Goms I.T.T. | | 0 | |
| 21/06/2019 | | 2.WT1s | | | | 95 | | Tour de Suisse, Stage 7 : Unterterzen - San Gottardo | | 0 | |
| 20/06/2019 | | 2.WT1s | | | | 105 | | Tour de Suisse, Stage 6 : Einsiedeln - Flumserberg | | 0 | |
| 19/06/2019 | | 2.WT1s | | | | 98 | | Tour de Suisse, Stage 5 : Münchenstein - Einsiedeln | | 0 | |
| 18/06/2019 | | 2.WT1s | | | | 52 | | Tour de Suisse, Stage 4 : Murten - Arlesheim | | 0 | |
| 17/06/2019 | | 2.WT1s | | | | 102 | | Tour de Suisse, Stage 3 : Flamatt - Murten | | 0 | |
| 16/06/2019 | | 2.WT1s | | | | 137 | | Tour de Suisse, Stage 2 : Langnau im Emmental - Langnau im Emmental | | 0 | |
| 15/06/2019 | | 2.WT1s | | | | 18 | | Tour de Suisse, Stage 1 : Langnau im Emmental I.T.T. | | 0 | |
| 9/06/2019 | | 2.1 | | | | 10 | | Hammer Series Limburg | | 6 | |
| 9/06/2019 | | 2.1s | | | | 9 | | Hammer Series Limburg, Stage 3 : Sittard, Hammer chase T.T.T. | | 0 | |
| 8/06/2019 | | 2.1s | | | | 6 | | Hammer Series Limburg, Stage 2 : Sittard, Hammer sprint | | 0 | |
| 18/05/2019 | | 2.WT3 | | | | 62 | | Tour of California | | 5 | |
| 18/05/2019 | | 2.WT3s | | | | 75 | | Tour of California, Stage 7 : Santa Clarita - Pasadena | | 0 | |
| 17/05/2019 | | 2.WT3s | | | | 52 | | Tour of California, Stage 6 : Ontario - Mount Baldy | | 0 | |
| 16/05/2019 | | 2.WT3s | | | | 48 | | Tour of California, Stage 5 : Pismo Beach - Ventura | | 0 | |
| 15/05/2019 | | 2.WT3s | | | | 43 | | Tour of California, Stage 4 : Laguna Seca - Morro Bay | | 0 | |
| 14/05/2019 | | 2.WT3s | | | | 88 | | Tour of California, Stage 3 : Stockton - Morgan Hill | | 0 | |
| 13/05/2019 | | 2.WT3s | | | | 69 | | Tour of California, Stage 2 : Rancho Cordova - South Lake Tahoe | | 0 | |
| 12/05/2019 | | 2.WT3s | | | | 6 | | Tour of California, Stage 1 : Sacramento | | 2 | |
| 5/05/2019 | | 2.HC | | | | 11 | | Tour de Yorkshire | | 38 | |
| 5/05/2019 | | 2.HCs | | | | 17 | | Tour de Yorkshire, Stage 4 : Halifax - Leeds | | 0 | |
| 4/05/2019 | | 2.HCs | | | | 6 | | Tour de Yorkshire, Stage 3 : Bridlington - Scarborough | | 0 | |
| 14/04/2019 | | 1.WT1 | | | | 95 | | Paris - Roubaix | | 5 | |
| 10/04/2019 | | 1.HC | | | | 87 | | Scheldeprijs | | 0 | |
| 7/04/2019 | | 1.WT1 | | | | 83 | | Ronde van Vlaanderen | | 5 | |
| 3/04/2019 | | 1.WT3 | | | | 46 | | Dwars door Vlaanderen | | 5 | |
| 29/03/2019 | | 1.WT2 | | | | DNF | | E3 BinckBank Classic | | 0 | |
| 27/03/2019 | | 1.WT3 | | | | 34 | | Driedaagse Brugge - De Panne | | 5 | |
| 23/03/2019 | | 1.WT1 | | | | 115 | | Milano - Sanremo | | 5 | |
| 9/03/2019 | | 1.WT3 | | | | 65 | | Strade Bianche | | 5 | |
| 3/03/2019 | | 1.HC | | | | 2 | | Kuurne - Brussel - Kuurne | | 84 | |
| 2/03/2019 | | 1.WT3 | | | | 28 | | Omloop Het Nieuwsblad | | 5 | |
| 17/02/2019 | | 2.1 | | | | 50 | | Tour La Provence | | 0 | |
| 14/02/2019 | | 2.1s | | | | 8 | | Tour La Provence, Stage 1 : Saintes-Maries-de-la-Mer I.T.T. | | 0 | |
| 3/02/2019 | | 2.1 | | | | 25 | | Herald Sun Tour | | 4 | |
| 3/02/2019 | | 2.1s | | | | 13 | | Herald Sun Tour, Stage 5 : Melbourne - Melbourne | | 0 | |
| 1/02/2019 | | 2.1s | | | | 1 | | Herald Sun Tour, Stage 3 : Sale - Warragul | | 20 | |
| 30/01/2019 | | 2.1s | | | | 12 | | Herald Sun Tour, Stage 1 : Phillip Island - Phillip Island | | 0 | |
| 27/01/2019 | | 1.WT3 | | | | 9 | | Cadel Evans Great Ocean Road Race | | 40 | |
| 20/01/2019 | | 2.WT1 | | | | 99 | | Tour Down Under | | 5 | |
| 20/01/2019 | | 2.WT1s | | | | 105 | | Tour Down Under, Stage 6 : McLaren Vale - Willunga Hill | | 0 | |
| 19/01/2019 | | 2.WT1s | | | | 71 | | Tour Down Under, Stage 5 : Glenelg - Strathalbyn | | 0 | |
| 18/01/2019 | | 2.WT1s | | | | 97 | | Tour Down Under, Stage 4 : Unley - Campbelltown | | 0 | |
| 17/01/2019 | | 2.WT1s | | | | 85 | | Tour Down Under, Stage 3 : Lobethal - Uraidla | | 0 | |
| 16/01/2019 | | 2.WT1s | | | | 25 | | Tour Down Under, Stage 2 : Norwood - Angaston | | 0 | |
| 15/01/2019 | | 2.WT1s | | | | 42 | | Tour Down Under, Stage 1 : Barnsley - Bedale | | 0 | |
| 13/01/2019 | | NE | | | | 6 | | People’s Choice Classic | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21/10/2018 | | 2.WT3 | | | | 56 | | Tour of Guangxi | | 5 | |
| 21/10/2018 | | 2.WT3s | | | | 45 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 0 | |
| 20/10/2018 | | 2.WT3s | | | | 97 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 0 | |
| 19/10/2018 | | 2.WT3s | | | | 28 | | Tour of Guangxi, Stage 4 : Nanning - Mashan Nongla | | 0 | |
| 18/10/2018 | | 2.WT3s | | | | 50 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 0 | |
| 17/10/2018 | | 2.WT3s | | | | 28 | | Tour of Guangxi, Stage 2 : Beihai - Qinzhou | | 0 | |
| 16/10/2018 | | 2.WT3s | | | | 31 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 0 | |
| 14/10/2018 | | 2.1 | | | | 7 | | Hammer Series Hong Kong | | 10 | |
| 14/10/2018 | | 2.1s | | | | 10 | | Hammer Series Hong Kong, Stage 2 : Hong Kong, Hammer chase T.T.T. | | 0 | |
| 14/10/2018 | | 2.1s | | | | 6 | | Hammer Series Hong Kong, Stage 1 : Hong Kong, Hammer sprint | | 0 | |
| 7/10/2018 | | 1.HC | | | | 88 | | GP Bruno Beghelli | | 0 | |
| 23/09/2018 | | WCTT | | | | 4 | | World Championships (Innsbruck) T.T.T. | | 27 | |
| 9/09/2018 | | 1.WT2 | | | | 101 | | GP de Montréal | | 5 | |
| 7/09/2018 | | 1.WT2 | | | | 51 | | GP de Québec | | 5 | |
| 26/08/2018 | | 1.WT2 | | | | DNF | | Bretagne Classic - Ouest-France | | 0 | |
| 17/08/2018 | | 2.WT2s | | | | DNF | | BinckBank Tour, Stage 5 : Sint-Pieters-Leeuw - Lanaken | | 0 | |
| 16/08/2018 | | 2.WT2s | | | | 40 | | BinckBank Tour, Stage 4 : Blankenberge - Ardooie | | 0 | |
| 15/08/2018 | | 2.WT2s | | | | 142 | | BinckBank Tour, Stage 3 : Aalter - Antwerpen | | 0 | |
| 14/08/2018 | | 2.WT2s | | | | 13 | | BinckBank Tour, Stage 2 : Venray - Venray I.T.T. | | 0 | |
| 13/08/2018 | | 2.WT2s | | | | 67 | | BinckBank Tour, Stage 1 : Heerenveen - Bolsward | | 0 | |
| 29/07/2018 | | 1.WT3 | | | | 79 | | Ride London - Surrey Classic | | 5 | |
| 1/07/2018 | | NC2 | | | | 3 | | National Championships Great Britain (Stamfordham) R.R. | | 50 | |
| 17/06/2018 | | 2.WT1 | | | | 103 | | Tour de Suisse | | 5 | |
| 17/06/2018 | | 2.WT1s | | | | 106 | | Tour de Suisse, Stage 9 : Bellinzona - Bellinzona I.T.T. | | 0 | |
| 16/06/2018 | | 2.WT1s | | | | 125 | | Tour de Suisse, Stage 8 : Bellinzona - Bellinzona | | 0 | |
| 15/06/2018 | | 2.WT1s | | | | 76 | | Tour de Suisse, Stage 7 : Eschenbach - Arosa | | 0 | |
| 14/06/2018 | | 2.WT1s | | | | 106 | | Tour de Suisse, Stage 6 : Fiesch - Gommiswald | | 0 | |
| 13/06/2018 | | 2.WT1s | | | | 85 | | Tour de Suisse, Stage 5 : Gstaad - Leukerbad | | 0 | |
| 12/06/2018 | | 2.WT1s | | | | 133 | | Tour de Suisse, Stage 4 : Gansingen - Gstaad | | 0 | |
| 11/06/2018 | | 2.WT1s | | | | 62 | | Tour de Suisse, Stage 3 : Oberstammheim - Gansingen | | 0 | |
| 10/06/2018 | | 2.WT1s | | | | 20 | | Tour de Suisse, Stage 2 : Frauenfeld - Frauenfeld | | 0 | |
| 9/06/2018 | | 2.WT1s | | | | 14 | | Tour de Suisse, Stage 1 : Frauenfeld T.T.T. | | 0 | |
| 3/06/2018 | | 2.1 | | | | 6 | | Hammer Series Limburg | | 11 | |
| 3/06/2018 | | 2.1s | | | | 3 | | Hammer Series Limburg, Stage 3 : Sittard, Hammer chase T.T.T. | | 1 | |
| 1/06/2018 | | 2.1s | | | | 4 | | Hammer Series Limburg, Stage 1 : Vaalserberg, Hammer climb | | 0 | |
| 27/05/2018 | | 2.1 | | | | 5 | | Hammer Series Stavanger | | 12 | |
| 27/05/2018 | | 2.1s | | | | 10 | | Hammer Series Stavanger, Stage 3 : Stavanger, Hammer chase T.T.T. | | 0 | |
| 25/05/2018 | | 2.1s | | | | 4 | | Hammer Series Stavanger, Stage 1 : Sandness, Hammer climb | | 0 | |
| 24/05/2018 | | 2.HC | | | | 34 | | Tour des Fjords | | 5 | |
| 6/05/2018 | | 2.1 | | | | 32 | | Tour de Yorkshire | | 0 | |
| 8/04/2018 | | 1.WT1 | | | | 49 | | Paris - Roubaix | | 5 | |
| 4/04/2018 | | 1.HC | | | | 54 | | Scheldeprijs | | 0 | |
| 25/03/2018 | | 1.WT2 | | | | 70 | | Gent - Wevelgem | | 5 | |
| 23/03/2018 | | 1.WT2 | | | | 43 | | E3 Harelbeke | | 5 | |
| 3/03/2018 | | 1.WT3 | | | | 50 | | Strade Bianche | | 5 | |
| 24/02/2018 | | 1.WT3 | | | | 11 | | Omloop Het Nieuwsblad | | 30 | |
| 18/02/2018 | | 2.HC | | | | 110 | | Volta ao Algarve | | 0 | |
| 16/02/2018 | | 2.HCs | | | | 20 | | Volta ao Algarve, Stage 3 : Lagoa - Lagoa I.T.T. | | 0 | |
| 28/01/2018 | | 1.WT3 | | | | 12 | | Cadel Evans Great Ocean Road Race | | 27 | |
| 21/01/2018 | | 2.WT1 | | | | 45 | | Tour Down Under | | 5 | |
| 21/01/2018 | | 2.WT1s | | | | 72 | | Tour Down Under, Stage 6 : Adelaide - Adelaide | | 0 | |
| 20/01/2018 | | 2.WT1s | | | | 34 | | Tour Down Under, Stage 5 : McLaren Vale - Williunga Hill | | 0 | |
| 19/01/2018 | | 2.WT1s | | | | 65 | | Tour Down Under, Stage 4 : Norwood - Uraidla | | 0 | |
| 18/01/2018 | | 2.WT1s | | | | 69 | | Tour Down Under, Stage 3 : Glenelg - Victor Harbour | | 0 | |
| 17/01/2018 | | 2.WT1s | | | | 44 | | Tour Down Under, Stage 2 : Unley - Stirling | | 0 | |
| 16/01/2018 | | 2.WT1s | | | | 103 | | Tour Down Under, Stage 1 : Port Adelaide - Lyndoch | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24/10/2017 | | 2.WT3 | | | | 76 | | Tour of Guangxi | | 5 | |
| 24/10/2017 | | 2.WT3s | | | | 48 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 0 | |
| 23/10/2017 | | 2.WT3s | | | | 24 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 0 | |
| 22/10/2017 | | 2.WT3s | | | | 108 | | Tour of Guangxi, Stage 4 : Nanning - Mashan Nongla | | 0 | |
| 21/10/2017 | | 2.WT3s | | | | 111 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 0 | |
| 20/10/2017 | | 2.WT3s | | | | 98 | | Tour of Guangxi, Stage 2 : Qinzhou - Nanning | | 0 | |
| 19/10/2017 | | 2.WT3s | | | | 106 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 0 | |
| 24/09/2017 | | WCRR | | | | DNF | | World Championships (Bergen) R.R. | | 0 | |
| 17/09/2017 | | WCTT | | | | 3 | | World Championships (Bergen) T.T.T. | | 32 | |
| 10/09/2017 | | 2.HC | | | | 9 | | Tour of Britain | | 50 | |
| 10/09/2017 | | 2.HCs | | | | 16 | | Tour of Britain, Stage 8 : Worcester - Cardiff | | 0 | |
| 8/09/2017 | | 2.HCs | | | | 17 | | Tour of Britain, Stage 6 : Newmarket - Aldeburgh | | 0 | |
| 7/09/2017 | | 2.HCs | | | | 13 | | Tour of Britain, Stage 5 : Clacton - Clacton I.T.T. | | 0 | |
| 4/09/2017 | | 2.HCs | | | | 15 | | Tour of Britain, Stage 2 : Kielder Forest Park - Blyth | | 0 | |
| 27/08/2017 | | 1.WT2 | | | | 99 | | Bretagne Classic - Ouest-France | | 5 | |
| 25/08/2017 | | 2.1 | | | | 7 | | Tour du Poitou Charentes | | 40 | |
| 24/08/2017 | | 2.1s | | | | 10 | | Tour du Poitou Charentes, Stage 4 : Mirebeau - Neuville-de-Poitou I.T.T. | | 0 | |
| 24/08/2017 | | 2.1s | | | | 10 | | Tour du Poitou Charentes, Stage 3 : Vouillé - Neuville-de-Poitou | | 0 | |
| 20/08/2017 | | 1.WT2 | | | | 50 | | EuroEyes Cyclassics - Hamburg | | 5 | |
| 13/08/2017 | | 2.WT2 | | | | 84 | | BinckBank Tour | | 5 | |
| 13/08/2017 | | 2.WT2s | | | | 70 | | BinckBank Tour, Stage 7 : Essen - Geraardsbergen | | 0 | |
| 12/08/2017 | | 2.WT2s | | | | 59 | | BinckBank Tour, Stage 6 : Riemst - Houffalize | | 0 | |
| 11/08/2017 | | 2.WT2s | | | | 125 | | BinckBank Tour, Stage 5 : Sittard - Sittard | | 0 | |
| 10/08/2017 | | 2.WT2s | | | | 72 | | BinckBank Tour, Stage 4 : Riemst - Lanaken | | 0 | |
| 9/08/2017 | | 2.WT2s | | | | 87 | | BinckBank Tour, Stage 3 : Blankenberge - Ardooie | | 0 | |
| 8/08/2017 | | 2.WT2s | | | | 40 | | BinckBank Tour, Stage 2 : Voorburg - Voorburg I.T.T. | | 0 | |
| 7/08/2017 | | 2.WT2s | | | | 56 | | BinckBank Tour, Stage 1 : Breda - Venray | | 0 | |
| 30/07/2017 | | 1.WT3 | | | | 87 | | Ride London - Surrey Classic | | 5 | |
| 18/06/2017 | | 2.WT1 | | | | 80 | | Tour de Suisse | | 5 | |
| 18/06/2017 | | 2.WT1s | | | | 27 | | Tour de Suisse, Stage 8 : Schaffhausen - Schaffhausen I.T.T. | | 0 | |
| 17/06/2017 | | 2.WT1s | | | | 101 | | Tour de Suisse, Stage 7 : Schaffhausen - Schaffhausen | | 0 | |
| 16/06/2017 | | 2.WT1s | | | | 103 | | Tour de Suisse, Stage 6 : Zernez - Sölden/Tiefenbachferner (AUT) | | 0 | |
| 15/06/2017 | | 2.WT1s | | | | 83 | | Tour de Suisse, Stage 5 : Locarno - La Punt | | 0 | |
| 14/06/2017 | | 2.WT1s | | | | 10 | | Tour de Suisse, Stage 4 : Bex - Cevio | | 0 | |
| 13/06/2017 | | 2.WT1s | | | | 78 | | Tour de Suisse, Stage 3 : Bern - Villars-sur-Ollon | | 0 | |
| 12/06/2017 | | 2.WT1s | | | | 126 | | Tour de Suisse, Stage 2 : Menziken - Bern | | 0 | |
| 11/06/2017 | | 2.WT1s | | | | 72 | | Tour de Suisse, Stage 1 : Cham - Cham | | 0 | |
| 10/06/2017 | | 2.WT1s | | | | 27 | | Tour de Suisse, Prologue : Cham I.T.T. | | 0 | |
| 4/06/2017 | | 2.1 | | | | 1 | | Hammer Series Limburg | | 27 | |
| 4/06/2017 | | 2.1s | | | | 2 | | Hammer Series Limburg, Stage 3 : Sittard, Hammer chase T.T.T. | | 2 | |
| 20/05/2017 | | 2.WT3 | | | | 63 | | Tour of California | | 5 | |
| 20/05/2017 | | 2.WT3s | | | | 76 | | Tour of California, Stage 7 : Mountain High - Pasadena | | 0 | |
| 19/05/2017 | | 2.WT3s | | | | 73 | | Tour of California, Stage 6 : Big Bear Lake I.T.T. | | 0 | |
| 18/05/2017 | | 2.WT3s | | | | 78 | | Tour of California, Stage 5 : Ontario - Mount Baldy | | 0 | |
| 17/05/2017 | | 2.WT3s | | | | 70 | | Tour of California, Stage 4 : Santa Barbara - Santa Clarita | | 0 | |
| 16/05/2017 | | 2.WT3s | | | | 55 | | Tour of California, Stage 3 : Pismo Beach - Morro Bay | | 0 | |
| 15/05/2017 | | 2.WT3s | | | | 74 | | Tour of California, Stage 2 : Modesto - San Jose | | 0 | |
| 14/05/2017 | | 2.WT3s | | | | 118 | | Tour of California, Stage 1 : Sacramento - Sacramento | | 0 | |
| 29/04/2017 | | 2.WT1s | | | | DNF | | Tour de Romandie, Stage 4 : Domdidier - Leysin | | 0 | |
| 28/04/2017 | | 2.WT1s | | | | 60 | | Tour de Romandie, Stage 3 : Payerne - Payerne | | 0 | |
| 27/04/2017 | | 2.WT1s | | | | 74 | | Tour de Romandie, Stage 2 : Aigle - Bulle | | 0 | |
| 26/04/2017 | | 2.WT1s | | | | 123 | | Tour de Romandie, Stage 1 : Aigle - Champéry | | 0 | |
| 25/04/2017 | | 2.WT1s | | | | 63 | | Tour de Romandie, Prologue : Aigle I.T.T. | | 0 | |
| 19/04/2017 | | 1.WT2 | | | | DNF | | Flèche Wallonne | | 0 | |
| 16/04/2017 | | 1.WT2 | | | | DNF | | Amstel Gold Race | | 0 | |
| 9/04/2017 | | 1.WT1 | | | | OOT | | Paris - Roubaix | | 0 | |
| 5/04/2017 | | 1.HC | | | | 101 | | Scheldeprijs | | 0 | |
| 2/04/2017 | | 1.WT1 | | | | 108 | | Ronde van Vlaanderen | | 5 | |
| 26/03/2017 | | 1.WT2 | | | | DNF | | Gent - Wevelgem | | 0 | |
| 24/03/2017 | | 1.WT2 | | | | DNF | | E3 Harelbeke | | 0 | |
| 4/03/2017 | | 1.WT3 | | | | DNF | | Strade Bianche | | 0 | |
| 26/02/2017 | | 2.WT3 | | | | 116 | | Abu Dhabi Tour | | 5 | |
| 26/02/2017 | | 2.WT3s | | | | 114 | | Abu Dhabi Tour, Stage 4 : Yas Marina, circuit race | | 0 | |
| 25/02/2017 | | 2.WT3s | | | | 119 | | Abu Dhabi Tour, Stage 3 : Al Ain - Jebel Hafeet | | 0 | |
| 24/02/2017 | | 2.WT3s | | | | 142 | | Abu Dhabi Tour, Stage 2 : Abu Dhabi - Abu Dhabi | | 0 | |
| 23/02/2017 | | 2.WT3s | | | | 155 | | Abu Dhabi Tour, Stage 1 : Madinat Zayed - Madinat Zayed | | 0 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25/09/2015 | | WCU | | | | 91 | | World Championships U23 (Doswell - Richmond) R.R. | | 0 | |
| 21/09/2015 | | WCUT | | | | 5 | | World Championships U23 (Richmond) I.T.T. | | 10 | |
| 13/09/2015 | | 2.HC | | | | 3 | | Tour of Britain | | 100 | |
| 13/09/2015 | | 2.HCs | | | | 10 | | Tour of Britain, Stage 8 : London, circuit race | | 0 | |
| 12/09/2015 | | 2.HCs | | | | 6 | | Tour of Britain, Stage 7 : Fakenham - Ipswich | | 0 | |
| 11/09/2015 | | 2.HCs | | | | 3 | | Tour of Britain, Stage 6 : Stoke-on-Trent - Nottingham | | 10 | |
| 10/09/2015 | | 2.HCs | | | | 11 | | Tour of Britain, Stage 5 : Prudhoe - Hartside Fell | | 0 | |
| 9/09/2015 | | 2.HCs | | | | 4 | | Tour of Britain, Stage 4 : Edinburgh - Blythe | | 5 | |
| 8/09/2015 | | 2.HCs | | | | 6 | | Tour of Britain, Stage 3 : Cockermouth - Floors Castle | | 0 | |
| 7/09/2015 | | 2.HCs | | | | 6 | | Tour of Britain, Stage 2 : Clitheroe - Colne | | 0 | |
| 6/09/2015 | | 2.HCs | | | | 4 | | Tour of Britain, Stage 1 : Beaumaris - Wrexham | | 5 | |
| 2/08/2015 | | 1.HC | | | | 55 | | Ride London - Surrey Classic | | 0 | |
| 28/06/2015 | | NC2 | | | | 7 | | National Championships Great Britain (Lincoln) R.R. | | 25 | |
| 14/06/2015 | | 1.1 | | | | 11 | | Velothon Wales | | 10 | |
| 31/05/2015 | | 1.1 | | | | 37 | | Velothon Berlin | | 0 | |
| 24/05/2015 | | 2.2 | | | | 19 | | Paris - Arras Tour | | 0 | |
| 24/05/2015 | | 2.2s | | | | 8 | | Paris - Arras Tour, Stage 3 : Arras - Arras | | 0 | |
| 17/05/2015 | | 2.2 | | | | 13 | | Flèche du Sud | | 1 | |
| 16/05/2015 | | 2.2s | | | | 1 | | Flèche du Sud, Stage 4 : Mondorf - Redange sur Attert | | 4 | |
| 15/05/2015 | | 2.2s | | | | 1 | | Flèche du Sud, Stage 3 : Echternach - Clervaux | | 4 | |
| 14/05/2015 | | 2.2s | | | | 8 | | Flèche du Sud, Stage 2 : Rumelange - Roeser | | 0 | |
| 3/05/2015 | | 2.1 | | | | 53 | | Tour de Yorkshire | | 0 | |
| 18/04/2015 | | 2.NC | | | | 7 | | ZLM - Roompot Tour | | 12 | |
| 18/04/2015 | | 2.NCs | | | | 7 | | ZLM - Roompot Tour, Stage 3 : Goes - Goes | | 0 | |
| 17/04/2015 | | 2.NCs | | | | 5 | | ZLM - Roompot Tour, Stage 2 : Kamperland - Kamperland T.T.T. | | 0 | |
| 17/04/2015 | | 2.NCs | | | | 3 | | ZLM - Roompot Tour, Stage 1 : Kamperland - Zierikzee | | 2 | |
| 15/04/2015 | | 1.NC | | | | 2 | | La Côte Picarde | | 20 | |
| 11/04/2015 | | 1.NC | | | | 10 | | Ronde van Vlaanderen Beloften | | 3 | |
| 6/04/2015 | | 2.2 | | | | 2 | | Triptyque des Monts et Châteaux | | 18 | |
| 6/04/2015 | | 2.2s | | | | 5 | | Triptyque des Monts et Châteaux, Stage 4 : Beloeil - Frasnes-Lez-Buissenal | | 0 | |
| 5/04/2015 | | 2.2s | | | | 8 | | Triptyque des Monts et Châteaux, Stage 3 : Tournai - Flobecq | | 0 | |
| 4/04/2015 | | 2.2s | | | | 2 | | Triptyque des Monts et Châteaux, Stage 2 : Leuze-en-Hainaut - Mont de l'Enclus | | 2 | |
| 3/04/2015 | | 2.2s | | | | 4 | | Triptyque des Monts et Châteaux, Stage 1 : Antoing - Quevaucamps | | 0 | |
| 29/03/2015 | | 2.2 | | | | 10 | | Tour de Normandie | | 3 | |
| 29/03/2015 | | 2.2s | | | | 8 | | Tour de Normandie, Stage 6 : Torigni-sur-Vire - Caen | | 0 | |
| 27/03/2015 | | 2.2s | | | | 3 | | Tour de Normandie, Stage 4 : L’Aigle - Bagnoles-de-l’Orne | | 1 | |
| 24/03/2015 | | 2.2s | | | | 7 | | Tour de Normandie, Stage 1 : Colombelles - Forges-les-Eaux | | 0 | |
| 30/01/2015 | | 1.1 | | | | 129 | | Trofeo Andratx - Mirador d'Es Colomer | | 0 | |
| 29/01/2015 | | 1.1 | | | | 132 | | Trofeo Santanyi | | 0 | |