Holistic Cycling Time Trial Score

Holistic Cycling Time Trial Score
Movistar rider separated during the horrendous conditions of stage one La Vuelta 2023

So what is it?

We've generated, what we feel is a better score to boost up potential diamonds in the rough prior to key time trial events.

Let's take an example.

In the Renewi Tour 2023 Stage 2 ITT, Tim Wellens came second overall, and the odds had him long.

If you took a look at the top time trialist specialists for the race going in, Tim Wellens didn't even make the top twenty and yet managed to place in the second slot. Jasper Stuyven, another dark horse, was situated 34th in the PCS ranking going in and managed to snag the fourth slot in the race.

Wellens was actually incredibly far down on PCS's time trial ranking at 39th. Why was that? PCS only takes into account this year's results for this score. So if you race a bunch of time trials and finished ninth in each of them, you'd likely have a score higher than someone who raced once but finished second.

We'd prefer to bubble up those riders that are either:

a) Trending in the right direction (their time trial scores are improving)

b) Likely to place within the top three given past results

We're a fan of Education First's pink kit. Hate us if you'd like.

Alright. So how do we go about that? We started extremely basic and created a better weighted score (in our humble opinion) that we'll iterate on in the coming months.

For testing purposes we started by comparing if it could ingest a start list of riders and then predict, or bubble to the top, those riders who are dark horses for placing within the top three. We'd compare it to past time trial race results to see how it fared.

Let's take the Renewi 2023 tour again. We ingested the start list and asked it to spit out the rankings of riders for the time trial on stage two. This is the first fifteen riders it spat out. Note that the lower the score - the higher likelihood the rider will perform well at the race

'tim-wellens': 4.01,
'jasper-stuyven': 7.18,
'nils-eekhoff': 9.3,
'alexander-edmondson': 9.78,
'cees-bol': 15.86,
'thibau-nys': 16.82,
'xandro-meurisse': 16.83,
'arnaud-demare': 17.25,
'joshua-tarling': 17.41,
'florian-vermeersch': 22.5,
'yves-lampaert': 24.65,
'matej-mohoric': 24.81,
'mikkel-bjerg': 25.78,
'tobias-foss': 26.89,
'luca-van-boven': 29.94,

Not bad at all. Both Wellens and Stuyven are up there, and definitely "above the fold" where we can at least begin to do more research on their potential for the race. Previously not even having them above the first twenty on PCS's time trial ranking guaranteed we wouldn't see them on PCS's user interface.

Having Joshua Tarling (the new time trial darling dare we say) floating around 10th on the algorithms list was fine by us. We'd rather highlight those riders who never get the limelight and may have a large pay off in odds rather than the big names who we already know are good.

Pogačar time trial racing in the Tour de France

So what did we do? So far just a rather simple weighted average based on four key facets of a time trial races:

  • Previous positions
  • Date differential
  • Distance differential
  • Race class

Based on these facets we calculated a "score" from each race and then averaged those scores out over time. Let's briefly dig into each facet.

Previous Positions

This was the heaviest weighted part of the score, at 0.8. It took into account both the position and the race class of the race, with more weighting being applied based on the position of the race.

For example, if the rider has performed within the top three at a race, they got a high multiplier on that race position, but if the race class of the race was a national championships (and not from a "qualified" country - we'll get into what a "qualified" country is in a bit) then that multiplier was slightly reduced.

Unsure if the sky, or the greenery is prettier. Is their a bike race going on?

Date Differential

Rather straightforward. If the performance of the race we were calculating was closer to the race we wanted to generate a potential result for then that result gets a higher score.

The date diff was calculated in days and was an indicator of if the rider was trending in the right direction.

Distance Differential

Higher scores for riders that had previously performed well on courses of similar length. We all know that a prologue of 2.9km is different than a time trial of 50km. We wanted to factor that in.

Race Class

We're not good enough bike riders to race in even a 2.2 race, let alone a UWT race. But it does go without saying that the calibre of riders in a 2.2 race are weaker than in a UWT race. Let's take that into account.

What about National Championship races (NC) races? Well. There's certainly a difference between a NC held in Belgium or France compared to one in, well, Canada (sorry compatriots). We've calculated the best time trial countries and factored that into how many points we award National Championships or if to discard those results entirely.

Cofidis needs a better time trial setup. But hey, there's nice contrast in this picture.


Overall, we'll continue to hone the algorithm on races and we'll be hosting the results of the algorithm for future time trials at data.procyclingbets.com and surfacing them within our blog articles for stage races.

There's a number of future improvements we'd like to include; the obvious one being elevation gain factor - but we'll get to that in time. Like a multi day stage race we're big fans of iteration and taking it one day at a time.

If you have any interesting aspect you think could play into the algorithm please feel free to reach out to [email protected].