Frequently Asked Questions

General

Every time a new race result appears on ZwiftPower.

This means that rider power data is taken from the low-resolution data the Zwift server receives during the race. Usually, within a few hours of race completion, the full data .FIT file from each rider is uploaded and analyzed. This gives much more accurate power data - particularly over short time periods like 5s, 5-min etc.

Yes, James Eastwood has written 3 articles on Zwift Insider which you can find at:

In addition, I was a guest on The Wrap podcast which can be found here:

Yes. You can see this on your rider profile page and also by age and gender.

So far we've landed on not including non-finishers mostly to not “punish” people who have a mechanical and can't finish (Wi-Fi dropout, etc).

We do plan to add DNF riders to the result page in the near future in order to give the finishers credit for beating those riders without punishing those who do DNF.

ZwiftRacing uses ZwiftPower as it's "source of truth" and, because of this, relies on the results in ZwiftPower being accurate in order to make the correct vELO changes. Because WTRL does not update ZwiftPower with the accurate results (typically after applying points), I have made the decision to disable vELO for those events. Any power PBs are still captured and will reflect on your rider profile at the completion of your next vELO-enabled race.

For WTRL ZRL stages that are in the scratch format, a couple of problems still persist. Any disqualifications that may occur on the WTRL site are not reflected in ZwiftPower and, more importantly, ZR has no way of knowing whether a race is a scratch or points format until results are present with primes data.

Rank/Rating

ZwiftPower uses 20-minute W/kg to categorize racers.

Category Enforcement (CE) uses a more complex formula using all your Zwift data. It's a bit more accurate, but still a solely 'power-based' metric.

ZwiftRacing.app uses Compound Score (CS) combined with results-based ranking modification, which considers your overall 'performance' in races - not just power metrics. It gives a more complete, more accurate way of comparing rider ability. “How well you do in races” is the best metric for how good a racer you are. Neither ZP nor CE include a results-based component.

Your initial rating is calculated as your Compound Score which uses your best 5m power (in watts) in the last 90 days and your weight (in kg) as input.

For example, for a rider with a best 5m power of 400 watts and a weight of 75 kg, the calculation would be:
400 * (400 / 75) = 2133.33

Quick answer
Compound Score (CS) - 5-minute W/kg * 5-minute raw watts - is an excellent indicator of overall race performance.

Long answer
Currently there are two metrics which Zwifters will be very familiar with - raw power in watts, and W/kg, which is raw watts divided by weight. Raw power tends to determine speed on the flats, and W/kg on the climbs, but not exclusively. It is extremely problematic to sort riders by ability using raw W or W/kg, because you have to exclude either the weight element or the raw power element.

Researchers tried to solve this problem in IRL racing by establishing a metric that has a far stronger correlation to racing success. Something they found, which we feel is also very true for Zwift racing, is that 5-minute power is important for all of the key moments in a race - to establish a breakaway, to hold a pack over a climb, even to sprint… as a strong 5-minute power has a significant creatine-phosphate and anaerobic contribution. It also correlates strongly with longer duration capability.

To solve the issue of W versus W/kg, the researchers normalized them through a formula. This is the Compound Score (CS). The full paper can be read here:https://www.researchgate.net/publication/361643363_The_Compound_Score_in_elite_road_cycling

In the early days of ZwiftRacing.app we sorted all riders by Compound Score, and were amazed at how accurately it grouped riders by ability. Rather than have everyone start at a middle rank and work their way up or down, the Compound Score immediately placed riders well, which means new or returning riders can quickly establish a point of ranking accuracy.

You can think of Compound Score as a power-based system, and the ranking changes are added on top to make adjustments based on a rider’s particular skill sets, promoting frequent strong performers.

If you do better than expected, your numerical rating will increase. If you do worse than expected, it will decrease. +/- 25 is a small change, +/- 50 is a medium change, >50 is a large change

Rating increases occur if you perform better than predicted. Because most races are organized using ZwiftPower A-D categories, a rider with a high rating could keep winning races without any increase in rank. Podium bonuses are applied to ensure that frequent winners move up through the ranks.

Ideally there would be no need for podium bonuses, as they do introduce rating inflation through the season. There needs to be more variety in how races are organized before that can happen. So for now they are a necessary evil.

The ranking system is designed around accurately rating a rider's ability versus other riders, for the purpose of grouping riders for races. It's not a reward or progression style approach. A separate points system is currently in the works to go alongside the rankings. Watch this space!

20-minute W/kg is a fairly good indicator of how you will perform on a 20-minute climb. But it's not a very good metric for defining race categories or ability.

ZwiftRacing.app initially uses Compound Score (CS), which closely models overall racing performance on a variety of courses, regardless of rider weight, size and phenotype. The rank is adjusted after each race according to the results of the race, refining its accuracy.

ZwiftRacing takes an Elo-type approach to rankings, where rank changes are dependent on the quality of riders that you beat or are beaten by. In simple terms, you are given an expected finish position for each race. If you do better than this, you will get a ranking upgrade. If you do worse, you will lose ranking. The idea is that, over the course of time, your ranking gets more and more accurate to determine your expected finish position in any race.

A fundamental part of this approach is that you can lose ranking as well as gain it. This means that a rider would lose ranking for performing badly, even if they had the capability to do well - for example if they decided to do a race as a zone 2 training ride.

At first glance this seems problematic. However it is important to understand why it is necessary as well as why it has a limited impact in reality.

Imagine two riders; Bob has a 4W/kg FTP, Sue a 2 W/kg FTP. They race each other 10 times. Bob likes to ride every 5th race as a recovery, and comes last in these races.

In a system which only considers best performances, Bob would be expected to beat Sue 100% of the time. With ZwiftRacing.app, Sue has a 20% chance of beating Bob, which we know empirically to be true. It is this approach to accuracy, extrapolated to all riders in a race, which makes ZwiftRacing.app rankings so suitable for grouping riders for races.

It is true that you could ride multiple races below your ability, and push your rank down, which could see you racing in an easier field than you should. However, if your rank is lower than it should be and you then perform very well compared to this rank, you will see a significant rank increase - so the system quickly adjusts. This makes it a lot of work to deliberately game the platform. Will someone do it? Undoubtedly, which is why we are also working on some pattern-recognition and flagging ability to limit deliberate ranking losses.

ELO Algorithm

Similar to other implementations of an ELO-like results algorithm, each rider has a rating that will move up or down after each race. The movement of your rating is largely related to your finish position and the ratings of the other riders in the race.

More specifically, the system calculates 2 values for use in the rating delta formula:

  1. A “score” for each rider based on their finish position
  2. An “expected score” for each rider based on their rating and the ratings of the others in the race

From there, a mathematical formula uses those two inputs as well as a few multipliers to determine the output delta that you see next to the rider's new rating.