This post provides an in-depth explanation of our thought process behind and rationale for the Pro E Cycling (“PEC”) Points system we use to rank riders. To avoid all this complexity and just see a simple chart depicting the PEC Points allocated for each race, please see here.
The following two charts set out the formula we use to rank individual riders for each race in our database. If it doesn’t make sense to you, don’t worry – it shouldn’t at this point. The point of this post is to explain it all.
Major Races
Race | Race Category | Race Multiplier | Individual Bonus Points Multiplier | Team Bonus Points |
---|---|---|---|---|
UCI World Championships | One Day Scratch Race | x30 | – | – |
Zwift Games Championships | Stage Scratch Race | x10 (stage) x20 (GC) | – | – |
Zwift Grand Prix | Stage Points Race | x10 (stage) x20 (GC) | x2 (stage) x5 (GC) | First: 15 Second: 6 Third: 3 |
Minor Races
Race | Race Category | Race Multiplier | Individual Bonus Points Multiplier | Team Bonus Points | Other Bonus Points |
---|---|---|---|---|---|
Zwift World Series | Stage Scratch Race | x6 (stage) x12 (GC) | – | First: 15 Second: 6 Third: 3 | – |
KISS Super League | Stage Scratch Race | x5 (stage) x10 (GC) | – | – | – |
MyWhoosh Championships | Stage Scratch Race | x4 (stage) x8 (GC) | – | – | Sprint/KOM Jerseys: 10 |
Zwift Classics | One Day Scratch Races | x5 | – | – | – |
Tour de Zwift Pro-Am; Tour of Watopia Pro-Am; Pro Tour for All | Stage Points Race | x3 (stage) x6 (GC) | x1 (stage) x2 (GC) | First: 5 Second: 2 Third: 1 | – |
Olympic ESports Series | Stage Points Race | x3 (stage) x6 (GC) | x0 (stage) x1 (GC; Podium only) | First: 5 Second: 2 Third: 1 | |
Sunday Race Club | One Day Scratch Races | x4 | – | – | – |
Introduction
When we started building this website, we set out to create a simple ranking system that valued the results fans and riders care about. To state the obvious up front (if you started by looking at the above charts): we sort of failed.
Okay, okay, we didn’t really fail. We think our PEC Points system does result in rankings that accurately reflect the success of each rider. We also think that we do a good job of limiting PEC Points to results that are actually meaningful. But our ranking system is undoubtedly more complicated than we would have hoped.
In our defense, it isn’t really our fault. Some of the distinctive aspects of virtual racing that make it so exciting – points races, team competitions, “FAL” and “FTS” segments (more on these below) – also make it much more difficult to create a simple ranking system that accurately reflects results across a multitude of races.
Below, we explain our PEC Points system in more detail, including how points are awarded for different races. As with everything we have done so far on this site, we are very interested in hearing your thoughts. Please contact us at [email protected] with any feedback.
Race Categories
First, it’s helpful to outline some basics about how we think about and categorize the races in our database. There’s a lot more detail below, but the bottom line is that, based on a race’s classification and format, we divide races into three different categories:
- One Day Scratch Races
- Stage Scratch Races
- Stage Points Races
- Race Classification: First, we divide races into two different classifications – One Day Races and Stage Races. At first glance, this is simple enough – it mirrors how road races are traditionally categorized.
- But because this is virtual cycling, it can’t be that straightforward. For example, a race like the Olympic ESports Series took place on a single day but consisted of three back-to-back stages. Because each of those stages functioned as an independent race, points were awarded for each stage, and the general classification (“GC”) and team results were tallied based on the cumulative totals across each stage, we consider it to be a stage race.
- Similarly, the 2022-2023 UCI World Championships also occurred on a single day and consisted of three back-to-back races. But we consider that a one day race. Why? Because the format did not award points for success on the first two stages. They were just elimination races. Stage one started with 100 riders, with the top 30 progressing to stage two and the rest eliminated. Only 10 of those 30 progressed to stage three, where the world championship was awarded to the winner. Because the first two stages were not independent races and a rider’s finishing place in either of those stages had no impact on their final result (other than determining whether or not they had been eliminated), we consider this as a single, one day race despite the multi-stage format. We’ve stayed consistent with this approach for the 2024-2025 UCI World Championships, which had a similar three stage approach but not include eliminations and used points rather time to determine the world champion.
- But because this is virtual cycling, it can’t be that straightforward. For example, a race like the Olympic ESports Series took place on a single day but consisted of three back-to-back stages. Because each of those stages functioned as an independent race, points were awarded for each stage, and the general classification (“GC”) and team results were tallied based on the cumulative totals across each stage, we consider it to be a stage race.
- Race Format: The format of a race can either be a Scratch Race or a Points Race. And this is where some of the fun quirks of virtual cycling come in. To oversimplify a bit, road cycling races are mostly scratch races – that is, races where the winner is the first to cross the finish line, second place crosses the line second, and so on and so forth.
- But the virtual format gives race organizers more space for creativity, and as such there are races in our database (such as Zwift Grand Prix) that we refer to as points races. These are races where points are awarded to riders based not only on their finishing position, but also based on their success in other in-race segments. A rider’s position in GC (and their team’s in the team competition) is then determined based solely on the amount of points they won in the race, regardless of where they finish overall. Points races tend to be used only for stage races, since using a points system in a one day race makes things quite complicated, though of course the 2024-2025 UCI World Championships on MyWhoosh pushed the boundaries of the format. For the sake of simplicity though, we treat that race as a one day scratch race so that we can award PEC Points according to the same system we used for previous World Championships (though of course a rider’s finishing position follows the race format and is based on their point totals rather than finishing time).
- In general, there three types of points awarded in points races (though this is constantly evolving):
- Finish Points: Points awarded to riders based on the place in which they finish the race.
- First Across the Line (“FAL”) Points: Points awarded to riders based on the place in which they finish a particular in-race segment. FAL Points are the same as Finish Points, except that the “finish line” for a FAL segment is within the race, and the riders continue racing after the points are awarded. Think of FAL Points as an intermediate sprint in a road race, except there are a lot more of them and they are much more important.
- Fastest Through Segment (“FTS”) Points: Points awarded for the fastest time to complete a certain in-race segment, measured from start to finish of that segment, regardless of the place in which the rider finished that segment. For example, if a rider is dropped from the main peloton, they can still win FTS points by completing a segment faster than anyone else in the race, even if they finish the segment behind 50 other riders.
- Finish Points: Points awarded to riders based on the place in which they finish the race.
- Points races are both awesome and complicated. They are awesome because they create a lot more excitement in races by breaking stages down into multiple smaller races. They are complicated because, well, there is a lot going on, riders have different objectives, and it is really tough to fashion a unified ranking system that accounts for the different points structures and formats used across different races. In addition, it is often not entirely clear whether a race is a scratch race or a points race, as a particular race format might blend the two.
- For example, Zwift Grand Prix has always been a points race. The 2023-2024 edition was no different, but it featured a scratch race in stage three. In that stage, points were awarded solely based on the place in which a rider finished. Even though that individual stage was a scratch race, the race as a whole and all the other stages were points races. As such, we consider stage three within that larger context and classify it as a points race.
- Another example is the 2018-2019 KISS Super League. Each stage was a scratch race, but rather than use a rider’s overall time to determine their place in the GC, points were awarded based on the place in which the rider had finished. Points (rather than times) were then tallied to calculate overall GC and team positions. Although we defer to the points system in calculating GC results, since the existence of that system would have affected how riders approached the race, we consider each stage in the KISS Super League (and the race as a whole) to be a scratch race and award PEC Points accordingly.
- For example, Zwift Grand Prix has always been a points race. The 2023-2024 edition was no different, but it featured a scratch race in stage three. In that stage, points were awarded solely based on the place in which a rider finished. Even though that individual stage was a scratch race, the race as a whole and all the other stages were points races. As such, we consider stage three within that larger context and classify it as a points race.
Using this breakdown, the races in our database are classified as follows:
- UCI World Championship: One Day Scratch Race
- Zwift Classics: One Day Scratch Races
- Sunday Race Club: One Day Scratch Races
- Zwift Games Championship: Stage Scratch Race
- Zwift World Series: Stage Scratch Race
- KISS Super League: Stage Scratch Race
- MyWhoosh Championship: Stage Scratch Race
- Zwift Grand Prix: Stage Points Race
- Tour de Zwift Pro-Am: Stage Points Race
- Tour of Watopia Pro-Am: Stage Points Race
- Pro Tour for All: Stage Points Race
- Olympic ESports Series: Stage Points Race
Base PEC Points, Race Multipliers, and Bonus Points
Now that we have established the three categories of races in our system, this section explains how points are awarded to riders in each of those three categories.
As explained below, we first calculate the base PEC Points a rider earned in a race. The formula for that calculation depends on whether the race was a scratch race or a points race. We then multiply the rider’s base PEC Points by the race multiplier, which varies depending on the importance of the race, to arrive at the total number of PEC Points the rider earned for their performance. For certain stage races, there are also smaller amounts of bonus points a rider can receive.
Base PEC Points: To start, we award 20 base PEC Points for each race included in our ranking system. How those points are awarded depends on the format of the race.
- Scratch Races: Our ranking philosophy prioritizes awarding points for results that matter to riders and fans. In the UCI WorldTour, riders receive points for coming in 57th place. But… truly… does anyone really care who came in 57th? Of course not: fans and riders care first and foremost about winning races, or failing that at least getting on the podium. Top 10 finishes matter as well, but much less so, and beyond that the results are just not that significant. As such, we award PEC Points only to the top 10 riders in a race, and the base PEC Points we award for scratch races are heavily weighted towards the top:
- First: 10 PEC Points
- Second: 4.5 PEC Points
- Third: 2 PEC Points
- Fourth: 0.8 PEC Points
- Fifth: 0.7 PEC Points
- Sixth: 0.6 PEC Points
- Seventh: 0.5 PEC Points
- Eighth: 0.4 PEC Points
- Ninth: 0.3 PEC Points
- Tenth: 0.2 PEC Points
- Points Races: Points races are different and more challenging. For these races, we adjust the percentage of total points in the race the rider won to the 20 point scale for base PEC Points, and award the rider that amount of base PEC Points.
- To illustrate with an example: let’s say a points race offers a total of 100 race points, and one rider earns 25 of those total points. That is 25% of the total. To determine the amount of base PEC Points the rider would be awarded for that race, we would multiply 20 (the total amount of base PEC Points) by 25% (the percentage of total race points the rider won. The rider would therefore be awarded 5 base PEC Points.
- To illustrate with an example: let’s say a points race offers a total of 100 race points, and one rider earns 25 of those total points. That is 25% of the total. To determine the amount of base PEC Points the rider would be awarded for that race, we would multiply 20 (the total amount of base PEC Points) by 25% (the percentage of total race points the rider won. The rider would therefore be awarded 5 base PEC Points.
- Race Points vs. PEC Points: Before we go on, it’s worth pausing to explain the difference between Race Points and PEC Points. Race points refer to the points awarded to riders in a particular race that are internal to that race, while PEC Points are our own creation, and are intended to create a uniform ranking system across races that use very different formats. To take one example, in the 2018-2019 KISS Super League, a rider received 25 race points for winning a stage. Thus, his or her race points total for that stage would be 25. But for the purposes of our ranking system, that rider would receive 10 base PEC Points which, when the race multiplier for a KISS stage was applied would result in 50 total PEC Points for that stage.
Race Multipliers: Not all races are created equal. In the same way the Renewi Tour matters much less than the Tour de France, some races in our database are more important than others. Accordingly, each race in our system is assigned a race multiplier based on its significance in the virtual cycling world. Stage races are assigned multipliers both for each individual stage and for GC (i.e., the overall race). As the name suggests, to determine the total number of PEC Points a rider receives for a race, we take the amount of base PEC Points and multiply it by the race multiplier.
We have assigned the races in our database the following race multipliers, and broken those races down into two race classes based on their importance: “major” and “minor” races. If you want to read more about why we view some races as more important than others, please read our post here.
Major Races
- UCI World Championships: x30
- Zwift Games Championships: x10 (stage); x20 (GC)
- Zwift Grand Prix: x10 (stage); x20 (GC)
Minor Races
- Zwift World Series: x6 (stage); x12 (GC)
- KISS Super League: x5 (stage); x10 (GC)
- MyWhoosh Championships: x4 (stage); x8 (GC)
- Zwift Classics: x5
- Tour de Zwift Pro-Am: x3 (stage); x6 (GC)
- Tour of Watopia Pro-Am: x3 (stage); x6 (GC)
- Pro Tour for All: x3 (stage); x6 (GC)
- Olympic ESports Series: x3 (stage); x6 (GC)
- Sunday Race Club: x4
A note on terminology: for stage points races, we refer to the total amount of points on offer in a particular points race as the Points Pool. So for a Zwift Grand Prix stage, there are 200 PEC Points available to riders that are allocated based on the percentage of race points they win in that stage (the 20 base PEC Points times the x10 race multiplier). We call the 200 PEC Points on offer the “points pool” for that race.
Bonus Points: Given the unique nature of stage points races, we award bonus PEC Points in two categories for those races. Bonus points are generally awarded only in stage points races. The exceptions to this are two stage scratch races: the team results in the Zwift World Series and the sprint and KQOM jerseys in the MyWhoosh Championship.
- Team Results: Stage points races are heavily team focused. Road cycling is of course a team sport. But points races in the virtual world take it to another level. Indeed, for the stage points races in our database, there is not even a formal GC for individual riders; instead, team points are all that matters, and at the end of the race it’s a team that wins, not an individual. While our Team Rankings will (eventually) rank these teams, for the purpose of individual rankings we decided to award bonus PEC Points to each rider on the top three teams in a stage points race. We believe that doing so recognizes that virtual cycling is more of a team sport than some other cycling disciplines.
- Base PEC Points for team bonuses are limited to the teams that finish on the podium and are as follows:
- First: 5 PEC Points
- Second: 2 PEC Points
- Third: 1 PEC Point
- Race multipliers for team bonuses are below. Although these are team focused races and we believe it is important for team success to be reflected in our rankings, the low multipliers here are due to the fact that our rankings are still individual rankings, and we do not want to overvalue team success.
- Zwift Grand Prix: x3
- Zwift World Series: x1
- Tour de Zwift Pro-Am: x1
- Tour of Watopia Pro-Am: x1
- Pro Tour for All: x1
- Olympic ESports Series: x1
- Base PEC Points for team bonuses are limited to the teams that finish on the podium and are as follows:
- Individual Results: As we have already discussed, the team-focused nature of stage points races means that there sometimes is not a formal individual winner of a stage or the GC. But we care about tracking the riders that scored the most points for their teams in each stage and across the race as a whole. As such, we award bonus PEC Points for the top ten points-getters in each stage and in the overall GC for a points stage race. For the Olympic ESports Series, a smaller race with only 16 total riders, we awarded bonus PEC Points only to the GC points podium.
- Base PEC Points for individual bonus points use the same system described above for scratch races (10 points to the winner, 4.5 for second, 2 for third, and for the Zwift Grand Prix GC, 0.8 for fourth and so on).
- Race multipliers for individual bonuses are as follows:
- Zwift Grand Prix: x2 (stage); x5 (GC)
- Tour de Zwift Pro-Am: x1 (stage); x2 (GC)
- Tour of Watopia Pro-Am: x1 (stage); x2 (GC)
- Pro Tour for All: x1 (stage); x2 (GC)
- Olympic ESports Series: x0 (stage); x1 (GC; podium only)
- Base PEC Points for individual bonus points use the same system described above for scratch races (10 points to the winner, 4.5 for second, 2 for third, and for the Zwift Grand Prix GC, 0.8 for fourth and so on).
- One critique of individual bonus points (and to some degree, team bonus points) is that they duplicate the PEC Points already awarded through the normal system. That is intentional. To take an extreme example, let’s look back at stage three of the 2023-2024 Zwift Grand Prix again (recall, this was the stage structured as a scratch race in what was otherwise a stage points race). For that stage, the winner received 80 points for their team, second place 79, and so on and so forth, with each subsequent place receiving one less point until it reached zero. In our PEC Points system, the difference between first and second place is miniscule. But in terms of how fans and riders view it, winning that stage is a big deal! We think adding in individual bonus points better reflect that reality.
All-Time vs. Current Rankings
To state the obvious, our all-time rankings rank riders based on the total number of PEC Points they have scored in all of the races in our database. Current Rankings reflect the total number of PEC Points within the last two years, updated at the start of every month. So to take an example, the March 2025 current rankings will reflect the total number of PEC Points riders have scored in races that occurred in and between March 2023 and February 2025.
Most Valuable Avatars
Just for fun, we award Most Valuable Avatar, or MVA, to the rider in each season that won the most PEC Points. There aren’t any additional points associated with the award, we just thought it would be cool to have a MVP-like concept for our rankings.
Conclusion
So there you have it (and if you made it this far, congrats!). While our PEC Points system is admittedly more complex than the ranking system we set out to create, we think it does a great job of capturing the results that fans and riders alike actually care about. But if you have thoughts, questions, or ways we can improve it, please let us know here.