Rating v3, finally!

The rating, previously known as main_next got released today! This is main rating version 3, https://ds-rating.com/rating/main_current

It has a lot of improvements:

no extra penalties for leave/afk
previous ratings was supposed to push players to never leave/afk. What actually happened, is that players who did care about DSR and uploaded – almost never leaved anyway. And those who didn’t care – they were not affected obviously. What was affected, is a predictive power of the rating number, it was changing disproportionally to real player skill. And since a leaver got too-low rating, the one who was fighting against him was rewarded unfairly low too.
This is fixed now: a loss is a loss, it doesn’t matter if you stayed until the end of the game, or left.

– first player to leave/afk forfeits the win for his team
still, there were numerous abuses because of leaves. You may have noticed it yourself: you was winning hard for the whole game, opponents gave up and left, and now you are facing a solo zagara or tychus, you are not prepared for this, and you are losing the game. Would that be fair? Obviously not! Leaving should never be a proper strat to win!
Other than personal experience, I’ve checked the stats, and it matched my own understanding: people are mostly leaving when they are losing anyway. And among games where opponent(s) gave up and left, only a small percent games end up as a win for the leaver team.
Yet, still, it would not be good to instantly forfeit the game with the first leave, since DS is designed to be played after that. Shouldn’t go against core game mechanic (although I wish it changed). Therefore, leave/afk just forfeits the win for the team. The remaining players are now fighting for +0 (if leaver-team won) or proper +rating -rating.

Vice versa, players in a “full” team can never lose rating after opponent left.

– team rating = max player rating
making alt accounts is easy and free. This was a way to abuse the system: play a fresh account together with a high-ranked account, “average” team rating would end up lower, and high-ranked player would get more rating than he otherwise would. Now “team” rating is assumed to be the highest rating among the players in a team. It also fits nicely to something I’ve noticed: when I take 2k player to a discord voice, if I am willing to tell him what to do, and he is willing to listen, our winrate is about as high as my own winrate. A team is as good, as the best player in a team. As long as they communicate, of course, but that’s to be expected of a team game.
And for those, who may think “but I am highranked, yet I really play solo, I’m doomed now?”, don’t worry, there’s Solo ratings for that. For example https://ds-rating.com/rating/commanders_3v3_solo
(team and solo ratings are described here https://ds-rating.com/changelog/old-news-changes-in-last-few-months/)

– uncompressing ratings before comparisons
this was brought up to me by Basilic (thank you!), since there is rating compression below 1000 rating (more on it below), ELO formula for rating is not calculating win probabilities properly. This one is fixed in this main_v3 rating: before ratings are processed, they are being uncompressed first. So if we compare 500-rated team to 3000-rated team, the rating difference in question would be not 2500 (like was before), but the proper 7000. Rewards are obviously going to be much fairer now!

– fixed 2k-border gravity bug
another long-awaited change. There was a 2k-border gravity: once you cross the border by losing rating, the initial rating loss amount was not compressed. So imagine you was 2000-rated, you’ve lost an even match with -50 rating, as a result you’d have 1950 rating. And now compression works, and to get back to 2000 you’d need to win 10 even matches, +5+5+5+5+5+5+5+5+5+5. And then you lose 1 more, back to earth gravity.
This only affected low-ranked players, but it had nasty side-effects. For example, 200 games ago you might have left a game near 2000-rating border. You’ve got something like -150 rating, =1850. Which is about -1500 real rating. It’s ok, you’ve got stronger, and climbed all the way up to 3000 rating. But as more replays are getting uploaded, rating for every participant is recalculated. And there may be a butterfly-effect, where now the game you’ve left happened to you when you was 1999-rated, not 2000-rated. And since now it was below 2k, it was properly compressed to be just -15, =1984. And therefore, as this butterfly effect flickers every day, a player may see his profile rating change +-1000 every day. This is not something you want. This would not make you trust DSR, would it?
Now it is fixed. Since ratings are now uncompressed before any calculations, this 2k-border-gravity bug can not happen again.

– compression now starts below 1000 rating
default rating for a new account with 0 games is 2000. And it was confusing for new players, why they got -50 first game, then they get +5 the second one. Now this confusion is moved further away: they first have to lose 1000 rating, until they’ll see their first compression. Most uploaders will avoid this ever happening to them at all now.
As for why is it even there, it’s because some players may lose a lot, more than 10000 rating. For system to work otherwise, we’d have to be starting at some 5-digit rating number. Which is not cool. I want ratings to generally be in 1-10000 range. I could have made the rating change itself smaller, but it would also be bad for few reasons. I’d either have to make rating changes decimal, and that’s unclean. Or I’d have to just make the range smaller, then the amount of rating change would not match 1:1 the predicted win percent (right now changes are 0-100, matching predicted win chance perfectly), and steps for difference would be too small.

– improved rewards calculations
sped up and simplified the algorithm

– fixed team1 and team2 rewards rounded differently
there was a bug, which could result in rating changes -96+4 if placed in team1, or -97+3 if placed in team2. Team position is obviously not something that should be affecting rating changes!

– teams mirror matchup gives x2 rating changes
since the appearance of 1v1 ratings https://ds-rating.com/changelog/old-news-changes-in-last-few-months/ I’ve always wanted mirror matchups to mean more. It’s one thing to lose in an unfavorable matchup, and it’s another thing to lose in a mirror! Same for 2v2, losing either full-mirror or a reversed-mirror means much more. It is more about skill, less about being outpicked. And since we are now more sure in one team being more skilled then the other, we can reward it with more rating. Twice as much.
For 3v3, mirrors will statistically rarely happen, since it’s not just your opponent who must be same commander as you. Every commander/race must match, in exactly same order. While order is preserved, match is considered mirror if picks got shifted left or right. For example dehaka+tychus+swann vs tychus+swann+dehaka is a mirror too.


Since main_current got updated, most of other Ratings https://ds-rating.com/ratings changed as well, because they use main_current as their engine. You may see slight changes in numbers here and there. Because of fixed 2k-border gravity, and removed extra penalties for leave/afk, generally you’ll see a raise in rating numbers. For those, who used to be around 2k, they may now be around 3k+. Those who was 7k+, may get 300-500 more rating. Some may lose rating as well, if they were carrier by a high-ranked player previously, for example.

Obviously, the main profile rating, the one with the chart, the one you see changed in games, is now using new algorithm too.

Please welcome,
DSR rating algorithm v3,