Zwift races are typically broken into categories so more riders can have an engaging and competitive experience. In theory, categories can be defined using any criteria the race organizer desires. But in practice, Zwift’s Category Enforcement (CE) is by far the most popular way to organize race categories.
Why is it so popular? Well, first because it’s easy to set up, since it’s the default now. But also, it’s the only race categorization scheme where both of these things happen:
The race event is visible on Zwift’s public calendar (a huge boost to participation numbers)
Signups to categories are limited based on a rider’s power history (reducing sandbagging/cheating)
CE works quite well in most cases, accomplishing its goal of grouping riders into competitive groups without allowing any high-powered sandbagging outliers.
Still, since CE’s inception, race organizers have been asking for a way to customize the category boundaries for their events for several reasons:
Simple subdivision of existing categories (eg, breaking B into B- and B+) creates smaller, more competitive pelotons, as seen in TFC’s popular Mad Monday race series. This is especially nice in popular races with 100+ riders in each CE category.
Moving category boundaries allows racers to face new opponents, bringing variety to the race experience.
Changing boundaries means new riders have a shot at the podium. Example: you may be a “weak A” in standard CE, but a “strong B” under another categorization scheme.
Nonstandard CE boundaries create more competitive groups for certain race types or on certain routes. Example: Zwift Insider’s Tiny Races are only 5-10 minutes long, and almost always end in pack finishes. Basing categories on V02max and perhaps 30-second power makes more sense than including zFTP in the equation.
Custom boundaries let race organizers be more innovative, creating fresh race experiences.
Last Thursday, Zwift’s James Bailey posted the following in an event organizers forum:
Thanks for your feedback regarding how you were hoping to be able to further customise the categories within your events – I know some of you have created private events for this purpose.I’m really happy to let you know that you can now customise the following:
zFTP w/kgzMAP w/kgCompound ScoreWattage ceilings/floorsVO2max
The only caveat is that you cannot use zFTP w/kg that would cross the defined boundaries, due to the number of things in the Zwift environment that this touches (and the amount of confusion that it would create).This is something that can only be set at our end.
If you would like to take advantage of this for any of your events please let us know by emailing [email protected]
That’s big news! But there are some important caveats, so let’s dig into what’s now possible, and what Zwift will (hopefully) improve in the coming weeks so we can all fully enjoy Zwift racing with custom categorization.
What Zwift announced last week is just an MVP (minimum viable product) of custom limits for CE event categories. Put another way: this is the most basic version of category customization we’ll ever see, and there’s still plenty of refinement needed.
I applaud Zwift for announcing this feature and testing the waters. This approach is in keeping with what I’m seeing Zwift pivoting toward in recent months: working more closely with the community to develop new features. The way forward is to release MVPs, gather feedback, then iterate on that feedback until the fully-developed feature can be released.
Below I’ve listed what I see as the main “limiters” to this first iteration of custom CE limits. I’ve also suggested some potential next steps to remove these limiters.
James’ forum post says, “you cannot use zFTP w/kg that would cross the defined boundaries, due to the number of things in the Zwift environment that this touches (and the amount of confusion that it would create). This is something that can only be set at our end.”
The current zFTP w/kg boundary between A and B is 4.2W/kg. That is, if your zFTP w/kg is 4.2W/kg or more, you’re an A. If it’s below that (but ≥3.36W/kg) you’re a B. The limit James describes above means a race organizer couldn’t define the B category as going from, say, ≥3.36W/kg to <4.3W/kg, since this would cross the defined boundaries.
This very much limits how organizers can customize categories. Basically, you’re either stuck with the existing zFTP w/kg parameters, or you can subdivide your categories into smaller ones (for example, making B into a B- from ≥3.36W/kg to <3.8W/kg, and a B+ from ≥3.8/kg to <4.2W/kg).
Feature request: let organizers move the zFTP w/kg boundaries anywhere they’d like.
Categories can currently be customized based on 5 parameters:
Compound Score (see below for details)
It would be nice if additional parameters could be used. For example, Zwift Insider’s short Tiny Races could use 30-second power as a parameter. Additionally, some race organizers have been asking for years for age-based categories.
Feature request: add more power curve intervals to the parameter list and demographic parameters such as age.
This is an odd one that James didn’t mention in his original post. In doing a bit more digging, I’ve learned that we are currently limited to just 5 categories in an event. This is a big limiter on the implementation of custom categories.
As an example, if an organizer wanted to simply subdivide each of the 4 categories into 2 categories each (so 8 total), they would have to create two separate events to hold all the categories. Not exactly a smooth user experience when signing up.
Feature request: this is just silly. Events should be able to have as many categories as an organizer wants. Or at least 10!
Given this is an MVP, it’s not surprising that Zwift hasn’t built a UI for organizers to customize category boundaries via Companion or the web. That said, it may become a time-consuming hassle to send requests to Zwift’s events team to implement custom categories.
Feature request: build a UI so organizers can easily dial in their custom categories.
If an event uses custom category boundaries, this needs to be indicated when signing up in order to avoid confusion from racers. (“Why am I being forced to race as a B?”, “Why am I being allowed to race in C?”, etc…)
That doesn’t appear to be a part of this MVP. So racers – be sure to read the event description. Now, more than ever! And race organizers: please put clear text in your event description explaining your custom boundaries.
Feature request: a simple indicator icon of custom boundaries would be a good start, although I would love to see details of those custom boundaries, so I can know what parameters a race organizer chose and why I got placed in a particular category.
My contacts at Zwift asked me to let everyone know that this is essentially a limited beta feature for more “advanced” race organizers.
Translation: Zwift doesn’t want to start fielding hundreds of requests from less experienced organizers who want to test the waters. Zwift says, “We’re slowly reaching out to folks we know have been asking for it.” If you aren’t one of those folks, it’s possible that your custom categorization request may be denied.
James referenced compound score as one of the parameters that can be used to create custom boundaries. This grabbed my attention because Zwift has yet to display a compound score for riders. In fact, I hadn’t even heard that Zwift had started calculating compound scores!
But let’s back up a minute. What even is a compound score? It’s a way to rank riders based on both their pure watts (“absolute power”) and w/kg (“relative power”). As far as I know it was first detailed in this conference paper, where the authors concluded, “To our knowledge, the compound score is able to measure performance characteristics for U23 one day racing success.” It’s used by ZwiftRacing.app, intervals.icu, and other platforms.
Flint from Zwift told me the company just started calculating compound scores a few weeks ago. Zwift is currently calculating riders’ compound scores the same way ZwiftRacing.app does:
(best 5min power)x(best 5min w/kg)
But Flint also stressed that this is likely to change in the future. Zwift’s plan is to use the compound score “to help people get a better feel for where they might sit if they have little to no race data.”
It’s fun to see Zwift testing new features and algorithms to push racing forward.
Zwift’s announcement of custom category boundaries is welcome and shows that they’re listening to the community and want to give us the tools to create better races.
The only bummer is that this initial release of custom categories is limited in big ways. Hopefully customization capabilities will be expanded as time passes, giving race organizers the flexibility to create even more innovative, fun, and challenging events.