| Total | Grand Tours | Monuments | One Day races | Stage races | Big races | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jaar | Team | Z | P | T | D | Z | R | P | T | S | F | Z | P | T | S | F | Z | P | T | S | F | Z | R | P | T | S | F | Z | R | P | T | S | F | Points |
| 2025 | Israel - Premier Tech | 0 | 1 | 4 | 59 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 3 | 0 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 8 | 6 | .0 |
| 2024 | KAZAKHSTAN | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana Qazaqstan | 2 | 5 | 8 | 76 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 1 | 3 | 3 | 0 | 0 | 0 | 0 | 4 | 2 | 0 | 0 | 0 | 1 | 9 | 5 | 1.5 | |
| Jaartotaal | 2 | 5 | 8 | 77 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 1 | 3 | 3 | 0 | 0 | 0 | 0 | 4 | 2 | 0 | 0 | 0 | 1 | 9 | 5 | 1.5 | |
| 2023 | KAZAKHSTAN | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana Qazaqstan | 9 | 11 | 19 | 71 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 6 | 5 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 10 | 7 | 21.4 | |
| Jaartotaal | 9 | 11 | 19 | 72 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 6 | 5 | 0 | 0 | 0 | 0 | 5 | 1 | 0 | 0 | 0 | 1 | 12 | 7 | 21.4 | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | .0 | |||
| 2022 | KAZAKHSTAN | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana Qazaqstan Team | 2 | 4 | 10 | 64 | 0 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 4 | 3 | 4.3 | |
| Jaartotaal | 2 | 4 | 10 | 66 | 0 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 4 | 3 | 4.3 | |
| 2021 | KAZAKHSTAN | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana - Premier Tech | 3 | 5 | 16 | 74 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 4 | 3 | 0 | 1 | 1 | 1 | 5 | 3 | 0 | 1 | 1 | 2 | 10 | 7 | 24.3 | |
| Jaartotaal | 3 | 5 | 16 | 76 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 4 | 3 | 0 | 1 | 1 | 1 | 5 | 3 | 0 | 1 | 1 | 2 | 10 | 7 | 24.3 | |
| 2020 | Astana | 2 | 8 | 11 | 43 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 1 | 2 | 2 | 0 | 1 | 1 | 1 | 5 | 4 | 23.3 |
| Jaartotaal | 2 | 8 | 11 | 43 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 1 | 2 | 2 | 0 | 1 | 1 | 1 | 5 | 4 | 23.3 | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 | |||
| 2019 | KAZAKHSTAN | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana | 11 | 15 | 25 | 69 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 5 | 4 | 0 | 1 | 0 | 1 | 2 | 2 | 0 | 1 | 0 | 3 | 8 | 7 | 37.2 | |
| Jaartotaal | 11 | 15 | 25 | 71 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 5 | 4 | 0 | 1 | 0 | 1 | 3 | 2 | 0 | 1 | 0 | 3 | 9 | 7 | 37.2 | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | .0 | |||
| 2018 | KAZAKHSTAN | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana | 7 | 12 | 15 | 67 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 3 | 2 | 0 | 1 | 1 | 1 | 3 | 1 | 0 | 1 | 1 | 1 | 7 | 4 | 79.6 | |
| Jaartotaal | 7 | 12 | 16 | 69 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 4 | 3 | 0 | 1 | 1 | 1 | 4 | 2 | 0 | 1 | 1 | 1 | 9 | 6 | 79.6 | |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2 | 2 | .0 | |||
| 2017 | KAZAKHSTAN | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana | 3 | 7 | 7 | 81 | 0 | 1 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 3 | 3 | 0 | 1 | 1 | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 6 | 6 | 13.2 | |
| Jaartotaal | 4 | 8 | 9 | 82 | 0 | 1 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 3 | 3 | 0 | 1 | 1 | 7 | 5 | 0 | 0 | 0 | 0 | 3 | 3 | 0 | 1 | 1 | 1 | 12 | 10 | 13.3 | |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 6 | 4 | .1 | |||
| 2016 | KAZAKHSTAN | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana | 4 | 8 | 8 | 59 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 3 | 2 | 40.4 | |
| Jaartotaal | 4 | 8 | 9 | 60 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 3 | 0 | 1 | 0 | 0 | 4 | 2 | 0 | 1 | 0 | 0 | 9 | 6 | 40.4 | |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 6 | 4 | .0 | |||
| 2015 | KAZAKHSTAN | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana | 3 | 3 | 3 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 3 | 2 | 9.8 | |
| Jaartotaal | 3 | 3 | 4 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 3 | 2 | 0 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 0 | 0 | 6 | 4 | 9.8 | |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 3 | 2 | .0 | |||
| 2014 | Astana | 2 | 3 | 3 | 42 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 2.5 |
| Jaartotaal | 2 | 3 | 3 | 42 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 6 | 3 | 2.5 | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 3 | 2 | .0 | |||
| 2013 | KAZAKHSTAN | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 |
| Astana | 0 | 0 | 0 | 40 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | .0 | |
| Jaartotaal | 0 | 0 | 0 | 41 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 7 | 2 | .0 | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 5 | 2 | .0 | |||
| 2012 | KAZAKHSTAN | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3.0 |
| Continental Team Astana | 3 | 13 | 13 | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9.0 | |
| Jaartotaal | 4 | 14 | 14 | 31 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 12.0 | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 | |||
| 2011 | 0 | 4 | 4 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 | |
| 2010 | 1 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 | ||
| 2009 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | .0 | ||
| Totaal | 54 | 103 | 154 | 820 | 0 | 2 | 0 | 2 | 16 | 12 | 0 | 0 | 1 | 19 | 12 | 0 | 1 | 5 | 50 | 34 | 0 | 5 | 3 | 4 | 40 | 24 | 0 | 7 | 4 | 11 | 106 | 70 | 140.9 | |
| Year | Date | Race | Pos | Team | UCI | Km | RaceType |
|---|---|---|---|---|---|---|---|
| 2018 | 2018-12-31 | UCI Asia Tour | 1 | Astana | |||
| 2018 | 2018-10-14 | International Presidency Turkey Tour | Rit 6 | 13 | Astana | 2.WT | 166 | |
| 2018 | 2018-10-14 | International Presidency Turkey Tour | 2 | Astana | 2.WT | ||
| 2018 | 2018-10-12 | International Presidency Turkey Tour | Rit 4 | 1 | Astana | 2.WT | 206,7 | |
| 2018 | 2018-10-11 | International Presidency Turkey Tour | Rit 3 | 7 | Astana | 2.WT | 137 | |
| 2018 | 2018-10-10 | International Presidency Turkey Tour | Rit 2 | 20 | Astana | 2.WT | 154,1 | |
| 2018 | 2018-08-24 | Asian Games I.T.T. | 1 | Astana | CCT | 43 | ITT |
| 2018 | 2018-08-23 | Asian Games | 1 | Astana | CC | 145,5 | |
| 2018 | 2018-08-10 | Tour of Poland | Rit 7 | 18 | Astana | 2.WT | 136 | |
| 2018 | 2018-08-08 | Tour of Poland | Rit 5 | 12 | Astana | 2.WT | 152 | |
| 2018 | 2018-08-06 | Tour of Poland | Rit 3 | 18 | Astana | 2.WT | 140 | |
| 2018 | 2018-07-14 | Österreich Rundfahrt | Rit 8 | 2 | Astana | 2.1 | 163,2 | |
| 2018 | 2018-07-12 | Österreich Rundfahrt | Rit 6 | 1 | Astana | 2.1 | 176,9 | |
| 2018 | 2018-07-10 | Österreich Rundfahrt | Rit 4 | 7 | Astana | 2.1 | 143 | |
| 2018 | 2018-07-09 | Österreich Rundfahrt | Rit 3 | 20 | Astana | 2.1 | 133,7 | |
| 2018 | 2018-07-08 | Österreich Rundfahrt | Rit 2 | 5 | Astana | 2.1 | 180,5 | |
| 2018 | 2018-07-07 | Österreich Rundfahrt | Rit 1 | 19 | Astana | 2.1 | 149,8 | |
| 2018 | 2018-06-26 | N.K. Kazachstan | 1 | Astana | NC | 174 | |
| 2018 | 2018-05-27 | Giro d'Italia | 87 | Astana | GT | ||
| 2018 | 2018-05-27 | Giro d'Italia | Rit 21 | 120 | Astana | GT | 115 | |
| 2018 | 2018-05-26 | Giro d'Italia | Rit 20 | 49 | Astana | GT | 214 | |
| 2018 | 2018-05-25 | Giro d'Italia | Rit 19 | 34 | Astana | GT | 185 | |
| 2018 | 2018-05-24 | Giro d'Italia | Rit 18 | 125 | Astana | GT | 196 | |
| 2018 | 2018-05-23 | Giro d'Italia | Rit 17 | 115 | Astana | GT | 149,5 | |
| 2018 | 2018-05-22 | Giro d'Italia | Rit 16 | 27 | Astana | GT | 34 | ITT |
| 2018 | 2018-05-20 | Giro d'Italia | Rit 15 | 53 | Astana | GT | 176 | |
| 2018 | 2018-05-19 | Giro d'Italia | Rit 14 | 127 | Astana | GT | 186 | |
| 2018 | 2018-05-18 | Giro d'Italia | Rit 13 | 76 | Astana | GT | 180 | |
| 2018 | 2018-05-17 | Giro d'Italia | Rit 12 | 61 | Astana | GT | 214 | |
| 2018 | 2018-05-16 | Giro d'Italia | Rit 11 | 107 | Astana | GT | 156 | |
| 2018 | 2018-05-15 | Giro d'Italia | Rit 10 | 140 | Astana | GT | 244 | |
| 2018 | 2018-05-13 | Giro d'Italia | Rit 9 | 125 | Astana | GT | 225 | |
| 2018 | 2018-05-12 | Giro d'Italia | Rit 8 | 136 | Astana | GT | 209 | |
| 2018 | 2018-05-11 | Giro d'Italia | Rit 7 | 133 | Astana | GT | 159 | |
| 2018 | 2018-05-10 | Giro d'Italia | Rit 6 | 145 | Astana | GT | 169 | |
| 2018 | 2018-05-09 | Giro d'Italia | Rit 5 | 145 | Astana | GT | 153 | |
| 2018 | 2018-05-08 | Giro d'Italia | Rit 4 | 155 | Astana | GT | 202 | |
| 2018 | 2018-05-06 | Giro d'Italia | Rit 3 | 29 | Astana | GT | 229 | |
| 2018 | 2018-05-05 | Giro d'Italia | Rit 2 | 169 | Astana | GT | 167 | |
| 2018 | 2018-05-04 | Giro d'Italia | Rit 1 | 32 | Astana | GT | 9,7 | ITT |
| 2018 | 2018-04-01 | Ronde van Vlaanderen | DNF | Astana | 1.WT | 264,7 | |
| 2018 | 2018-03-17 | Milano - Sanremo | 107 | Astana | 1.WT | 294 | |
| 2018 | 2018-03-11 | Tirreno - Adriatico | Rit 5 | 13 | Astana | 2.WT | 178 | |
| 2018 | 2018-03-03 | Strade Bianche | 26 | Astana | 1.WT | 184 | |
| 2018 | 2018-02-18 | Tour of Oman | Rit 6 | 18 | Astana | 2.HC | 135,5 | |
| 2018 | 2018-02-18 | Tour of Oman | 1 | Astana | 2.HC | ||
| 2018 | 2018-02-17 | Tour of Oman | Rit 5 | 2 | Astana | 2.HC | 152 | |
| 2018 | 2018-02-16 | Tour of Oman | Rit 4 | 14 | Astana | 2.HC | 117,5 | |
| 2018 | 2018-02-15 | Tour of Oman | Rit 3 | 3 | Astana | 2.HC | 179,5 | |
| 2018 | 2018-02-14 | Tour of Oman | Rit 2 | 3 | Astana | 2.HC | 167,5 |
DNF means that the rider did not start or finish that day. DF means that the rider finished that day, but no result is known.
VeloStatistics makes every effort to update and/or supplement the content of the website as often as possible.
Despite this care and attention, it is possible that content is incomplete and/or incorrect.
Nothing from this website may be reproduced and/or made public without prior permission from VeloStatistics.
© 2024-2025 VeloStatistics