The 2020 Tour de France was a race of sudden reversals – from Tadej Pogacar's stunning run up La Planche des Belles Filles to snatch the overall victory from Primoz Roglic, to Peter Sagan's relegation in the sprint on stage 11 and Richard Carapaz losing his grip on the polka-dot jersey on the penultimate stage.
Cyclingnews has gathered all the data from this year's Tour and assembled it into easily digestible graphics to help you remember all the highs and lows of this year's unusual race.
The below graphic is an attempt to represent what the peloton looked like on each stage, with one dot for each rider in a swarm sorted by each rider's finishing speed.
This visualisation shows how the peloton split in the crosswinds on stage 7 and in the hills on stage 10, when Sam Bennett (Deceuninck-QuickStep) finally cemented the points classification.
It also demonstrates how fast some of the stages were – stages 7, 10, and 19 were absolute rippers – and how the mountains spread the peloton down the road.
Of special note is the stage 20 individual time trial, where Tadej Pogacar was so much faster than his competition on La Planche des Belles Filles that he stands high above the rest of the dots. Also of note are the unfortunate crash victims on stage 1 – Pavel Sivakov (Ineos) in particular – who finished well behind the peloton and appears below the average speed.
The box over each swarm represents the middle 50 per cent of the range, with a horizontal line representing the average speed of all riders.
Hover over each dot to see the rider's name, team, rank and speed.
After Alexander Kristoff claimed the first maillot jaune of overall leader on the opening stage, the jersey quickly shifted hands to Julian Alaphilippe (Deceuninck-QuickStep) in the hilly second stage in Nice.
The Frenchman held the jersey for four stages, but Adam Yates (Mitchelton-Scott) – the highest placed of the overall contenders – took over the jersey on stage 5 after the Frenchman was given a 20-second time penalty for taking a feed too close to the finish.
Crosswinds on stage 7 split the peloton, catching out eventual overall winner Tadej Pogacar (UAE Team Emirates) and leaving the young Slovenian with ground to make up.
He began his charge toward the overall victory on stage 9, winning in Laruns after the Col de Marie Blanque. Yates finally slipped down the rankings on that stage, with Roglic taking over as race leader.
Everything looked under control for Roglic, although Pogacar bounced up the rankings with another stage win on the Grand Colombier on stage 15, before smashing Roglic's hopes in the individual time trial on stage 20.
The below animated graphic can be viewed with the y-axis as either the gap to the leader or the relative ranking of the GC favourites, using the "Ranks" and "Scores" buttons.
Peter Sagan (Bora-Hansgrohe) went into the Tour de France as the outright favourite to take the green jersey, having won it seven times before. In the past, Sagan has obtained his points with a mix of high placings in sprint finishes and intermediate sprint points taken on hilly or mountainous stages, where most of his rivals would be dropped.
This time, however, he was up against Bennett, who went for the intermediate sprints and was better at the finishes, taking out wins on stage 10 and the final stage in Paris.
From the below graphic, you can see that it was Bennett's superiority in the finishes that gave him the advantage. The points that Sagan lost after being relegated on stage 11 and penalised (43 points total) really cost him.
Other riders like Wout van Aert (Jumbo-Visma), winner of stages 5 and 7, and Caleb Ewan (Lotto Soudal), winner on stage 3 and 11, didn't go for the intermediate sprints and gained most of their points at the finishes.
Michael Mørkøv, lead-out man for Bennett, in contrast claimed a fair number of points at intermediate sprints, mainly with the aim of denying points to Sagan, but only a few at stage finishes.
The below animated bar chart race shows the progression of the green jersey fight in each intermediate and finishing sprint, from stage 1 to the finish on the Champs-Elysées.
The polka-dot jersey doesn't always go to the best climber in the race. Often, it's won by an opportunist who can break away and sweep up mountain primes on multiple stages. This year, however, the Tour de France organisers halved the value of the hors-catégorie ascents, awarding only 20 points for the few that were included in the race. Only the Col de la Loze had double points for being the highest point in the Tour.
The first jersey went to Fabien Grellier (Total Direct Energie) in Nice before moving onto the shoulders of AG2R La Mondiale's Benoit Cosnefroy on stage 2. The Frenchman kept the jersey until Pogacar took the lead in the mountains classification on stage 17.
Richard Carapaz (Ineos) looked set to claim the polka-dots in Paris after going on a raid with teammate Michal Kwiatkowski on stage 18. Even if he hadn't lost five points along the way to Marc Hirschi (Sunweb), Carapaz wouldn't have won.
Pogacar's incredible ride on stage 20 netted him 10 points – enough to move him to the top of the polka-dot jersey rankings.
The below two graphs show where riders claimed mountain points, first by stage and then by category.
Lastly, the prize purse. The ASO pays €500,000 to the winner, but there are bonuses along the way with payouts for mountain primes, intermediate sprints, stage finishes, leading one of the four classifications, including best young rider bonuses for the top under-26 rider on each stage, and the best team on each stage.
The final classifications also pay out down to between four and eight places, but every rider who completes the Tour de France gets at least €1,000 for making it all the way to Paris.
The below graphic shows how much each team earned, with colours representing each competition's prizes.
Have ideas for other visualisations you'd like to see in future Grand Tours? Email us at firstname.lastname@example.org.
Thank you for signing up to Cycling News. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.