|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22/09/2017 | | WCU | | | | 38 | | World Championships U23 (Bergen) R.R. | | 0 | |
| 10/09/2017 | | 2.HC | | | | 29 | | Tour of Britain | | 5 | |
| 23/08/2017 | | 1.1 | | | | 54 | | Druivenkoers - Overijse | | 0 | |
| 22/08/2017 | | 1.1 | | | | 98 | | GP Stad Zottegem | | 0 | |
| 20/08/2017 | | 1.1 | | | | 73 | | GP Jef Scherens - Rondom Leuven | | 0 | |
| 18/08/2017 | | 1.1 | | | | 64 | | Veenendaal - Veenendaal Classic | | 0 | |
| 30/07/2017 | | 1.WT3 | | | | OOT | | Ride London - Surrey Classic | | 0 | |
| 25/07/2017 | | 2.HCs | | | | DNS | | Tour de Wallonie, Stage 4 : Bruxelles - Profondeville | | 0 | |
| 25/06/2017 | | NC2 | | | | 11 | | National Championships Great Britain (Douglas) R.R. | | 10 | |
| 21/06/2017 | | 1.1 | | | | 83 | | Halle - Ingooigem | | 0 | |
| 18/06/2017 | | 1.1 | | | | 78 | | RideBruges - Elfstedenronde | | 0 | |
| 11/06/2017 | | 2.WT1s | | | | DNF | | Critérium du Dauphiné, Stage 8 : Albertville - Plateau de Solaison | | 0 | |
| 10/06/2017 | | 2.WT1s | | | | 89 | | Critérium du Dauphiné, Stage 7 : Aoste - Alpe d'Huez | | 0 | |
| 9/06/2017 | | 2.WT1s | | | | 84 | | Critérium du Dauphiné, Stage 6 : Villars-les-Dombes - La Motte-Servolex | | 0 | |
| 8/06/2017 | | 2.WT1s | | | | 154 | | Critérium du Dauphiné, Stage 5 : La Tour-de-Salvagny - Mâcon | | 0 | |
| 7/06/2017 | | 2.WT1s | | | | 147 | | Critérium du Dauphiné, Stage 4 : La Tour-du-Pin - Bourgion-Jalieu I.T.T. | | 0 | |
| 6/06/2017 | | 2.WT1s | | | | 167 | | Critérium du Dauphiné, Stage 3 : Le Chambon-sur-Lignon - Tullins | | 0 | |
| 5/06/2017 | | 2.WT1s | | | | 163 | | Critérium du Dauphiné, Stage 2 : Saint-Champond - Arlanc | | 0 | |
| 4/06/2017 | | 2.WT1s | | | | 98 | | Critérium du Dauphiné, Stage 1 : Saint-Etienne - Saint-Etienne | | 0 | |
| 21/05/2017 | | 2.HC | | | | 28 | | Tour of Norway | | 5 | |
| 30/04/2017 | | 2.WT1 | | | | 59 | | Tour de Romandie | | 5 | |
| 30/04/2017 | | 2.WT1s | | | | 63 | | Tour de Romandie, Stage 5 : Lausanne - Lausanne I.T.T. | | 0 | |
| 29/04/2017 | | 2.WT1s | | | | 54 | | Tour de Romandie, Stage 4 : Domdidier - Leysin | | 0 | |
| 28/04/2017 | | 2.WT1s | | | | 81 | | Tour de Romandie, Stage 3 : Payerne - Payerne | | 0 | |
| 27/04/2017 | | 2.WT1s | | | | 126 | | Tour de Romandie, Stage 2 : Aigle - Bulle | | 0 | |
| 26/04/2017 | | 2.WT1s | | | | 67 | | Tour de Romandie, Stage 1 : Aigle - Champéry | | 0 | |
| 25/04/2017 | | 2.WT1s | | | | 66 | | Tour de Romandie, Prologue : Aigle I.T.T. | | 0 | |
| 15/03/2017 | | 1.HC | | | | 164 | | Nokere Koerse | | 0 | |
| 25/02/2017 | | 1.WT3 | | | | DNF | | Omloop Het Nieuwsblad | | 0 | |
| 29/01/2017 | | 1.WT3 | | | | 29 | | Cadel Evans Great Ocean Road Race | | 5 | |
| 21/01/2017 | | 2.WT1s | | | | DNF | | Tour Down Under, Stage 5 : McLaren-Vale - Willunga Hill | | 0 | |
| 20/01/2017 | | 2.WT1s | | | | 63 | | Tour Down Under, Stage 4 : Norwood - Campbelltown | | 0 | |
| 19/01/2017 | | 2.WT1s | | | | 125 | | Tour Down Under, Stage 3 : Glenelg - Victor Harbour | | 0 | |
| 18/01/2017 | | 2.WT1s | | | | 54 | | Tour Down Under, Stage 2 : Stirling - Paracombe | | 0 | |
| 17/01/2017 | | 2.WT1s | | | | 91 | | Tour Down Under, Stage 1 : Unley - Lyndoch | | 0 | |