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 | Alpecin - Deceuninck | 0 | 0 | 0 | 61 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 7 | 2 | 0 | 0 | 0 | 0 | 4 | 4 | 0 | 0 | 0 | 0 | 12 | 7 | .0 |
2024 | SWITZERLAND | 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 |
Alpecin - Deceuninck | 0 | 0 | 2 | 75 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 6 | 4 | 0 | 0 | 0 | 0 | 5 | 4 | 0 | 0 | 0 | 0 | 12 | 9 | .0 | |
Jaartotaal | 0 | 0 | 2 | 76 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 6 | 4 | 0 | 0 | 0 | 0 | 5 | 4 | 0 | 0 | 0 | 0 | 12 | 9 | .0 | |
2023 | SWITZERLAND | 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 |
Alpecin - Deceuninck | 0 | 0 | 1 | 47 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 9 | 8 | .0 | |
Jaartotaal | 0 | 0 | 1 | 48 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 9 | 8 | .0 | |
2022 | SWITZERLAND | 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 |
Alpecin - Fenix / Alpecin - Deceuninck | 0 | 0 | 1 | 46 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 8 | 8 | .0 | |
Jaartotaal | 0 | 0 | 1 | 47 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 9 | 8 | .0 | |
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 | |||
2021 | SWITZERLAND | 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 |
Alpecin - Fenix | 1 | 1 | 2 | 47 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 6 | 5 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 9 | 8 | .1 | |
Jaartotaal | 1 | 1 | 2 | 48 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 6 | 5 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 9 | 8 | .1 | |
2020 | SWITZERLAND | 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 |
AG2R - La Mondiale | 0 | 1 | 4 | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 4 | 2 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 6 | 4 | .1 | |
Jaartotaal | 0 | 1 | 4 | 31 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 4 | 2 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 6 | 4 | .1 | |
2019 | SWITZERLAND | 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 |
AG2R - La Mondiale | 0 | 0 | 1 | 47 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 4 | 4 | 0 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 8 | 7 | .0 | |
Jaartotaal | 0 | 0 | 1 | 48 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 4 | 4 | 0 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 8 | 7 | .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 | |||
2018 | SWITZERLAND | 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 |
AG2R - La Mondiale | 1 | 3 | 6 | 63 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 1 | 1 | 8 | 3 | 25.2 | |
Jaartotaal | 1 | 3 | 6 | 64 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 4 | 3 | 0 | 0 | 0 | 0 | 6 | 2 | 0 | 0 | 1 | 1 | 11 | 6 | 25.2 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 3 | 3 | .0 | |||
2017 | SWITZERLAND | 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 |
BMC Racing | 3 | 6 | 7 | 38 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 3 | 9.4 | |
Jaartotaal | 3 | 7 | 8 | 39 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 6 | 6 | 9.5 | |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | .1 | |||
2016 | SWITZERLAND | 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 |
BMC Racing | 0 | 2 | 2 | 68 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 2 | 1.4 | |
Jaartotaal | 0 | 2 | 4 | 69 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 9 | 4 | 1.4 | |
0 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 5 | 2 | .0 | |||
2015 | SWITZERLAND | 0 | 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 | .0 |
BMC Racing | 2 | 3 | 3 | 52 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 3.5 | |
Jaartotaal | 3 | 5 | 6 | 53 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 4 | 3 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 7 | 6 | 3.7 | |
1 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 4 | 3 | .2 | |||
2014 | BMC | 0 | 6 | 7 | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 2 | 2.3 |
Jaartotaal | 1 | 7 | 8 | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 4 | 3 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 6 | 5 | 2.6 | |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 3 | 3 | .3 | |||
2013 | BMC | 1 | 2 | 2 | 4 | 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.1 |
Jaartotaal | 3 | 6 | 8 | 15 | 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 | 13.6 | |
2 | 4 | 6 | 11 | 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 | 4.5 | ||
2012 | 4 | 6 | 10 | 8 | 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 | .1 | |
2011 | Team Vorarlberg | 1 | 2 | 2 | 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 |
Jaartotaal | 2 | 4 | 7 | 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 | |
1 | 2 | 5 | 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 | 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 | |
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 | ||
2008 | 0 | 1 | 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 | ||
2007 | 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 | 18 | 43 | 70 | 640 | 0 | 1 | 0 | 0 | 12 | 10 | 0 | 1 | 1 | 25 | 18 | 0 | 1 | 2 | 59 | 46 | 0 | 0 | 0 | 0 | 33 | 22 | 0 | 1 | 1 | 2 | 104 | 78 | .7 |
Year | Date | Race | Pos | Team | UCI | Km | RaceType |
---|---|---|---|---|---|---|---|
2025 | 2025-08-31 | Bretagne Classic - Ouest-France | 125 | Alpecin - Deceuninck | 1.WT | 261,7 | Flat |
2025 | 2025-03-01 | Omloop Het Nieuwsblad | 105 | Alpecin - Deceuninck | 1.WT | 194,6 | Flat |
2024 | 2024-08-25 | Bretagne Classic - Ouest-France | 125 | Alpecin - Deceuninck | 1.WT | 259,6 | Hill |
2024 | 2024-04-07 | Paris - Roubaix | 85 | Alpecin - Deceuninck | 1.WT | 260 | Flat |
2024 | 2024-03-20 | Classic Brugge - De Panne | 144 | Alpecin - Deceuninck | 1.WT | 198,9 | Sprint |
2024 | 2024-03-16 | Milano - Sanremo | 163 | Alpecin - Deceuninck | 1.WT | 288 | Flat |
2023 | 2023-05-01 | Eschborn - Frankfurt | 27 | Alpecin - Deceuninck | 1.WT | 203,8 | Hill |
2023 | 2023-04-09 | Paris - Roubaix | 42 | Alpecin - Deceuninck | 1.WT | 256,6 | Flat |
2023 | 2023-04-02 | Ronde van Vlaanderen | 80 | Alpecin - Deceuninck | 1.WT | 273,4 | Hill |
2023 | 2023-03-26 | Gent - Wevelgem | 90 | Alpecin - Deceuninck | 1.WT | 260,9 | Flat |
2023 | 2023-03-24 | G.P. E3 Harelbeke | 69 | Alpecin - Deceuninck | 1.WT | 204,1 | Flat |
2023 | 2023-03-18 | Milano - Sanremo | 100 | Alpecin - Deceuninck | 1.WT | 294 | Flat |
2022 | 2022-05-01 | Eschborn - Frankfurt | 67 | Alpecin - Fenix / Alpecin - Deceuninck | 1.WT | 185 | Sprint |
2022 | 2022-04-17 | Paris - Roubaix | 63 | Alpecin - Fenix / Alpecin - Deceuninck | 1.WT | 257,2 | Flat |
2022 | 2022-04-03 | Ronde van Vlaanderen | 98 | Alpecin - Fenix / Alpecin - Deceuninck | 1.WT | 272,5 | Hill |
2022 | 2022-03-27 | Gent - Wevelgem | 57 | Alpecin - Fenix / Alpecin - Deceuninck | 1.WT | 256,8 | Flat |
2022 | 2022-03-25 | G.P. E3 Harelbeke | 50 | Alpecin - Fenix / Alpecin - Deceuninck | 1.WT | 203,9 | Flat |
2022 | 2022-03-19 | Milano - Sanremo | 102 | Alpecin - Fenix / Alpecin - Deceuninck | 1.WT | 293 | Flat |
2021 | 2021-10-03 | Paris - Roubaix | 48 | Alpecin - Fenix | 1.WT | 257,5 | Flat |
2021 | 2021-09-19 | Eschborn - Frankfurt | 46 | Alpecin - Fenix | 1.WT | 186,49 | Sprint |
2021 | 2021-03-31 | Dwars door Vlaanderen | 62 | Alpecin - Fenix | 1.WT | 184 | Flat |
2021 | 2021-03-28 | Gent - Wevelgem | 75 | Alpecin - Fenix | 1.WT | 248,6 | Flat |
2021 | 2021-02-27 | Omloop Het Nieuwsblad | 14 | Alpecin - Fenix | 1.WT | 200,5 | Flat |
2020 | 2020-10-11 | Gent - Wevelgem | 22 | AG2R - La Mondiale | 1.WT | 232,5 | |
2020 | 2020-02-29 | Omloop Het Nieuwsblad | 17 | AG2R - La Mondiale | 1.WT | 200 | |
2019 | 2019-04-14 | Paris - Roubaix | 57 | AG2R - La Mondiale | 1.WT | 257 | |
2019 | 2019-04-07 | Ronde van Vlaanderen | 54 | AG2R - La Mondiale | 1.WT | 267,7 | |
2019 | 2019-03-31 | Gent - Wevelgem | 59 | AG2R - La Mondiale | 1.WT | 251,5 | |
2019 | 2019-03-09 | Strade Bianche | 14 | AG2R - La Mondiale | 1.WT | 184 | |
2018 | 2018-04-15 | Amstel Gold Race | 54 | 1.WT | 263 | ||
2018 | 2018-04-08 | Paris - Roubaix | 2 | AG2R - La Mondiale | 1.WT | 257 | |
2018 | 2018-02-24 | Omloop Het Nieuwsblad | 18 | AG2R - La Mondiale | 1.WT | 196,2 | |
2017 | 2017-04-19 | Fleche Wallonne | 62 | 1.WT | 204,5 | ||
2017 | 2017-04-16 | Amstel Gold Race | 88 | 1.WT | 261 | ||
2017 | 2017-04-02 | Ronde van Vlaanderen | 49 | BMC Racing | 1.WT | 260,8 | |
2017 | 2017-03-26 | Gent - Wevelgem | 42 | 1.WT | 249,2 | ||
2017 | 2017-03-18 | Milano - Sanremo | 125 | BMC Racing | 1.WT | 291 | |
2016 | 2016-04-24 | Liège - Bastogne - Liège | 123 | BMC Racing | 1.WT | 248 | |
2016 | 2016-04-20 | Fleche Wallonne | 136 | 1.WT | 196 | ||
2016 | 2016-04-17 | Amstel Gold Race | 86 | 1.WT | 248,7 | ||
2015 | 2015-04-19 | Amstel Gold Race | 78 | 1.WT | 258 | ||
2015 | 2015-04-05 | Ronde van Vlaanderen | 61 | BMC Racing | 1.WT | 264,9 | |
2015 | 2015-03-22 | Milano - Sanremo | 38 | BMC Racing | 1.WT | 293 | |
2014 | 2014-08-24 | Vattenfall Cyclassics - Hamburg | 9 | BMC | 1.WT | 245,9 | |
2014 | 2014-04-06 | Ronde van Vlaanderen | 46 | BMC | 1.WT | 259,1 | |
2014 | 2014-03-30 | Gent - Wevelgem | 58 | 1.WT | 233 |
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