DOTA 2 GROUPS

How Matchmaking Rating Works in Dota 2 Custom Games

Updated 2026-07-13

How does MMR work in Dota 2's ranked matchmaking?

the Herald rank medal in Dota 2

Dota 2's ranked matchmaking assigns every player a hidden numeric MMR value that goes up after ranked wins and down after ranked losses, and Valve uses that number, along with each player's selected roles and party size, to build matches where both sides have a similar average. Per the Dota 2 ranked system as documented on Liquipedia, players are also placed into eight rank tiers — Herald, Guardian, Crusader, Archon, Legend, Ancient, Divine, and Immortal. Every tier below Immortal is broken into five numbered stars; Immortal players are ranked on a numeric regional leaderboard instead. This medal is the public-facing summary of that hidden MMR: the exact number behind it is not published, and the medal itself — which updates whenever a win or loss moves the hidden MMR across a star or tier threshold — is the closest thing to an official public skill signal Dota 2 gives out.

Matchmaking also weighs more than the raw number: Valve's ranked queue factors in each player's selected role queue (positions 1 through 5) and party size, so a five-stack queuing together is matched differently than five strangers queuing solo, plus a behavior score that can restrict a toxic account's queue quality. Since the 7.33 update in 2023, Valve has also said the rating itself runs on a Glicko-style system that tracks a confidence value alongside each player's rank, though the exact parameters remain unpublished. None of that infrastructure exists for custom lobbies — there is no queue, no automatic opponent search, and no behavior gating. A custom game is only as fair as the humans setting it up choose to make it, which is the gap a data-driven balancer is built to fill.

What can a custom Dota 2 lobby actually see about a player's skill?

A custom or private Dota 2 lobby has no matchmaking at all — Valve does not balance the teams in a custom game the way it does in ranked queue. Anyone can join any slot, which means the fairness of a custom 10-stack depends entirely on whoever is arranging the teams, not on anything Valve is doing behind the scenes. What that organizer can actually see is limited to public data: each player's current rank medal (if their profile is public), recent win rate, and role or position history, all of which are available through OpenDota and the Steam API rather than Valve's internal matchmaking system. There is no visibility into exact MMR, ranked match search-time weighting, or behavior score — customs are working from a narrower, public slice of the same skill signal.

Why doesn't Valve expose exact MMR to third-party tools?

the Immortal rank medal in Dota 2

Valve does not expose exact numeric MMR through any public API, and per the Dota 2 ranked system as documented on Liquipedia, only the account owner can see their own precise number inside the client. This is a deliberate design choice — public exact MMR would turn every profile into a leaderboard entry and invite more toxicity around rank than the game already has. The practical result for anyone organizing custom games is that no third-party tool, including OpenDota-based balancers, can pull a player's real MMR; every tool is working from the rank medal and win-rate data Valve does make public, then estimating a strength score from it. Any tool that claims to show a friend's 'exact MMR' is either guessing or scraping a self-reported number, not reading Valve's actual value.

How does a balancer reconstruct matchmaking-style fairness for a custom lobby?

A balancer reconstructs matchmaking-style fairness for a custom lobby by treating rank tier as the base signal Valve's hidden MMR would have provided, then refining it with data Valve's matchmaker doesn't share outside the client: recent win rate, which captures current form inside a rank band, and role history, which shows whether a player is a real support or a core forced into the wrong seat. Dota 2 Groups combines these into a per-player strength score, seeds two teams with a strength-sorted snake draft, then runs up to 1000 swap iterations that test trades between the two sides and keep only the ones that improve the total balance. The result is a balance score — 85% or higher counts as fair — which is the closest a custom lobby can get to matchmaking-grade fairness without Valve's own hidden number.

Frequently asked questions

Does Valve balance teams in Dota 2 custom lobbies?

No. Custom and private lobbies have no matchmaking — anyone can join any slot regardless of rank, and Valve does not check or balance skill in a custom game. Any fairness in a custom 10-stack comes entirely from whoever arranges the teams, using public data like rank medal and win rate rather than Valve's hidden matchmaking system.

Can I see a friend's exact Dota 2 MMR?

No. Only the account owner can see their own exact numeric MMR inside the Dota 2 client, and Valve does not expose it through any public API. What's visible publicly is the rank medal — Herald through Divine with five stars each, plus a numeric leaderboard rank at Immortal — which is a band, not an exact number.

What data can a Dota 2 team balancer actually use?

A balancer can use whatever Valve makes public: rank medal, recent win rate, and role or position history, pulled from OpenDota and the Steam API. It cannot access exact MMR, Valve's internal matchmaking weights, or behavior score, so it estimates a strength score from the public signals instead.

How often do Dota 2 rank medals update?

A rank medal can change after any ranked match — it updates the moment a win or loss moves the player's hidden MMR across a star or tier threshold. There is no longer a forced seasonal reset; recalibration is optional and rate-limited. A medal can still lag a player's true form if they have not played ranked in months, which is one reason recent win rate is a useful second signal alongside it.

Open the free DOTA 2 GROUPS tool — no download, no signup