Competitive & AI Tech Update: September/October 2022 Recap

Hey Zwifters!

Welcome back to another edition of our Competition & AI Tech roadmap update. This will cover the progress we have made in September & October.

The goal is to provide insight as to what we are working on surrounding competition and what’s on deck in the coming months.

The post will cover these sections:

  • What can you expect in the next release?
  • What is Zwift working on now?
  • What is the status of feedback the community provided?

As always, we welcome your feedback on this post! To make sure we capture it all in this moment in time, we will be auto-closing the post 7 days from the original post date.

Let’s get into it!

What can you expect from the next release?

Zwift version 1.31 will see the beginning of recording and retention of your PRs for segments set during all activities, not just free rides (excluding group workouts and meetups). There are also some bug fixes. Read on for more.

  • Improving fairness in racing through:

    • Scoring: implementing scoring and categorization based on race results. We have made some great progress on the initial foundation of this change, which has allowed us to begin computing basic scores based on past races.
    • Race Rules UI: We have implemented the necessary user interface for both Category Enforcement and Hardware Requirements. You should now be able to easily identify when a race is using Category Enforcement, Hardware Requirement, or both, as well as understand what the restrictions you’re seeing mean.
    • Hardware Requirements: All event organizers can now use Hardware Requirements in their events. This means that event organizers can now specify if they want their race to require: 1) power meters, 2) power meters + heart rate, 3) zPower, 4) zPower + heart rate, or 5) no required hardware.
    • Category Enforcement updates: We have steadily been making changes to the Category Enforcement limits in effort to make it feel as equitable as possible for racers. This is largely based on community feedback as well as internal discussion. You can find the updated limits on our support site.
  • HoloReplay:

    • Free ride segment PR data has been recorded and stored since 16 Aug 2022. Segment PR data for all other activities - excluding group workouts and meetups - will be recorded and stored from game 1.31 release onward.
    • These will be played back to you only during free rides. This still includes RoboPacer (formerly PacePartner) rides as well as your free ride segment PRs.
    • The Replays for all non-free ride activities are available now!*
    • Thank you to everyone that helped make HoloReplay a smooth and successful launch as a first implementation. We’re happy with the feature and we hope you are too! More information on HoloReplay can be found here.
  • Competitive Experiences: Pack Dynamics V4

    • Pack Dynamics V4 has begun its testing phase the last couple of weeks, with the goal of getting user feedback and providing a more rewarding race and ride experience throughout Zwift. You can read more about Pack Dynamics V4 over in this thread as well as find the upcoming events in this thread.

What is the status of feedback the community provided?

  • Backlog : It’s on our radar and some work has been done
  • Discovery : Early in the development process
  • In Progress : It’s actively being worked on
  • Done : Released

Improving Fairness in Competition

  • Hardware Requirement: implement ruleset for events requiring the use of specific hardware to participate - Done :white_check_mark:
  • Hardware Requirement: implement UI informing when hardware is required and what types are required - Done :white_check_mark:
  • Hardware Requirement: allow community race organizers to have required hardware in events - Done :white_check_mark:
  • Category Enforcement: implement UI informing why certain categories are visible - Done :white_check_mark:
  • Category Enforcement: implement UI showing when an event is using CE - Done :white_check_mark:
  • Category Enforcement: implement UI on the Zwifter profile to show what the current power thresholds are - In Progress
  • Scoring & Categorization: allow race results to have a score - In Progress
  • Scoring & Categorization: allow scored results to influence overall ranking progression - In Discovery

AI Tech

  • HoloReplay: implement playback feature based off personal data - Done :white_check_mark:
  • HoloReplay: implement recording, retention, and playback of PR data from non free ride activities - In Progress (will release with game 1.31)
  • HoloReplay: implement recording, retention, and playback for entire routes - In Progress
  • HoloReplay: allow Zwifters to ride against one another’s Replay - In Discovery
  • HoloReplay: UI improvements - In Discovery
  • HoloReplay: Zwift Companion UI component - In Discovery
  • RoboPacers: Implement a handcycle Pacer - In Discovery

Competitive Experiences

  • Pack Dynamics V4 - In Progress


A note for bugs: this update is from a limited perspective, and will not always be representative of everything affecting events, segment results, etc. These bodies of work focus most directly on competitive events, Pace Partners, and the future of competition at Zwift.

  • UI: Leaderboards in certain worlds can be too numerous on the bottom bar - Done :white_check_mark: (1.31 release)
  • ZwiftPower: using “days to show” in filters for series breaks - Backlog
  • ZwiftPower: heart rate can show in profile page results but not specific race - Backlog

That link leads to this statement

What are the values for the category minimums?
If any of your maximum values are equal to or above the minimums shown in the following tables, you’ll only be able to race in that category or higher. For example—in a women’s only race—if your MAP value is 4.3W/kg you can race in categories B or A. In an open race, if your MAP value is 3.2W/kg and your watts are 140, you can race in categories D, C, B, or A.

That is inaccurate as per this thread

It very much feels like you are burying your head in the sand with regards to CE issues

Edit to add image of user who is exceeding the value and continues to race in category with CE applied

Little tip for CE. Whilst working on rankings, we started using Compound Score rather than either W or W/kg. It’s a game changer to get away from the complications of weight. If you use compound score there is no longer a requirement to have a raw watts threshold. More info on Compound Score here:


That thread should not be looked to as a source of truth any longer - it’s from February. I remember that recently I said the same thing and even posted the new and correct values in a different thread (this one I think). That article link should have the appropriate values on it now - I put the request through and spoke with our team. I’ll double check it for accuracy once more to make sure.

If you have a specific issue with a specific rider, then I’ll look into it. Perhaps we have some broader work to do to tighten it up as you’ve suggested. We’ve got a lot going on at the moment and I’ve not been able to dedicate the proper time to that, and I’m sorry that’s the case. I’ll spend some time to read through your reports later on and see what I can learn that I haven’t yet.

Thanks for the info.

1 Like

Saw you lot switched to that recently and took a peek. We’ll keep that one filed away for our progress on ranking/scoring.


Thank you for the update.

Fantastic news just what we were all waiting for. I might be missing something but is this available now to see my VO2 Max, MAP, CP figures somewhere like my Profile or on ZwiftPower etc or will it be available from next game update?

1 Like

There’s really no need conflate different threads or the like. Your latest comms says “If any of your maximum values are equal to or above the minimums shown in the following tables, you’ll only be able to race in that category or higher”

We have a rider with 3.48wkg 20min effort racing in C as per the image I posted. Its certainly not 1 rider who is an outlier.

Whatever confidence you have in CE probably needs to be re-evaluated.

No, but that’s coming:

  • Category Enforcement: implement UI on the Zwifter profile to show what the current power thresholds are - In Progress

@xflintx Flint,

I’m disappointed that custom category limits for Category Enforcement is off the backlog. I really feel that the Cat Enforcement CP limits, while they have flaws, are a very good tool for races not aimed at the hardcore racing community - like our herD Beginner Racing, and the monthly ZRacing series for that matter.
I’m not sure the CP calculation is doing exactly what you want though - it seems to allow a lower category for riders if they have greater short power, given the same 10+min power curve…

Scoring - any more info on this? Is this just using the existing ZwiftPower implementation of the USAC points, or something else?

Can I add that “RoboPacer” sounds horrible? Pace Partner was a much better name. I initially thought you might be worried that it was an infringement on Garmin, but I checked and their feature is called Virtual Partner, not Pace Partner.

1 Like

Thanks, in my excitement I thought the one I listed above was it as things had moved from In Progress to Done and missed this one.

Any chance November/December update ?

Any chance you are also working to give us the option to exclude our race/event PR’s given they are usually heavily influenced by draft conditions that are rarely in existence in freerides?


I couldn’t agree more, why they thought “RoboPacer” made sense or was a good idea is beyond me.

But then again, we have these RoboPacers saying “we are a Blobosaurus, my favourite Dinosaur” what age group is that catering for?

I’m disappointed that custom category limits for Category Enforcement is off the backlog.

100% understand why. The decision to not work on it was ultimately made so that we could progress toward scoring more quickly. It didn’t feel right to put the work in to make customizable category limits for power-based categories when we’re moving toward a scored system that won’t rely on power. The amount of work to do that is also not trivial, which was another large factor to consider.

I’m not sure the CP calculation is doing exactly what you want though

Seems it isn’t, no. Admittedly, I’ve been so wrapped up in trying to get scored racing shored up and moving in the right direction I haven’t been looking at category enforcement as closely as it needed. Sorry for that.

Scoring - any more info on this?

We’re looking at the USAC model yes, as well as something like is using (Elo or Elo-MMR, etc.). But that doesn’t mean we’re choosing one outright and eschewing all others. While our current math and work is based on the ZwiftPower system with some significant changes (it’s not a literal copy), we’ve built in flexibility and have examined other systems so that if that doesn’t work or feel good, we can quickly pivot to another.

Ultimately, the overall goal is to heavily test with all of you to make sure that whatever system we end up with, it feels equitable and fun. We want to create a competitive environment where your finishing place in a race on Zwift produce a score that feels good and representative of that placing, e.g. If you get a top 10 in a stacked field, you should feel you were rewarded for a top 10 in a stacked field.


We sure are. Lots of stuff coming for HoloReplay.


Oh, I get that - the actual math for the ranking system is the easiest-to-change piece of implementing a ranking system and sorting start pens by ranking.

Can I please throw in a reminder that possibly the biggest problem with the current ZwiftPower system is that it doesn’t sort points races by points but by finishing order? Just fixing that would improve the rankings significantly, I think.


What is the future of ZP?

We need everyone on Zwift to be in race results and for zp to be fit for purpose so organisers are not forced to design external sites and scrape rider data to put on a series.


My dream for it right now (and hopefully what becomes a reality) is that it’s no longer a separate site, and all the key functionality of ZwiftPower that makes it great is integrated into Zwift proper where it makes the most sense - whether that’s in the game client, on the website, in ZC, a combination of some/all etc. is TBD - so that you have a nice seamless experience. No more of that separate site feeling.

Currently working on getting that one more defined for you, just giving you the long term personal hope I have for it.


Please remember that one of the best features of ZwiftPower is the concise data-rich table layout. You can see lots of data, sort easily and compare and contrast.

This is unlike the typical Zwift website that has icons, graphics, etc that make it mostly unusable when you are trying to find and compare etc.

In other words, PLEASE don’t remake ZwiftPower to look like the Zwift website.


Not the game client only, if you pick only one place it need to be the website because we look at and analyze our data after a ride on the pc or phone