MMR Calculator (Dota 2)

Valve Doesn't Publish the Formula, But the Behavior Is Well Understood

Dota 2's exact internal matchmaking rating algorithm has never been officially published by Valve, but its observed behavior tracks a standard Elo-style rating system closely enough that the underlying math is well established: your MMR change after a match depends on how big the skill gap was between you and your opponent, and how surprising the result was relative to that gap. Beating a much higher-rated opponent moves your MMR more than beating someone at your own level; losing to a much lower-rated opponent costs more than losing to someone stronger.

The Formula

Expected Win Probability = 1 ÷ (1 + 10((Opponent MMR − Your MMR) ÷ 400))
MMR Change = K × (Actual Result − Expected Win Probability)

Actual result is 1 for a win and 0 for a loss. A larger K-factor of 50 is used while a player is still in placement matches (calibrating), reflecting how quickly new accounts are expected to move toward their true skill level; an established ranked account uses a smaller K-factor of 20 for steadier, slower-moving MMR.

Where This Math Shows Up

  • Post-match expectations — before a match even loads, the expected win probability tells you roughly how "even" the matchmaker considered the lobby.
  • Placement match strategy — because the calibrating K-factor is more than double the established rate, wins and losses during placements carry outsized weight in setting your starting rank.
  • Upset value — beating a significantly higher-MMR opponent (a low expected win probability) yields close to the full K-factor in MMR gain, since actual minus expected is close to 1.
  • Smurf and boosting detection context — unusually large, consistent MMR swings are one of the signals that stand out against the normal Elo-style curve.

Expected Win Probability by MMR Gap

Expected win probability against an opponent with a given MMR advantage
Opponent's MMR EdgeYour Expected Win Probability
050.0%
+10036.0%
+20024.0%
+30015.1%
+4009.1%

Computed from the expected-win-probability formula above; a −400 row would mirror the +400 row's probability, since the formula is symmetric around a 0 gap.

How to Use This Calculator

  1. Enter Your Current MMR.
  2. Enter the Average Opponent MMR for the match.
  3. Select the match Result — Win or Loss.
  4. Select whether you're Ranked (Established) or Calibrating (Placement Matches), which sets the correct K-factor.
  5. Select Calculate to see your MMR change and new MMR, with the full expected-probability breakdown.

Related Calculations

For games that publish an explicit K-factor, use the MMR Gain Calculator, or compare against the classical chess implementation with the Chess Elo Calculator.