Zwift Racing Score [July 2023]

Hey Zwifters!

Today we are sharing some big news in the world of racing and results: Zwift Racing Score.

Starting 3 July, all Zwift Monthly Racing events will be scored events. This means that Zwifters will see a post-event score based on their finishing position. This is your Zwift Racing Score. Zwift Racing Score will not initially impact how you sign up for or participate in races on Zwift (you will continue to use your normal A-D category). In the coming months, we will iterate in partnership with you to ensure the score provides the most value possible.

If you’re looking for the quick n’ dirty details, check out our FAQ on the support site at this link.

If you want to leave additional feedback about Zwift Racing Score, please do so at this survey link, which will be accessible after this post closes.

Our goal today is to:

  • Introduce the concept of Zwift Racing Score as transparently as possible
  • Collect feedback from you, the community, about how we can improve it over the coming months

With those goals in mind, we will provide information through these key points:

  • How we chose our current implementation for Zwift Racing Score
  • Where we are today with Zwift Racing Score and how we aim to improve it in the months to come
  • What Zwift Racing Score is and is not in its early stages
  • How Zwift Racing Score works today
  • Where and how we will need feedback from you to improve Zwift Racing Score

As a result, you can expect this to be a bit of a bigger read than you might be used to on the forums. Let’s get into it!

How will Zwift Racing Score benefit Zwifters?

The high level goals of Zwift Racing Score are to:

  • Help create a race environment that encourages all Zwifters to race by making it easy to get into the right races and rewarding to complete a race
  • Make it easy for Zwifters to understand how they stack up against their fellow competitors
  • Make racing rewarding rather than punitive (e.g. use a model that minimizes chances to lose points) and encourages racers of all levels to challenge themselves against harder fields
  • Create a new and flexible competitive scoring foundation that can evolve with Zwift racing over time

How did we decide on our current approach to scoring?

There are many ranking models that exist today across platforms for games as well as different governing bodies for cycling. There are multiple ranking systems built for Zwift alone, such as ZwiftPower, WTRL, or

Zwift Racing Score is, at present, derived from the ZwiftPower ranking method with some changes. The quick summary of ZwiftPower’s system is that it rewards Zwifters points based on how they finish, with more points being awarded for racing a more challenging race. The overall ranking is structured such that lower numbers indicate higher ranked riders on a scale from 600-0, where 0 is the best.

For more information on the ZwiftPower model, you can read about it in the FAQ section of the ranking page, found here.

We reached our decision to start with the ZwiftPower model based on:

  • Extensive user surveying and feedback collection
  • A system that will encourage more Zwifters to race, particularly Zwifters that have less race experience or have never raced
  • Overall simplicity in understanding the system
  • Extensive internal testing with real race results to both check our calculations and address most bugs and edge cases

What can I expect from Zwift Racing Score today and how will it evolve in the coming months?

We are building today with an eye to the future; just like the giant mech components in Makuri, you’ll be getting glimpses of what’s to come as we assemble bits, bobs, ends, and chunks to form our very own Watopian Voltron. Through the northern summer months, we are focused first on helping you all familiarize yourselves with Zwift Racing Score. We want to make it clear how it works so that we can make it the best it can be, in part through your feedback.

Today, Zwift Racing Score will appear simply as a number attached to your Zwift profile. For now, that number might mean little but in the future it will crystallize into a piece of a more comprehensive overhaul of the race experience.

Your Zwift Racing Score will be found on your profile in the following places, shown with example images:

These are example images only.

Your Zwift Racing Score is visible only to you on Zwift web, Zwift Companion, or in Zwift game. For the time being, you will only be able to see other Zwifters’ Zwift Racing Scores on their ZwiftPower profile if you are both registered for ZwiftPower.

How is my Zwift Racing Score calculated today? How can I affect it and see it change?

The Zwift Racing Score uses a 0-1000 scale, where 1000 is the best. This is a deliberate choice for more intuitive understanding. While the scale for Zwift Racing Score is different, the base math is largely the same.

Zwift Racing Score consists of three main components:

  1. Race Quality: this is how competitive the field is relative to you, and is determined by the five highest scored finishers in the first ten places of the race. A higher quality race is most often one that has a larger field (20-25+) and/or has more riders in a higher category (A-D) than you
  2. Points per place: the number of points you are awarded based on your finishing position. This varies from race to race depending on field size.
  3. Rank points: the final component that uses the race quality, your position, and points per place to determine your final score for finishing that race

For the time being, you will only be able to see your current score. You will not be able to see your historical score changes per race. We are working on showing you more information on how your score changes after each race and which races count toward your score.

We have been running internal score calculations with race results for a number of weeks ahead of our soft launch today. Up until 29 June 2023, all race results on Zwift were used to calculate a score for all Zwifters within a rolling 90 day window. As a result, some of you will see that you have a Zwift Racing Score on your profile already. Remember: it will show if you’ve done any one race in the last 90 days.

From 30 June 2023 onward, only specific races will have their results scored, beginning with the July Zwift Monthly Racing events. While scored races are currently limited to those events, we will gradually make more races scored as time progresses. We will communicate which other races will be included in the score calculation.

Today, Zwift Racing Score will function as follows for all Zwifters:

  1. You are scored on the race results you see in-game in Zwift immediately following the race. Race results in places like ZwiftPower, WTRL, a custom site from your favorite community organizer, or results which otherwise do not show immediately following a race in the Zwift game client do not influence your score

  2. Your scores are represented by a single numerical value on a 0-1000 scale, with 1000 being the highest possible score.

  3. Zwift Racing Score is an average of your 5 best race results on a 90 day rolling basis (with only July Monthly Racing events and other to-be-determined events in the future counting toward score after 30 June 2023)

  4. Each race has a quality multiplier associated with it, which serves as an augmentation to score as quality goes up. The higher the mathematical quality, the bigger the possible score change you can see. In other words, you can race with higher scored racers for a better chance at a score improvement.

    4a) For the soft launch, “higher quality” can be understood as a higher category race and/or races with more participants*

    *We understand that Zwifters in specific time zones might have a harder time finding highly populated races during the initial months of Zwift Racing Score. This may result in scores reading differently than you might expect.

    4b) You are not required to join higher category races, however, and your score’s accuracy does not change if you do so. Joining a higher category race is simply a means to challenge yourself and attempt to increase your score more drastically

  5. If you do not have any race results within the last 90 days, you will have a provisional score based on your 5 minute power best from the last 90 days in Zwift

    5a) The provisional score is currently not visible by itself on your profile

    5b) If you do not have any race results within the last 90 days, you will see “–” next to your Racing Score on your profile until you complete at least one race, at which time your provisional score combined with that race result will display a score on your Zwifter profile

    5c) If you have no ride or activity data on Zwift in the last 90 days, we strongly encourage you to do at least one activity before signing up for a race to have a more accurate score calculation, though it is not required

  6. If you have completed 4 or fewer races within the last 90 days, the provisional score will be used as a placeholder value for all races yet to be finished until you complete your 5th race. This helps you maintain as accurate a score as possible until you have completed 5 races. For each race finished, the provisional score will be overwritten, causing your score to shift

    6a) As you finish your first 5 races in 90 days, it is possible to see your score decrease because your provisional score is overwritten by the score of your most recent rac.

    6b) If you set a new 5 min power best in any activity on Zwift before you have completed 5 races, the provisional score will be updated to reflect your recent performance. This may cause some shift in your score if you have less than 5 races in the last 90 days

  7. Once you have finished 5 races in 90 days, you are unlikely to see your score decrease for finishing poorly in a race

  8. Your Racing Score can change when your race results start to fall outside the 90 day window

  9. It is possible to receive a score lower than your current Racing Score or a score of 0 in a race. If you have not yet done 5 races in the last 90 days, that score will be used to calculate your overall Racing Score

  10. The most consistent and accurate scores are produced by racing as much as possible

  11. You are not penalized for not finishing a race (DNF), no matter how many races you have completed in the last 90 days

How do I know which category to sign up for using my Zwift Racing Score today?

The TL;DR is there is no major change to race sign ups based on a score for the time being. Read on to find out more.

The goal of the scored results is, in part, to move away from power values to help you be less limited by your physiological capability. An emphasis on race placement helps to achieve this.

For the next few months, you will still sign up for all races according to your Race Category/Pace Group (A-D category). This is true for races that are scored as well as for races that are unscored. Zwift Monthly Racing will show A-E categories just like any other race.

The reason for this is that we are still working on the UI that will help you make the distinction between your Race Category/Pace Group and your Zwift Racing Score when signing up for a race.

There is no direct correlation between Pace Group and Zwift Racing Score.

Zwift Racing Score is primarily calculated based on your race results. Pace Group is calculated based on your power, and you will see values will differ. The long term goal is that Racing Score and Pace Group will not correlate to one another. However, there will be higher correlation in the early stages because we are initially using Pace Group for scored races. Racers that finish fewer races in 90 days will see a stronger correlation than those who race more.

For example, you may have a Pace Group of C based on your power numbers in the last 90 days, but you could be placing well in races within that Pace Group, which would make your Zwift Racing Score a different value than your Pace Group.

How do I leave feedback about Zwift Racing Score?

One great and easy way to leave feedback is right here on this forum post!

To keep feedback on this post timely and pertinent, we will be locking this post 14 days from its original post date.

The creation of additional forum threads is also welcome, though we ask you look thoroughly at existing threads that are relevant to your topic before creating your own in order to keep the discussion productive.

We also encourage you to fill out this survey!

For more information, check out our FAQ on our support site at this link.

Ride On. :ride_on:


You guys sure you debugged everything? I am cat D but have a score of 700!

1 Like

Yes, we’re feeling pretty good about it.

Remember: this is based on how you finish, not how hard you race. I just looked at your profile on our end and I see a lot of first and second place finishes for you, which would warrant the high score. Nice work!

It won’t be perfect, though, hence the long post saying as such. So feedback and scrutiny is appreciated.

1 Like

Based on your top 5 results in Zwiftpower being under 200, this seems reasonable.

Some of the tiny races have insanely high race qualities.

1 Like

i am at 717 Points pace group of C. is that right ? i think it sus.

But the problem lies in just joining a Tiny race, it has no bases on winning or beating anyone.

that’s massively too low.

Will there be a reset before next months zmonthly races?

No, it’s based on the USAC calculation. go and read about it here: How ZwiftPower Calculates Rider Rankings | Zwift Insider

(For clarity, in case anyone has missed is. 1000 is good. 0 is bad.)


No reset, no, but everything except Monthly Races stops being scored after 29 Jun. Right now all races have been scored in order to test and give most folks an initial score that’s more accurate. From 29 Jun onward, only Monthly Racing events will have score until we specify otherwise.

1 Like

ohhhhhhhhh i see. ooops @James_Zwift

1 Like

We can see already from posts on this forum of people that have inaccurate scores. i would consider a reset or you are sort of wasting your time starting off from inaccurate position waiting for results to drop off.

Things like tiny races really skew scores. found that and had to adjust looks like you are running into the same sort of issues.

1 Like

So entering a higher pen on occasions, is an issue because?

Somehow trying to test your sprint or ability to last in the A pen is an issue because?

The problem doesn’t lie with the user, the problem is systematic on your end. But if you believe it isn’t an issue and someone churning 1w/kg in an A race coming last warrants being the top 30% against all riders, there is no issue.

1 Like

Is there any reason you would have entered in A other than to try and secure a better score?


I won’t go too deep in to this, as it has all the flaws I would have expected from a points system and they have been discussed at length before, but if William Chau is ranked with elite riders, how can this ever be used to sort riders in to pens?

It works for handing out trophies, it doesn’t work to sort riders in to pens. If the long term goal is to do that, this doesn’t work. has demonstrated this absolutely perfectly (as you would expect from months of development with feedback and iterations from hundreds of community members). That’s why there is a separate rankings and points system there.


I cannot stress this enough: this is not the final product. We have it in a place we feel good about initially and are expecting to have to make a lot of changes to get it feeling better, hence the solicitation for feedback and high level of explanation in the post.

The post calls out explicitly that A-D category has no correlation to Racing Score.

Looking at the example screenshot from William and then checking against profile information, he’s finishing really well in cat D races and joining cat A races means he’s racing with a higher quality field. So, technically, the score is working as we’ve designed it to for the moment.

The issue, though, is that I think Tiny Races expose some wrinkles we’ll have to iron out, and that’s alright. Namely, it seems their quality is exceptionally high compared to other races.

At any rate, I’m expecting and open to a lot of this kind of discussion. We talked at length internally about when the best time to get Racing Score out into the wild was, and it seemed better to do it earlier than later so we can make it better over the summer. Please keep the feedback and call outs coming, it will help us immensely.


Definitely, why wouldn’t I test my self to see can I outlast the As on a downhill segment in race 2?

Why wouldn’t I see how long I can last in the draft of As, that is useful information when I race in mass start races. I have a vo2max that usually mean I can last 2-3 min with the As. This also means by the 2 min margin I need to choose a C group that breaks off to draft off of.

Part of racing is knowing your ability and limits, by testing it in different condition you have a better knowledge base. And that serves as a tool in your racecraft.


I don’t get why on the back of those internal discussion you are rolling this out based on historical race data as it clearly has major flaws.

Do a reset for the start from zmonthly events it will look a lot better while you work on the other quirks of scoring in different types events. Tiny races, points races, chase races etc all of which had to adjust for.

You are going to create more work for yourself with all the negative feedback imo

I’d disagree the score is working while William has some good results he has zero chance in a race of 700 score riders in a zmonthly race. We saw exactly this issue when started riders (sandbaggers :)) were pushed way beyond their ability in terms of rank to the point it was not even worth them racing or engaging in any ranking races.


Basing the system on ZP is such a huge fundamental miss from the start. I’m sure ZHQ has access to even better data than we do, and yet we can recognize how broken that system is and have correlation matrices showing how ZP rank is compared to literally any other metric. Basing the whole thing on basically 5-best from ZP scoring is going to lead to so much inflation, and the lack of scale for ability will cause a huge amount of frustration.

Interesting that the system is using ALL races to calculate this initial score, but are then limiting it to ZMonthly for now. Seems like a huge disconnect for accuracy, even if the intent is to limit people gaming it or to make easier adjustments to the system in its infancy.

Basing results on in-game results is going to cause a lot of headaches initially I bet. I get why ZHQ want to bring more things into the game instead of exporting it all to ZP, but in-game results just aren’t where it’s at right now. As results-based racing improves, should get better, but that’s gonna be a growing pain. I know not everyone is bought into the ZP-for-results idea, but any semi-serious racer that is going to care about results-based racing knows that in-game results are garbage.

Last point is on how in the world these numerical values make sense. William has a score of 700 while I’m at 600. Does that mean he’s going to be racing much harder people in general relative to our abilities? How does that get adjusted if there’s no mechanism for revising downwards? There’s no scale built-in to the system, so seems broken already.

Truly don’t understand the decision to base the system off a fundamentally-broken ZP ranking system when much better, accurate, and consistent systems like are available.


Part of the decision here is that we wanted folks to have a number right off the rip rather than see nothing for two reasons:

  1. it would help us confirm quickly what the most glaring issues were, e.g. Tiny Races; we had suspicions and of course the hard work of Tim to look to, but because we’re taking a different approach we wanted to be more sure, using community feedback.

  2. because we’re treating the next few months as a test with a goal of “northern fall” to have a lot more pieces in place - namely signing up for races based on score rather than A-D cat - we felt like having historical race data would be better since the scores from the summer will drop off by the fall as it is.

From our perspective, we knew were up for a lot of work no matter which way we sliced it. We felt this was the best path forward for us.