|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22/10/2019 | | 2.WT3r | | | | 2 | | Tour of Guangxi, Points classification | | 18 | |
| 22/10/2019 | | 2.WT3 | | | | 16 | | Tour of Guangxi | | 24 | |
| 22/10/2019 | | 2.WT3s | | | | 7 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 1 | |
| 21/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 12 | |
| 19/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 3 : Nanning - Nanning | | 12 | |
| 18/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 2 : Beihai - Qinzhou | | 12 | |
| 17/10/2019 | | 2.WT3s | | | | 3 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 12 | |
| 29/09/2019 | | WCRR | | | | 2 | | World Championships (Harrogate) R.R. | | 240 | |
| 22/09/2019 | | 1.1 | | | | 1 | | Trofeo Matteotti | | 80 | |
| 14/09/2019 | | 2.HC | | | | 2 | | Tour of Britain | | 120 | |
| 14/09/2019 | | 2.HCs | | | | 3 | | Tour of Britain, Stage 8 : Altrincham - Manchester | | 10 | |
| 13/09/2019 | | 2.HCs | | | | 2 | | Tour of Britain, Stage 7 : Warwick - Burton Dassett Country Park | | 15 | |
| 11/09/2019 | | 2.HCs | | | | leader | | Tour of Britain, Stage 5 : Birkenhead - Birkenhead | | 8 | |
| 11/09/2019 | | 2.HCs | | | | 3 | | Tour of Britain, Stage 5 : Birkenhead - Birkenhead | | 10 | |
| 9/09/2019 | | 2.HCs | | | | leader | | Tour of Britain, Stage 3 : Berwick-upon-Tweed - Newcastle-upon-Tyne | | 8 | |
| 9/09/2019 | | 2.HCs | | | | 5 | | Tour of Britain, Stage 3 : Berwick-upon-Tweed - Newcastle-upon-Tyne | | 3 | |
| 8/09/2019 | | 2.HCs | | | | leader | | Tour of Britain, Stage 2 : Kelso - Kelso | | 8 | |
| 8/09/2019 | | 2.HCs | | | | 1 | | Tour of Britain, Stage 2 : Kelso - Kelso | | 25 | |
| 7/09/2019 | | 2.HCs | | | | 3 | | Tour of Britain, Stage 1 : Glasgow - Kirkcudbright | | 10 | |
| 1/09/2019 | | 1.WT2 | | | | 22 | | Bretagne Classic - Ouest-France | | 14 | |
| 25/08/2019 | | 1.WT2 | | | | 7 | | EuroEyes Cyclassics - Hamburg | | 66 | |
| 11/08/2019 | | CC1 | | | | 7 | | European Championships (Alkmaar) R.R. | | 25 | |
| 28/07/2019 | | GT1r | | | | 6 | | Tour de France, Points classification | | 10 | |
| 28/07/2019 | | GT1 | | | | 52 | | Tour de France | | 20 | |
| 28/07/2019 | | GT1s | | | | 7 | | Tour de France, Stage 21 : Rambouillet - Paris | | 5 | |
| 24/07/2019 | | GT1s | | | | 1 | | Tour de France, Stage 17 : Pont-du-Gard - Gap | | 80 | |
| 23/07/2019 | | GT1s | | | | 7 | | Tour de France, Stage 16 : Nîmes - Nîmes | | 5 | |
| 18/07/2019 | | GT1s | | | | 6 | | Tour de France, Stage 12 : Toulouse - Bagnères-de-Bigorre | | 10 | |
| 15/07/2019 | | GT1s | | | | 8 | | Tour de France, Stage 10 : Saint-Flour - Albi | | 3 | |
| 13/07/2019 | | GT1s | | | | 6 | | Tour de France, Stage 8 : Mâcon - Saint-Étienne | | 10 | |
| 10/07/2019 | | GT1s | | | | 3 | | Tour de France, Stage 5 : Saint-Dié-des-Vosges - Colmar | | 35 | |
| 8/07/2019 | | GT1s | | | | 6 | | Tour de France, Stage 3 : Binche (BEL) - Epernay | | 10 | |
| 6/07/2019 | | GT1s | | | | 7 | | Tour de France, Stage 1 : Brussel (BEL) - Brussel (BEL) | | 5 | |
| 23/06/2019 | | 2.WT1r | | | | 5 | | Tour de Suisse, Points classification | | 5 | |
| 23/06/2019 | | 2.WT1 | | | | 49 | | Tour de Suisse | | 5 | |
| 19/06/2019 | | 2.WT1s | | | | 4 | | Tour de Suisse, Stage 5 : Münchenstein - Einsiedeln | | 10 | |
| 18/06/2019 | | 2.WT1s | | | | 4 | | Tour de Suisse, Stage 4 : Murten - Arlesheim | | 10 | |
| 16/06/2019 | | 2.WT1s | | | | 3 | | Tour de Suisse, Stage 2 : Langnau im Emmental - Langnau im Emmental | | 18 | |
| 21/04/2019 | | 1.WT2 | | | | 10 | | Amstel Gold Race | | 46 | |
| 14/04/2019 | | 1.WT1 | | | | 43 | | Paris - Roubaix | | 5 | |
| 7/04/2019 | | 1.WT1 | | | | 21 | | Ronde van Vlaanderen | | 22 | |
| 31/03/2019 | | 1.WT2 | | | | 7 | | Gent - Wevelgem | | 66 | |
| 29/03/2019 | | 1.WT2 | | | | 7 | | E3 BinckBank Classic | | 66 | |
| 23/03/2019 | | 1.WT1 | | | | 10 | | Milano - Sanremo | | 62 | |
| 17/03/2019 | | 2.WT1r | | | | 4 | | Paris - Nice, Mountains classification | | 10 | |
| 17/03/2019 | | 2.WT1r | | | | 5 | | Paris - Nice, Points classification | | 5 | |
| 17/03/2019 | | 2.WT1 | | | | 39 | | Paris - Nice | | 5 | |
| 15/03/2019 | | 2.WT1s | | | | 3 | | Paris - Nice, Stage 6 : Peynier - Brignoles | | 18 | |
| 13/03/2019 | | 2.WT1s | | | | 8 | | Paris - Nice, Stage 4 : Vichy - Pélussin | | 1 | |
| 11/03/2019 | | 2.WT1s | | | | 4 | | Paris - Nice, Stage 2 : Les Bréviaires - Bellegarde | | 10 | |
| 10/03/2019 | | 2.WT1s | | | | 6 | | Paris - Nice, Stage 1 : Saint-Germain-en-Laye - Saint-Germain-en-Laye | | 3 | |
| 2/03/2019 | | 1.WT3 | | | | 9 | | Omloop Het Nieuwsblad | | 40 | |
| 24/02/2019 | | 2.HCs | | | | 1 | | Vuelta a Andalucia / Ruta Del Sol, Stage 5 : Otura - Alhaurin de la Torre | | 25 | |
| 21/02/2019 | | 2.HCs | | | | 1 | | Vuelta a Andalucia / Ruta Del Sol, Stage 2 : Sevilla - Toredonjimeno | | 25 | |
| 17/02/2019 | | 1.HC | | | | 13 | | Clasica de Almeria | | 15 | |
| 16/02/2019 | | 2.1 | | | | 7 | | Vuelta a Murcia | | 40 | |
| 16/02/2019 | | 2.1s | | | | 3 | | Vuelta a Murcia, Stage 2 : Beniel - Murcia | | 5 | |
| 10/02/2019 | | 2.1s | | | | 3 | | Volta a la Comunitat Valenciana, Stage 5 : Paterna - Valencia | | 5 | |
| 8/02/2019 | | 2.1s | | | | 2 | | Volta a la Comunitat Valenciana, Stage 3 : Quart de Poblet - Chera | | 10 | |
| 7/02/2019 | | 2.1s | | | | 1 | | Volta a la Comunitat Valenciana, Stage 2 : Alicante - Alicante | | 20 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21/10/2018 | | 2.WT3r | | | | 4 | | Tour of Guangxi, Points classification | | 7 | |
| 21/10/2018 | | 2.WT3 | | | | 21 | | Tour of Guangxi | | 14 | |
| 21/10/2018 | | 2.WT3s | | | | 7 | | Tour of Guangxi, Stage 6 : Guilin - Guilin | | 1 | |
| 20/10/2018 | | 2.WT3s | | | | 1 | | Tour of Guangxi, Stage 5 : Liuzhou - Guilin | | 30 | |
| 17/10/2018 | | 2.WT3s | | | | 7 | | Tour of Guangxi, Stage 2 : Beihai - Qinzhou | | 1 | |
| 16/10/2018 | | 2.WT3s | | | | 5 | | Tour of Guangxi, Stage 1 : Beihai - Beihai | | 4 | |
| 14/10/2018 | | 2.1 | | | | 1 | | Hammer Series Hong Kong | | 27 | |
| 14/10/2018 | | 2.1s | | | | 3 | | Hammer Series Hong Kong, Stage 2 : Hong Kong, Hammer chase T.T.T. | | 1 | |
| 14/10/2018 | | 2.1s | | | | 1 | | Hammer Series Hong Kong, Stage 1 : Hong Kong, Hammer sprint | | 5 | |
| 7/10/2018 | | 1.HC | | | | 6 | | GP Bruno Beghelli | | 48 | |
| 23/09/2018 | | WCTT | | | | 5 | | World Championships (Innsbruck) T.T.T. | | 24 | |
| 16/09/2018 | | GT2 | | | | 125 | | Vuelta a España | | 15 | |
| 16/09/2018 | | GT2s | | | | 8 | | Vuelta a España, Stage 21 : Alcoron - Madrid | | 3 | |
| 4/09/2018 | | GT2s | | | | 10 | | Vuelta a España, Stage 10 : Salamanca - Bermillo de Sayago | | 1 | |
| 30/08/2018 | | GT2s | | | | 5 | | Vuelta a España, Stage 6 : Huercal-Overa - San Javier/Mar Menor | | 10 | |
| 27/08/2018 | | GT2s | | | | 8 | | Vuelta a España, Stage 3 : Mijas - Alhaurin de la Torre | | 3 | |
| 19/08/2018 | | 1.WT2 | | | | 5 | | EuroEyes Cyclassics - Hamburg | | 86 | |
| 12/08/2018 | | CC1 | | | | 1 | | European Championships (Glasgow) R.R. | | 100 | |
| 6/08/2018 | | 2.WT2s | | | | 5 | | Tour de Pologne, Stage 3 : Chorzow - Zabrze | | 4 | |
| 4/08/2018 | | 2.WT2s | | | | 3 | | Tour de Pologne, Stage 1 : Krakow - Krakow | | 14 | |
| 29/07/2018 | | 1.WT3 | | | | 23 | | Ride London - Surrey Classic | | 8 | |
| 1/04/2018 | | 1.WT1 | | | | 45 | | Ronde van Vlaanderen | | 5 | |
| 25/03/2018 | | 1.WT2 | | | | 7 | | Gent - Wevelgem | | 66 | |
| 23/03/2018 | | 1.WT2 | | | | 11 | | E3 Harelbeke | | 40 | |
| 17/03/2018 | | 1.WT1 | | | | 37 | | Milano - Sanremo | | 5 | |
| 11/03/2018 | | 2.WT1 | | | | 31 | | Paris - Nice | | 5 | |
| 8/03/2018 | | 2.WT1s | | | | 7 | | Paris - Nice, Stage 5 : Salon-de-Provence - Sisteron | | 2 | |
| 6/03/2018 | | 2.WT1s | | | | 7 | | Paris - Nice, Stage 3 : Bourges - Châtel-Guyon | | 2 | |
| 25/02/2018 | | 1.HC | | | | 16 | | Kuurne - Brussel - Kuurne | | 10 | |
| 24/02/2018 | | 1.WT3 | | | | 55 | | Omloop Het Nieuwsblad | | 5 | |
| 10/02/2018 | | 1.1 | | | | 4 | | Vuelta a Murcia | | 36 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8/10/2017 | | 1.HC | | | | 1 | | Paris - Tours | | 140 | |
| 3/10/2017 | | 1.1 | | | | 2 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke | | 48 | |
| 24/09/2017 | | WCRR | | | | 4 | | World Championships (Bergen) R.R. | | 180 | |
| 16/09/2017 | | 1.HC | | | | 1 | | Classic Impanis - Van Petegem | | 140 | |
| 10/09/2017 | | GT2r | | | | 2 | | Vuelta a España, Points classification | | 40 | |
| 10/09/2017 | | GT2 | | | | 84 | | Vuelta a España | | 15 | |
| 10/09/2017 | | GT2s | | | | 1 | | Vuelta a España, Stage 21 : Arroyomolinos - Madrid | | 70 | |
| 7/09/2017 | | GT2s | | | | 7 | | Vuelta a España, Stage 18 : Suances - Santo Toribio de Liebana | | 5 | |
| 1/09/2017 | | GT2s | | | | 1 | | Vuelta a España, Stage 13 : Coin - Tomares | | 70 | |
| 29/08/2017 | | GT2s | | | | 1 | | Vuelta a España, Stage 10 : Caravaca de la Cruz - Alhama de Murcia | | 70 | |
| 22/08/2017 | | GT2s | | | | 1 | | Vuelta a España, Stage 4 : Escaldes-Engordany (AND) - Tarragona | | 70 | |
| 20/08/2017 | | GT2s | | | | 2 | | Vuelta a España, Stage 2 : Nîmes (FRA) - Gruissan (FRA) | | 40 | |
| 19/08/2017 | | GT2s | | | | 2 | | Vuelta a España, Stage 1 : Nîmes (FRA) T.T.T. | | 10 | |
| 2/08/2017 | | 2.HCs | | | | 1 | | Vuelta a Burgos, Stage 2 : Oña - Belorado | | 25 | |
| 30/07/2017 | | 1.WT3 | | | | 69 | | Ride London - Surrey Classic | | 5 | |
| 1/07/2017 | | GT1s | | | | 5 | | Tour de France, Stage 1 : Düsseldorf (GER) I.T.T. | | 15 | |
| 25/06/2017 | | NC1 | | | | 9 | | National Championships Italy (Asti - Ivrea) R.R. | | 30 | |
| 18/06/2017 | | 2.WT1r | | | | 8 | | Tour de Suisse, Points classification | | 1 | |
| 18/06/2017 | | 2.WT1 | | | | 77 | | Tour de Suisse | | 5 | |
| 17/06/2017 | | 2.WT1s | | | | 3 | | Tour de Suisse, Stage 7 : Schaffhausen - Schaffhausen | | 18 | |
| 14/06/2017 | | 2.WT1s | | | | 3 | | Tour de Suisse, Stage 4 : Bex - Cevio | | 18 | |
| 12/06/2017 | | 2.WT1s | | | | 8 | | Tour de Suisse, Stage 2 : Menziken - Bern | | 1 | |
| 11/06/2017 | | 2.WT1s | | | | 5 | | Tour de Suisse, Stage 1 : Cham - Cham | | 5 | |
| 20/05/2017 | | 2.WT3 | | | | 44 | | Tour of California | | 5 | |
| 20/05/2017 | | 2.WT3s | | | | 7 | | Tour of California, Stage 7 : Mountain High - Pasadena | | 1 | |
| 9/04/2017 | | 1.WT1 | | | | 88 | | Paris - Roubaix | | 5 | |
| 5/04/2017 | | 1.HC | | | | 20 | | Scheldeprijs | | 6 | |
| 2/04/2017 | | 1.WT1 | | | | 13 | | Ronde van Vlaanderen | | 42 | |
| 26/03/2017 | | 1.WT2 | | | | 51 | | Gent - Wevelgem | | 5 | |
| 24/03/2017 | | 1.WT2 | | | | 22 | | E3 Harelbeke | | 14 | |
| 18/03/2017 | | 1.WT1 | | | | 55 | | Milano - Sanremo | | 5 | |
| 14/03/2017 | | 2.WT1 | | | | 50 | | Tirreno - Adriatico | | 5 | |
| 13/03/2017 | | 2.WT1s | | | | 4 | | Tirreno - Adriatico, Stage 6 : Ascoli Piceno - Civitanova Marche | | 10 | |
| 8/03/2017 | | 2.WT1s | | | | 2 | | Tirreno - Adriatico, Stage 1 : Lido di Camaiore T.T.T. | | 7 | |
| 4/03/2017 | | 1.WT3 | | | | 21 | | Strade Bianche | | 10 | |
| 26/02/2017 | | 1.HC | | | | 5 | | Kuurne - Brussel - Kuurne | | 54 | |
| 25/02/2017 | | 1.WT3 | | | | 9 | | Omloop Het Nieuwsblad | | 40 | |
| 12/02/2017 | | 1.HC | | | | 4 | | Trofeo Laigueglia | | 62 | |
| 4/02/2017 | | 2.HC | | | | 49 | | Dubai Tour | | 5 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9/10/2016 | | 1.HC | | | | 4 | | Paris - Tours | | 62 | |
| 3/10/2016 | | 1.HC | | | | 4 | | Münsterland Giro | | 62 | |
| 23/09/2016 | | 2.WT2s | | | | 2 | | Eneco Tour, Stage 5 : Sittard - Sittard T.T.T. | | 5 | |
| 11/09/2016 | | 1.WT2 | | | | 68 | | GP de Montréal | | 5 | |
| 9/09/2016 | | 1.WT2 | | | | 64 | | GP de Québec | | 5 | |
| 28/08/2016 | | 1.WT2 | | | | 9 | | Bretagne Classic - Ouest-France | | 52 | |
| 21/08/2016 | | 1.WT2 | | | | 9 | | EuroEyes Cyclassics - Hamburg | | 52 | |
| 11/08/2016 | | 2.1s | | | | leader | | Tour de l'Ain, Stage 2 : Saint-Didier - Montréal-la-Cluse | | 6 | |
| 10/08/2016 | | 2.1s | | | | leader | | Tour de l'Ain, Stage 1 : La Plaine Tonique - Saint-Vulbas | | 6 | |
| 10/08/2016 | | 2.1s | | | | 1 | | Tour de l'Ain, Stage 1 : La Plaine Tonique - Saint-Vulbas | | 20 | |
| 27/07/2016 | | 2.HC | | | | 28 | | Tour de Wallonie | | 5 | |
| 26/07/2016 | | 2.HCs | | | | 1 | | Tour de Wallonie, Stage 4 : Aubel - Herstal | | 25 | |
| 24/07/2016 | | 2.HCs | | | | 4 | | Tour de Wallonie, Stage 2 : Saint-Ghislain - Le Roeulx | | 5 | |
| 23/07/2016 | | 2.HCs | | | | 4 | | Tour de Wallonie, Stage 1 : Charleroi - Mettet | | 5 | |
| 29/05/2016 | | GT2r | | | | 2 | | Giro d'Italia, Points classification | | 40 | |
| 29/05/2016 | | GT2 | | | | 74 | | Giro d'Italia | | 15 | |
| 29/05/2016 | | GT2s | | | | 2 | | Giro d'Italia, Stage 21 : Cuneo - Torino | | 40 | |
| 26/05/2016 | | GT2s | | | | 1 | | Giro d'Italia, Stage 18 : Muggio - Pinerolo | | 70 | |
| 25/05/2016 | | GT2s | | | | 5 | | Giro d'Italia, Stage 17 : Molveno - Cassano d'Adda | | 10 | |
| 18/05/2016 | | GT2s | | | | 6 | | Giro d'Italia, Stage 11 : Modena - Asolo | | 7 | |
| 13/05/2016 | | GT2s | | | | 6 | | Giro d'Italia, Stage 7 : Sulmona - Foligno | | 7 | |
| 17/04/2016 | | 1.WT2 | | | | 58 | | Amstel Gold Race | | 5 | |
| 10/04/2016 | | 1.WT1 | | | | 36 | | Paris - Roubaix | | 5 | |
| 3/04/2016 | | 1.WT1 | | | | 34 | | Ronde van Vlaanderen | | 5 | |
| 27/03/2016 | | 1.WT2 | | | | 47 | | Gent - Wevelgem | | 5 | |
| 25/03/2016 | | 1.WT2 | | | | 12 | | E3 Harelbeke | | 35 | |
| 19/03/2016 | | 1.WT1 | | | | 10 | | Milano - Sanremo | | 62 | |
| 15/03/2016 | | 2.WT1 | | | | 34 | | Tirreno - Adriatico | | 5 | |
| 9/03/2016 | | 2.WT1s | | | | 2 | | Tirreno - Adriatico, Stage 1 : Lido di Camaiore T.T.T. | | 7 | |
| 5/03/2016 | | 1.HC | | | | 19 | | Strade Bianche - Eroica | | 7 | |
| 6/02/2016 | | 2.HC | | | | 26 | | Dubai Tour | | 5 | |
| 28/01/2016 | | 1.1 | | | | 5 | | Trofeo Felanitx - Porreres | | 32 | |