Competition & AI Tech Update: May 2022 Recap

Hey Zwifters!

Time for round two of our recently established Competition & AI Tech roadmap update. Thanks for your engagement on our last post, it was great to see your questions and feedback.

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?

The next release - released 8 Jun 2022 as v 1.26 - includes:

  • Personal Record Data: we will be increasing the amount of time your PRs on leaderboards are shown from 30 days (current) to 90 days. We hope for this to be the crucial first step in allowing you to have more agency over what data you show when Zwifting.

What is Zwift working on now?

  • Improving fairness in racing through:
    • Event Hardware Minimum Requirements - the ability to race against other Zwifters that are on similar hardware: i.e. power meter users against other power meter (crank, pedal, trainer, etc.) users; classic trainer users vs other classic trainer users.
    • Category Enforcement Improvements - the ability for Zwift support to invalidate egregious power curves, i.e. when their trainer overreports.

What is the status of feedback the community provided?

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

Community Feedback & Status

Improving Fairness in Competition

  • Publish category enforcement power limits - Done :white_check_mark: (found here)
  • Women’s specific power categories for Category Enforced events - Done :white_check_mark:
  • Extending all leaderboard PR data beyond 30 days - In Progress
  • Hardware Restriction - In Progress
  • Category Enforcement: implement UI informing why certain categories are visible - In Progress
  • Category Enforcement: implement UI showing when an event is using CE - In Progress
  • Category Enforcement as an option in clubs - Backlog
  • Custom category limits when using Category Enforcement - Backlog

AI Tech

  • Pace Partners Dynamic Paces - Done :white_check_mark:
  • Pace Partners expanded route capability - Done :white_check_mark:
  • Expand Pace Partners: more pace capability in single world - Done :white_check_mark:
  • Pace Partners: prevent avatar from changing color and category when altering power - Done :white_check_mark:
  • Pace Partners as event leaders - In Progress
  • Pace Partners home screen UI improvements - In Progress
  • Expand Pace Partners: incorporate previous tests to global schedule - In Progress
  • Event Pace Partners: Alpe du Zwift PR pace events - In Progress
  • More nuance and dynamism with Pace Partner behavior - Backlog

Competitive Experiences

  • Time Trials: improve in-pen pre-event experience for TTT - In Progress
  • Time Trials: improve event join experience for TTT - In Progress
  • Time Trials: allow pedaling in pen ahead of TT start - In Progress
  • Time Trials: expand route selection for TTT/ITT - In Progress


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

  • Pace Partners: unable to drop in from homescreen - Done :white_check_mark:
  • Pedal Assist does not end after initial assist - Done :white_check_mark:
  • ZwiftPower: age of U23 riders not displaying correctly on profile - Backlog
  • ZwiftPower: using “days to show” in filters for series breaks - Backlog
  • ZwiftPower: users with exceptional height are incorrectly DQd - Backlog
  • ZwiftPower: heart rate can show in profile page results but not specific race - Backlog

Hi @xflintx thanks for this. Anything in the backlog regarding better integration of Zwiftpower in to the main Zwift game? Or anything for bringing category enforcement measures into Zwiftpower?

Any chance you can expand on this? Is this UI in the companion app, web, and in Zwift Power as well? Will Zwift Power be updated to show your CE category, and perhaps the MAP/CP values for your profile? Today there’s a summary of the three values that average out to create your Zwift Power category, when people see that value they then get confused as to why CE races are slotting them into a different category etc… Having the CE category displayed there would at least help I imagine.

Edit: Similar question to Michael it seems :slight_smile:

1 Like

Right now what that UI work means is to provide both ease of identification of Category Enforced events without having to read descriptions and/or titles as well as a small info box that explains briefly why you’d see the categories you do with links out to articles for more detail.

I’d love for this to exist both in game and ZC for now, but that’s because we’re in a tricky spot with ZP.

It doesn’t easily integrate into what we have, and it’s also not a requisite for racing (even though most folks that race even semi-seriously understandably treat ZP as law). We’ve got some stuff in the works to start answering those questions, and I’m not yet able to talk about how it integrates, what it looks like, where it appears, etc.

What I can say for now is that ZP will not likely be getting any major changes this fall/winter as we need to instead focus our efforts on developing other features. Doesn’t mean ZP is getting no attention, though. We’ll try to keep it shored up as best we can, but there will be some disparity between Zwift and ZP I imagine.


Thank you for the May update and new info on Category Enforcement.

Within the documentation and table you refer to FTP. Do you mean FTP or CP ?

I think this is a new addition for May.

Any chance this is the Zwift term for a race ranking system?

Ah, that one was a slip of the fingers on the keyboard. I’ve removed it now, but won’t pretend like it never existed.

It’s the very beginning of a race ranking system, yes. But it’s in extremely early stages so I don’t have much more to say at the moment, though I can assure you I’ll have some things to say in the next couple of months about it.


i would say “Event Hardware Minimum Requirements” is late by like 4 years. that being nice. Team CWA have been call for that from 2016 or so , it nice to see that it coming , but it still Late. @xflintx

it will be nice not to have the Zpower train pulling rider back.

I would say that almost every improvement we could make to racing at this stage is at least 4 years late. But we’re here now working on it so :man_shrugging:


There has lately been some discussion on the forum around cheating with weight to fool the CE category system. Restrictions to weight changes have been suggested like this: Limit weight changes to +/- 2kg in a rolling 7 day period.

@xflintx Is this on the radar?


Will this limit type of trainer or just z-power versus power meter?

Are Zpower uses still a ‘major’ group of users of zwift? Like you say 4 years ago they might have been, things have moved forward.

There’s seems to be a larger group of users, using ‘spin bikes with power meters’ who don’t fall under ZP on zwiftpower but their machines have the accuracy of a bingo machine throwing out numbers. Will this implementation limit those devices?


So, not sure I’m reading the chart correctly. Anyone with an FTP over 150 will be at least CatC?

If Zwiftpower is not going to get any changes, and this will make surfacing CE category there difficult, is there not any way to surface it better elsewhere in ZC or even the Zwift website? It’s great that the identification of CE events will be made better, but understanding category still then requires an individual to find an event and try and enter it before knowing which category they are placed in.

This is not just a klunky user experience but I suspect will preclude the use of CE in the likes of ZRL where arguably it is most badly needed, as organising large groups of riders into teams without being able to surface other riders category is very difficult

1 Like

Actually, here’s a thought…
If you guys can’t deliver something to surface category, would Zwift be willing to open the API to someone able to make a simple category check tool, even something as basic as plugging in Zwift ID and being shown a category would be better than we have at the moment, and that low level of detail doesn’t include any PII so presumably easier to deliver without getting mired in all sorts of privacy regulations.

I’m sure someone here would be able to knock up a tool like this very quickly. Or give it to a Zwift intern for a project!


Good, at best it should be a repository of results, records and statistics. At worst you could bin it completely. Core functionality should be in the product not an optional website that a large number of casual racers are not familiar with.

Isn’t the simple way to manage this to show your CE numbers in your profile? The profile is consistent between the web, companion app and the game itself. Surely just a couple of text fields referencing the variables on the server?

Over-simplification maybe, but not that much.


Zwift translation service:

We take a historical look at your maximum values for VO2max, MAP value, and FTP as it’s captured in Zwift for all activities over the previous 60 days

FTP = CP from a curve built using your best efforts (W’ is also measured)

VO2 max = estimated VO2 max from your modelled 5-7 min power (using the above curve)

MAP = modelled 5-7 min power

The complete misuse of terminology is really not helping understanding. (Unless after all this time they are doing something completely different after all!)

1 Like

The biggest problem (for me) is I have no idea what Zwift thinks those values are. Although I could try to estimate those things, I’m too lazy and won’t do work they have already done but not shared. This is why the chart in the FAQ doesn’t help me.


Yeah the FAQ doesn’t add much value IMO. Just show what the resultant values are.

Same here.

Plus, provided you have faith that Zwift’s algorithms do a decent job, I can’t really see a reason why anyone would need the actual values?

Riders should move up and down the cats based upon their unadulterated performance and without it being consciously or subconsciously manipulated for cat purposes. Perhaps that’s being too idealistic or simply naive.

I don’t read anything saying each individual will visibly be able to see their CP, MAP or VO2 info, rather that there will only an explanation of how CE works and some links to some ‘articles’.

I suggested a while ago, that barring showing all these values (perhaps Zwift has a reason they don’t want this accessible to everyone), that they instead create their own scale and numbering system from that data. Translate the slowest to the fastest riders into a numbered scale of eg. 1-50 that reflects the overall spectrum. Then publish that number to the individuals. Eg. I might be a 16, you might be 37, etc… When custom cats come along, it becomes easy to designate by just choosing number breaks within the 1-50 spectrum.