Valve employee Jeff Hill, who is part of the Dota 2 development team, spoke about the changes the company has made to the matchmaking system in a recent update. Hill also explained how the matchmaking algorithm works.
We recently (last week) made changes to matchmaking for groups of 5, and since we were changing the code anyway, we decided to add two new features to the matchmaking system that have been requested for a long time in the community at the same time. In order to understand them, you need to know that the system looks at matches and rates them by “failure” – a number based on all the possible things we know about the match. We select the matches with the least “unusability” and run them.
However, to make sure you get the best quality game possible, we won’t start a match with more than the amount of time everyone in that match spent waiting during the search. This means that a match that seems bad to you at 0:00 of the search begins to seem normal after 3 minutes of the search, and can be played after 8 minutes of the search.
In addition, we sum up the amount of time that all participants in the match waited and use this, so even if you searched for a match for only two minutes, but other participants waited 20 minutes, then the match becomes more acceptable.
So two new features:
1) In addition to taking into account the total search time of all participants in a possible match, we now also take into account the minimum search time of all participants in the match, and do not allow matches that deviate too much from this parameter. This prevents situations with an instant match finding when you waited for everything 2 seconds, but someone has been looking for a match for 40 minutes, and now you are in a bad game (because they waited so long, it’s like you both waited 20 minutes, which is a lot).
2) There is now a hard limit on the “goodness” of a potential match. In the past, you could wait a long time (20+ minutes) and end up in an unbalanced and terrible game – this happened because there were no better options. In practice, this meant that very high-ranking players would start searching, often in pairs or larger groups, and wait a long time for another suitable group to be found for them. Because they waited a long time, they got bad (i.e. unbalanced) matches. Since they have a very high rating, an unbalanced match will most likely be in their favor.
These matches are terrible – they are one wickets and usually involve very high ranked players who are looking for a game in an unpopular region or at a time of day when there are few people playing. Of course, for high ranked players they are not that bad as they get easy games all the time and their win rate stays above 50%, but if you find yourself in one of these games you will remember it – it is much worse than your regular matches. .
A few days ago the developers released an update for the matchmaking system in Dota 2, aimed at improving the experience of playing in groups of five.