1 | 2021-03-03 | Trofeo Laigueglia | | | DNF | | | 72 |
2 | 2019-09-14 | OVO Energy Tour of Britain | General classification | | | 69 | | | 19 |
3 | 2019-09-14 | OVO Energy Tour of Britain | Stage 8 | | | 76 | | | 26 |
4 | 2019-09-13 | OVO Energy Tour of Britain | Stage 7 | | | 79 | | | 24 |
5 | 2019-09-12 | OVO Energy Tour of Britain | Stage 6 (ITT) | | | 81 | | | 33 |
6 | 2019-09-11 | OVO Energy Tour of Britain | Stage 5 | | | 32 | | | 39 |
7 | 2019-09-10 | OVO Energy Tour of Britain | Stage 4 | | | 93 | | | 24 |
8 | 2019-09-09 | OVO Energy Tour of Britain | Stage 3 | | | 16 | | | 52 |
9 | 2019-09-08 | OVO Energy Tour of Britain | Stage 2 | | | 80 | | | 36 |
10 | 2019-09-07 | OVO Energy Tour of Britain | Stage 1 | | | 26 | | | 80 |
11 | 2019-08-31 | Omloop Mandel-Leie-Schelde Meulebeke | | | 20 | | | 44 |
12 | 2019-08-28 | Druivenkoers - Overijse | | | 90 | | | 89 |
13 | 2019-08-20 | GP Stad Zottegem | | | DNF | | | DNF |
14 | 2019-06-30 | National Championships Great Britain ME - Road Race | | | 109 | | | 8 |
15 | 2019-05-05 | Tour de Yorkshire | General classification | | | 16 | | | 15 |
16 | 2019-05-05 | Tour de Yorkshire | Stage 4 | | | 8 | | | 20 |
17 | 2019-05-04 | Tour de Yorkshire | Stage 3 | | | 23 | | | 12 |
18 | 2019-05-03 | Tour de Yorkshire | Stage 2 | | | 17 | | | 77 |
19 | 2019-05-02 | Tour de Yorkshire | Stage 1 | | | 5 | | | 51 |
20 | 2019-03-05 | Le Samyn | | | 71 | | | DNF |
21 | 2018-08-22 | Veenendaal-Veenendaal Classic | | | 16 | | | 61 |
22 | 2018-08-21 | GP Stad Zottegem | | | DNF | | | 12 |
23 | 2018-07-01 | National Championships Great Britain ME - Road Race | | | 7 | | | 11 |
24 | 2018-05-06 | Tour de Yorkshire | General classification | | | 83 | | | 22 |
25 | 2018-05-06 | Tour de Yorkshire | Stage 4 | | | 92 | | | 33 |
26 | 2018-05-05 | Tour de Yorkshire | Stage 3 | | | 17 | | | 36 |
27 | 2018-05-04 | Tour de Yorkshire | Stage 2 | | | 64 | | | 15 |
28 | 2018-05-03 | Tour de Yorkshire | Stage 1 | | | 21 | | | 54 |
29 | 2017-06-25 | National Championships Great Britain ME - Road Race | | | OTL | | | OTL |
30 | 2016-09-11 | Tour of Britain | General classification | | | 62 | | | 12 |
31 | 2016-09-11 | Tour of Britain | Stage 8 | | | 108 | | | 40 |
32 | 2016-09-10 | Tour of Britain | Stage 7b | | | 46 | | | 20 |
33 | 2016-09-10 | Tour of Britain | Stage 7a (ITT) | | | 69 | | | 26 |
34 | 2016-09-09 | Tour of Britain | Stage 6 | | | 61 | | | 15 |
35 | 2016-09-08 | Tour of Britain | Stage 5 | | | 54 | | | 25 |
36 | 2016-09-07 | Tour of Britain | Stage 4 | | | 56 | | | 45 |
37 | 2016-09-06 | Tour of Britain | Stage 3 | | | 80 | | | 17 |
38 | 2016-09-05 | Tour of Britain | Stage 2 | | | 93 | | | 13 |
39 | 2016-09-04 | Tour of Britain | Stage 1 | | | 79 | | | 78 |
40 | 2016-06-26 | National Championships Great Britain ME - Road Race | | | DNF | | | DNF |
41 | 2016-05-01 | Tour de Yorkshire | General classification | | | 65 | | | 18 |
42 | 2016-05-01 | Tour de Yorkshire | Stage 3 | | | 64 | | | 18 |
43 | 2016-04-30 | Tour de Yorkshire | Stage 2 | | | 79 | | | 62 |
44 | 2016-04-29 | Tour de Yorkshire | Stage 1 | | | 47 | | | 33 |
45 | 2015-08-02 | Prudential RideLondon & Surrey Classic | | | DNF | | | DNF |
46 | 2015-05-03 | Tour de Yorkshire | Stage 3 | | | 52 | | | DNF |
47 | 2015-05-02 | Tour de Yorkshire | Stage 2 | | | 77 | | | 41 |
48 | 2015-05-01 | Tour de Yorkshire | Stage 1 | | | 33 | | | 67 |
49 | 2015-04-19 | Tour du Loir et Cher E Provost | Stage 5 | | | DNF | | | 57 |
50 | 2015-04-18 | Tour du Loir et Cher E Provost | Stage 4 | | | 145 | | | 6 |
51 | 2015-04-17 | Tour du Loir et Cher E Provost | Stage 3 | | | 76 | | | 17 |
52 | 2015-04-16 | Tour du Loir et Cher E Provost | Stage 2 | | | 111 | | | 12 |
53 | 2015-04-15 | Tour du Loir et Cher E Provost | Stage 1 | | | 134 | | | 133 |
| | | | 14 | | | 35 | |