Zwift has rapidly grown as a platform over the course of the pandemic. A virtual world full of thousands of cyclists at all hours of the day riding in social groups or just squeezing in a quick workout, it may also hold the distinction of being the largest virtual world where participants’ avatars largely use their real names, linked to real life accounts – food for thought for those exploring various iterations of places claiming “metaverse” status.
For a small but growing segment of the virtual population, Zwift is also a significant competitive outlet in the form of racing. Structured race events each with often up to a hundred participants kick off multiple times per hour, including a weekly professional circuit with live races streamed to thousands of viewers.
For those looking in from the outside, and even from participants themselves, the whole landscape can be confusing and chaotic given much of it has simply grown organically – events are organized and hosted by 3rd parties, and riders largely self-select into categories and events, often popping into a race minutes before it kicks off.
As a frequent participant and esports and number enthusiast, I had a lot of questions on the overall landscape of Zwift racing that I logged into every week. While data at scale is currently difficult to access, some random sampling from zwiftpower.com helped attempt to answer some basic questions about this wonderful world of Zwift racing:
- What does the overall population of Zwift Racers look like? How big is it? How often are most people racing?
- What is the deal with the almost overwhelming number of events available? Which events/series are the biggest? Which tend to have more serious vs. more casual racers?
In a separate follow-up analysis, we look at:
- How do I climb the Zwift Racing “Ladder” (defined by “Race Ranking”)? Which events should I ride in?
- The “Race Ranking” has some confusing overlaps across categories – are they actually predictive of performance? What does that blurry line look like between categories (e.g. the “top ranked” riders in Cat B vs. “bottom ranked” riders in Cat A)?
While much of the analysis below is not statistically bulletproof, hopefully the broad strokes answers to some of the above questions can help put some framing in place and serve as a baseline from which we can observe where it grows from here.
The Zwift Racing Population
Over 80,000+ individual racers from across the globe competed and scored points in racing events in the last 90 days on the Zwift virtual cycling platform.
These 80,000 racers come from all across the globe but represent only a small portion (5-10%) of the likely 500k-1M monthly riders in Zwift’s virtual worlds (based on some rough assumptions around average hours/month ridden and the data in this recent article by Sigurd).
A much larger number, 350k+ according to ZwiftPower, rode in events and have opted into ZwiftPower but may not have scored points for any number of reasons (no HR monitor, joined an event, but not a race, raced in the wrong category, didn’t finish, event had less than 5 racers in their category, etc.).
[Methodology note: to find this total population number of 80k and the geographic breakdown, I found the lowest race ranking Zwift racer I could find from each country with a ranking better than the minimum (600) and looked at their overall, country, and category ranking – e.g. one rider with a race rank of 599 was shown as ranked 85,569th across the entire platform. Interestingly once you start looking at riders in the 550ish range you drop down to ~50,000th, implying that almost 40% of ranked racers have a rank between 550 and 600.]
The racers come from all around the globe representing a truly global audience:
This pales in comparison to the tens of millions that compete in more “typical” video game esports like League of Legends or Dota, but sits comfortably nearby other “tier 2” esports such as car racing, real time strategy, or fighting games which often have similar sized ranked ladders and online players at a given time.
The major difference being, of course, that every pixel a character moves in Zwift is driven by muscles in real life pushing against real-world pedals on various flavors of stationary bikes, often at close-to-max heart rates!
To get a sense of what this average Zwift racer looks like, I took a random sample of events from a single day, then selected a random sample of riders from each of those events. More details on methodology and scaling the results to account for frequency below, but the average racer from within the 80k population appears to generally be ~165lbs and putting out a little over ~3.0 w/kg over a 30min race at an average heart rate of 155-160bpm. While not Olympic caliber (international pros tend to have w/kg outputs of ~6+ w/kg according to this article), these appear to be relatively healthy “players” putting in significant physical efforts every time they compete.
This has interesting implications on how often the “game” can be played relative to other esports. Zwift racers typically compete in one ~30min race per week. A smaller percentage (10-15%) compete in several races per week, while 5-10% are racing daily or every other day. As expected, this pales in comparison to top video games where average players often compete multiple times per day and can easily rack up hundreds of hours weekly.
[Methodology note: To get a picture of the average Zwift racer I chose a single day and randomly selected a set of events that occurred during that day, then collected data from the profile page of a randomly selected 10% of the racers from that event. That gave me a picture of the average racer on a given day – which is naturally biased towards racers that compete more frequently. To try and account for that bias in the averages, I categorized each racer’s profile by race frequency, then weighted their contribution to the stats by the likelihood they would have raced on that day. So while only ~20% of the racers I randomly selected raced 1-2 times in the last 30 days, this group of riders likely represents 40-50% of the total race population. On the other hand, a different ~15% of the riders I randomly selected raced almost every other day on average, but because the sampling method was so biased towards choosing them, they likely account for only ~5% of the total racing population.]
So that’s the “average” Zwift racer you might see sweating around the virtual course in one of many events. The next section takes a look at those events, and how the riders break down within racing categories across those events.
Zwift Racing Event and Category Overview
Zwift races occur within scheduled events of which there are a huge number (~1000 per week), kicking off at all hours of the day (~4-5 start every hour). Participation in these events varies by category, which are largely self-assigned designations based on watt output. Most races tend to allow a rider to join as either an A, B, C, or D, and trust the racer to choose an appropriate category. Racers racing below their category can be disqualified after the fact but there is no indication within the race itself. While the results are tabulated within a category, depending on the event you may actually see (and race against) riders from other categories. There is also a separate “A+” category for elite riders that often get lumped in with the broader “A” category.
Category | Total Ranked Population (% of total) | w/kg threshold | Average races/month |
A+ | 1,500 (2%) | 4.6+ w/kg | ~9 |
A | 7,500 (7%) | 4.0+ w/kg | ~9 |
B | 35,000 (43%) | 3.2+ w/kg | ~4.5 |
C | 30,000 (37%) | 2.5+ w/kg | ~3.5 |
D | 8,000 (10%) | open | ~3.0 |
Two points of note – one is the absolutely huge portion of the overall ranked population (almost half) that competes in B. The second is due to the frequency at which the average category A racer races on average, they end up accounting for a large portion of total races, despite being only ~10% of the total racing population.
So that brings us to the actual events themselves. While we all wait breathlessly for the new Zwift homepage redesign that may make finding events somewhat easier, right now, prospective racers are confronted with a long and highly variable list of potential events to enter at any given moment. As of this writing there were 12(!) events starting just within the next 10 minutes. But within these events, there are a few regular organizers that account for a substantial portion of the total races.
#1: WTRL
% of total Racers: 38%
# of Races / week: 98
Avg racers per race: 193
Average Distance: 34km
Category distribution:
WTRL is the official organizer of the Zwift Racing league (ZRL) as well as several other series of races. The Premier League of the ZRL is live-streamed to thousands of viewers and includes many professional cyclists. Entry into the ZRL races requires being on a team. Relative to other event organizers, these events are much more biased toward higher category participants. In fact, over 50% of the total Cat A race entries were in WTRL events over the course of this week.
#2: 3R
% of total Racers: 12%
# of Races / week: 151
Avg racers per race: 38
Average Distance: 28km
Category distribution:
3R is one of the most prolific event organizers, with races starting almost every hour. These races tend to occur on popular courses and typically have group (mass) starts – while results are calculated within a category, racers will see, and start with all of the other categories out on the course. These events are a great choice for those in between categories looking to try and keep pace with a higher category than their current one.
#3: Zwift HQ
% of total Racers: 9%
# of Races / week: 95
Avg racers per race: 45
Average Distance: ZHQ: 22km Crit City: 18km
Category distribution:
Zwift itself organizes a regular series of races, both on the standard Crit City courses as well as experimental races testing new features including steering, anti-sandbagging, or removal of the HUD. These races tend to be relatively short, relatively well attended (except for category A), and feature separated starts so the majority of people you race against are within your category.
#4: Evo
% of total Racers: 3%
# of Races / week: 37
Avg racers per race: 45
Average Distance: 18km
Category distribution:
Evo is another regular organizer of races that tend to focus on shorter courses, ideal for racers looking for quick <20km rides that fit within your schedule. Similar to the Crit City/Zwift events, these are separated starts and tend to be well attended outside of category A with even more of a bias toward category C and D riders.
#5: KISS
% of total Racers: 2%
# of Races / week: 14
Avg racers per race: 74
Average Distance: 45km
Category distribution:
KISS is one of the original race organizers on Zwift and has fewer races overall, but they tend to be on the larger size with an average of ~75 attendees and are very popular with category A riders. These races also tend to be much longer than other popular series.
Other
There are a huge number of other event organizers such as DIRT, DRAFT, DBR, EVR, Wahoo, etc. putting in tons of work with high quality and creative events. ~⅓ of total racing occurs in these other series, some of which happen many times per week.
% of total Racers: 36%
# of Races / week: 413
Avg racers per race: 43
Average Distance: 45km
Category distribution:
[Methodology note: For this data, I downloaded the event result list from the past 7 days (max available on ZwiftPower at any given time) for the time period 1/16/22-1/22/22. Admittedly this is a somewhat weird time in the Zwift racing calendar given the ZRL kicking off, but again an interesting look at the common races Zwifters are competing in.]
Wrapping It Up
To summarize the current Zwift racing landscape:
- 80,000+ ranked racers from around the world
- Each racing about once a week
- Largely in categories B and C
- With racing split roughly in thirds between the ZRL, the other top event organizers (3R, ZHQ, EVO, KISS), and a long tail of smaller event organizers
In the next post, we look at how Zwift racers are ranked, what the distribution of those ranks looks like, and the blurry lines between categories.
Questions or Comments?
Share below!