Rankings based matchmaking (get rid of cats!)

Edit: This suggestion has now been written up properly for Zwift Insider - https://zwiftinsider.com/matchmaking/

It’s a dog eat dog world. Certainly ain’t no room for cats.

The cat system is not broken, it simply cannot work. Arbitrarily grouping riders based on any sort of power profile is open to sandbagging, but also enforcing it in any way just causes more grief. Check out the ZRL - riders get DQ’d due to their power profile when they comes 25th, yet the riders that win are clearly stronger, just due to weight / pacing / sandbagging they avoid the DQs. For racing to work, there needs to be a motivation for all riders to do the best they can in any race. For progression to be attractive not avoided. Clearly there is also a human desire to have the chance to win, or podium, or at least be involved in the shakeup, and the current cat system means that you are rewarded for staying at the top of a given category rather than continuously trying to progress upwards.

Pretty much any other online multiplayer game uses a matchmaking system - the idea being that you compete against those that are a similar standard as yourself. As you perform well relevant to your peers, you progress up the rankings to face tougher opponents.

Zwift power has a rankings system that works on this basis. The details of this are available here (click FAQs) [https://www.zwiftpower.com/rankings.php] I am not saying this ranking system is perfect or is the one that should be used, but it already exists, and now that Zwift manages ZP makes sense as a starting point.

When a race is a created by an organiser, they can specify a field size. Let’s say they choose 50 as the field size. When you join a rankings race, there is only one sign up link - you simply join the race.

Lets say 240 people join the race. 2 mins before the banner drops, you are placed in one of 5 starting pens (240/50). The pens are split based on rankings - so the top pen has the top 5th of riders based on rankings, the 2nd pen has the 2nd 5th of riders, etc.

How you perform in the race relevant to the riders around you updates your rankings, with the goal to move up the rankings. As performance is based on final placing, there is no incentive whatsoever to do badly. Yes, riders may target races that suit their particular physical attributes and strengths, but there is nothing wrong with that.

Some days, you may be in a field where you are the strongest rider and have a good chance at winning the race, and other days you may be the lowest rank and get dropped early on. However doing your best in either of these scenarios is rewarding.

It may sound quite complex but it is really not. Zwift Power already does half of it, it just needs a matchmaking system baked in to the game.

I appreciate this will fall on deaf ears, but I like to get it out as it is my biggest issue with Zwift. This is how you get people addicted to the game and addicted to racing. Just look at COD or FIFA and how they tie players in to this exact type of experience.

Unfortunately that seems highly likely. Auto assigning race cats, points systems, matchmaking, sandbagging, cheating, etc… all has been discussed at length in the forums for years.


I agree with you 100% and have posted a detailed analysis of races myself here on the forum, showing the huge overlaps in race times among riders in different cats. Partly that’s due to people deliberately entering the wrong cats, but is actually more to do with the idiotic w/kg system separating people who should actually be in the same race.

I raced in Crit City again last night and as a light C rider who is currently just above the C w/kg cutoff (I usually do about 2.7 in a 10 mile flat crit) and as often happens I rode the last half of the race, in a 60 rider field, on my own, down in about 50th. Meanwhile in D there would have been a bunch of much better matched (ie, heavier, therefore with similar power but able to stay in D) riders for me. Also rode for a while with an 11 year old who got the green cone because they’re easily exceeding the 3.2 limit for C, but is in the bottom 25% in terms of the speed that translates to in practice, because they weigh so little. Presumably he/she was told to upgrade to B, where they’ll be dropped instantly off the line.

As Mike said though, people have been complaining about this for years and Zwift does not respond, and does nothing. It seems like it couldn’t be that hard (force people to use Zwiftpower and a few if-then statements crunching the ratings you describe), but Zwift apparently is either unable or unwilling to do anything about it.


O yes, we have been asking for “something” like Auto-Assign Race Categories for a long time.

ZTRL ZRL is so much fun because people are in the correct cat, if Zwift only did that then 90% of races will be fun.

But Rankings is the way to go. Then they can do more interesting races and events like Battle Royale impromptu racing.


You see I don’t really agree. Whilst putting people in the right cat is something, the category system, as described above, doesn’t work. So it doesn’t stop sandbaggers. It doesn’t give people incentive for progression. All it does is stop people racing in a lower cat than they should according to an arbitrary w/kg FTP measure.


Yes is fine. I was just pointing to the low hanging fruit. I agree 100% that we need Rankings.


Can someone please help me understand how a results-based system would avoid the following fundamental flaw?

Rankings systems work in real life at making sure only the best riders compete at the highest level.

HOWEVER, the problem with categorisation on Zwift is the complete opposite - we want to STOP people like Primoz Roglic racing in the “lower categories”.

How would a results-based system stop C-and-D riders getting constantly beaten by A & B riders who have to prove themselves before moving up?

Rankins will move you up as you win races. Sandbaggers bag sand to get the adrenalin rush of the win. But after winning they will move up and wont win so they will either race where they should or stop racing.


So how would we deal with these two situations, which could both happen because different races attract different people:

  1. Lots of new Zwifters enter an entry-level race, with the top 10 filled with people who put out “A & B” power levels, 11th-14th putting out “C power” and the highest “True D” in 15th.

  2. An entry-level race where the top 10 is filled with people who would be classed as “D” under the current system.

Then, what would happen in the next race if one of those A riders suffers a mechanical and finishes last - would they be automatically demoted? And what would it take for the “D winners” to return to the right class for them?

The reason I’m asking these questions is because the more you think of different scenarios like this, the stronger a system you can create.

I would say it depend on what type of ranking system you use.

Zwift power has a ranking system that seem to work fairly well. You beat stronger riders you move up. It is not about race position but more about who you beat and who beat you.

Ranking is not easy. That is why my suggestion was step one get people in the correct cat.


Scenario 1 - can happen in the real world. The real world deals with it by spreading all the new riders across lots of races. The good riders can be promoted.

I can’t see that really see that there would be that many new riders that they would skew the results - if there are then split races into newbies and ranked, or approximate the rank by FTP (so you need to do an FTP ramp test at least).

  1. Entry level race is not a useful concept - new rider race (if no ranking) and ranked race. You ride with performance peers after you performance is measured.

  2. Mechanicals - same as the real world. No points (or points are averaged off using some number of races).

Generally all these problems (and more) have been solved in ability-based multi-player games so it is more a question of picking what wheel you want, rather than inventing a new one.


But I fear that this common misconception is the one of the major reasons (among several) why nothing gets done.

Even if everyone was forced to enter their “true” w/kg category, you would still be separating riders of equal ability into different cats/races. This is the issue of light riders getting promoted before their time, heavy riders hanging around in lower cats much longer, even if both are perfectly matched on the course. This problem is lessened by mass start races where riders see everyone independent of their cat, but that isn’t the case for the most commonly held races (and the ones that fit with my work/life schedule) at Crit City. Mass starts work well on single-lap races, but as soon as you have the problem of lapping, the upper cat riders often blow up the groups as they pass thru the groups being lapped.

Maybe the sight of Apple getting into increasingly into fitness might actually get Zwift to up its game a bit? I know my wife just quit her subscription due to the apparently unfixable ERG mode issues she’s had since the October ZC update, its only a matter of time before another app steals away subscribers as the critical mass develops elsewhere.


Yes new Zwifters would enter at the lowest level, but if they are any good they will level up very quickly using the ZP system.

For some races and at some times of the year, the lowest level race will typically be full of new riders.

This is exactly the same as any other online game platform. You need to get your first couple of races out of the way to ascertain your current level.

You don’t get demoted based on bad results. Have a read of the system. Only your best 5 races count towards your ranking.

1 Like

I really love one key part of your suggestion - not having rigid category boundaries - and I’ve suggested this myself. I really think having some races where you’re at the front, and some whrn you’re near the back, would be much more fun than the current system.

I also think being told “you’re seeded Xth out of 50” before the start would mean everyone would have an achievable target - finishing above their seeding - so even someone finishing 45th could feel “a win”. It could be great.

As you say, at some times of year there will be more newbies - of all abilities - and
I wonder if some power readings from other rides and workouts could help put them in a better “starter category”?


my suggestion is a combination of both w/kg and results

in respect of your question, if you are capable and have pushed 4w/kg in one race, then instantly you get binned from the lower cats, off you go to cat B, at which point you would not necessarily go upt to cat A, even if you pushed 4.2w/kg, until you hit the podium in X amount of races

Why is w/kg needed at all? The problem is you are still referring to categories. We need to get rid of categories. Rankings and matchmaking allows for dynamic pen sorting where everyone can have their day in the sun. As long as you have categories, you have sandbagging.


because if, as suggested, everyone starts off at the bottom level, then theres a good chance that every race the new (previously known as D cat) rider, enters, theres going to be a handful of A/ B/ C cat type riders without a ranking who are new to the platform, who then come in and dominate that race.
If, on the other hand, they either have to complete a ramp test (which i accept is open to abuse) or, better still, the race results can be split out based on the w/kg in that race, so the D cat guy/ girl can still win and isnt precluded by new entrants who shouldnt be there.
Apologies if your explanation coverd a way to deal with this, i might have missed it.

1 Like

I understand the concern - but it is worth nothing that anyone who has already raced, already has a zwift ranking. Even if they don’t realise.

What other games do to handle this is they have a separate pen / event for newcomers. Until you have completed a set number of races (say 3 to 5?) you don’t enter the formal rankings structure.

This means riders with a very low, but genuine ranking are only racing against others with a similarly low ranking.


sure, if you have a pen/ results set that is exclusively for people who have never raced before then that might work. I kow everyone has a ranking if they have raced, Im talking just about those who have never raced before. Your suggestion there might deal with it as it would likely provide an effective FTP type test/ or ranking in their first race. Of course, some might realise that, go slow, get a low ranking and then hammer their first race. But if it could only happen once its not so bad.

1 Like

Yeah exactly, that is the benefit of this type of system. It is simply not worth people gaming it deliberately, as one win and they will shoot up the rankings. That win will also impact their ranking for 3 months.

If you had to race 5 times before entering the rankings system, you would have to race deliberately badly 5 times, to then outperform in a single race against low ranked opposition. It’s just not worth it.