• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 22:04
CEST 04:04
KST 11:04
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 2 - RO4 & Finals Results (2025)0Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy4Code S RO8 Preview: herO, Zoun, Bunny, Classic7Code S RO8 Preview: Rogue, GuMiho, Solar, Maru3
Community News
Weekly Cups (June 9-15): herO doubles on GSL week0Firefly suspended by EWC, replaced by Lancer8Classic & herO RO8 Interviews: "I think it’s time to teach [Rogue] a lesson."2Rogue & GuMiho RO8 interviews: "Lifting that trophy would be a testament to all I’ve had to overcome over the years and how far I’ve come on this journey.8Code S RO8 Results + RO4 Bracket (2025 Season 2)14
StarCraft 2
General
How herO can make history in the Code S S2 finals Firefly suspended by EWC, replaced by Lancer Rain's Behind the Scenes Storytime Code S Season 2 - RO4 & Finals Results (2025) Weekly Cups (June 9-15): herO doubles on GSL week
Tourneys
RSL: Revival, a new crowdfunded tournament series $3,500 WardiTV European League 2025 [GSL 2025] Code S: Season 2 - Semi Finals & Finals WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Simple Questions Simple Answers [G] Darkgrid Layout
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 478 Instant Karma Mutation # 477 Slow and Steady Mutation # 476 Charnel House Mutation # 475 Hard Target
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ ASL20 Preliminary Maps BW General Discussion Recent recommended BW games FlaSh Witnesses SCV Pull Off the Impossible vs Shu
Tourneys
[Megathread] Daily Proleagues [BSL 2v2] ProLeague Season 3 - Friday 21:00 CET Small VOD Thread 2.0 [BSL20] ProLeague Bracket Stage - Day 4
Strategy
I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile Beyond All Reason What do you want from future RTS games?
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine UK Politics Mega-thread Echoes of Revolution and Separation Russo-Ukrainian War Thread
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
A Better Routine For Progame…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 32992 users

How to calculate your MMR from results of 1 match

Forum Index > SC2 General
Post a Reply
1 2 3 4 5 15 16 17 Next All
Not_That
Profile Joined April 2011
287 Posts
Last Edited: 2012-07-19 18:24:37
April 26 2012 04:12 GMT
#1
We have a working MMR Calculator as an SC2Gears plugin. Simply play games with it installed with SC2Gears open in the background and it will automatically calculate your MMR for you. You can read more about it in the tool's thread.

I've decided to rewrite this post to explain what we know thus far as this thread is quite lengthy. The original OP can be found in a spoiler at the end if anyone is curious.

MMR is the 'skill' rating in the ladder system. MMR represents a player's strength more accurately than league, ladder points, adjusted points, or division rank.


How points change are calculated
When a ladder match ends, the ladder system performs the following calculation to determine each player's adjusted points change:

For players below Master league:
Player A points change = max(CAP(- A_adjusted_points), F(B_dmmr - A_adjusted_points))

For players in Master-GM leagues:
Player A points change = max(1, F(B_dmmr - A_adjusted_points))
(players in Master-GM have no cap beside 1 point minimum per game)

Where:
adjusted_points = ladder points - spent bonus pool points
B_dmmr = player B's MMR - player A's league and tier offset

If player lost, then subtract 24 from his points change.

F and CAP functions are described in the following table:
[image loading]
Note that CAP is defined in this table as receiving the negative of the adjusted points. F is an ELO function with k = 24, which takes as parameters dmmr and adjusted points. It compares MMR based number with adjusted points. Also note that adjusted points are reset every season, MMR is not.


An example calculation
Player A is in Diamond league in the 2nd highest tier (offset 1733), has 130 adjusted points, and 1800 MMR.
Player B is in Diamond league in the bottom tier (offset 1463), has 200 adjusted points, and 1500 MMR.
Player B wins the match.

A points change = max(CAP(-130), F((1500-1733) - 130))
A points change = max(CAP(-130), F(-363))
A points change = max(11, 3)
A points change = 11

Since A lost, his points change is 11 - 24 = -13 points.
If A was in a league that isn't capped, his points change would've been 3 - 24 = -21.

We can likewise calculate B's points change:
B points change = max(CAP(-200), F((1800-1463) - 200))
B points change = max(CAP(-200), F(137))
B points change = max(8, 17)
B points change = 17

B receives 17 adjusted points.

To perform these calculations I had to know the league and tier offsets. Here are our latest estimates for them:
[image loading]

Additionally I had to know which tiers the players belong to. This can be difficult to know for players below Master league as they each have 2-7 tiers which are hidden. The MMR Calculator can figure out the tiers of the players once a sufficient amount of games has been played. We use the points change amount and reverse it to obtain the MMR values of the players involved.


What is the purpose of the CAP function
The CAP function causes players' adjusted points to artificially stay higher than they otherwise would've been. It was probably implemented at the beginning of season 3 to address a problem where players with low MMRs played opponents with MMRs below their division offset, thus won few points per game and lost many. This resulted in these players having a hard time using up their bonus pool and eventually get discouraged once their bonus pool rose too high. Additionally it was possible in extreme cases to receive 0 points for a win.

Another possible reason for the CAP function is simply to artificially raise players' points above 0 for psychological reasons, as well as encourage playing in the beginning of each new season when players start off with 0 points, and thus would rise in points the more they played.

Unfortunately for us, the existence of a CAP makes it harder for us to perform reverse calculations of players' MMR. Any player who wins equal points to the CAP gives us merely a maximum limit on the opponent's MMR, instead of a narrow range as is otherwise the case.


The uncertainty value
Alongside MMR, the system stores an uncertainty value for each player. We don't have much information about it as of yet, but we have strong evidence to suggest that this value does not play a big role in MMR calculations. We know that for new players the uncertainty value is large, causing their MMR to shift dramatically each game. Evidence: [image loading]

Compare that to the MMR movement of an old player:
[image loading]
This player is moving from Bronze MMR all the way to Master MMR during league lock. Yet his MMR changes on a game by game basis similarly to how it does for players who are much steadier. On average over large quantities of matches we see +16 MMR per win -16 MMR per loss (compare that to +12/-12 adjusted points change for playing against opponent whose dmmr equals your adjusted points). This leads us to believe that once the uncertainty value shrinks down to a minimum, it never increases back.



Original post:
+ Show Spoiler +
Edit8:
Minimum points won cap explained
[image loading]
**************************************************************************************************************
Edit7:
Full match history from low Bronze to mid Master:
[image loading]
**************************************************************************************************************
Edit6:
F with minor corrections:
[image loading]
**************************************************************************************************************
Edit5:
Third offset estimates released
[image loading]
**************************************************************************************************************
Edit4:
Second offset estimates released
[image loading]
**************************************************************************************************************
Edit3:
First offset estimates released for EU and US:
[image loading]
**************************************************************************************************************
Edit2:
New F function found. Post.
[image loading]
**************************************************************************************************************
Edit:
Skeletor and I published a tool that helps you calculate your MMR automatically, as well as have the option to help the community gather data which will hopefully help us figure out the secret division modifiers below Masters, division tier modifiers, how much MMR is needed to cross into different leagues, etc. You can read more about it here.
**************************************************************************************************************

I will try to keep this brief for clarity, but I also want to describe how I came upon what I present here. If you simply wish to find out how you can calculate your MMR based on the results of a single match, skip to the end.

I assume readers are familiar with the ladder system and it's inner workings, including what are adjusted points, MMR, etc. If you aren't or need a reminder check out Excalibur_Z's sticky thread here. Questions relating to basic, known, elements of the ladder system please take to that sticky thread.

Before I start, let me quickly run through some reasons why should you care about your MMR:

- MMR is the ELO rating which represents your skill. It shifts wildly, that is why Blizzard does not reveal it. However some of us want to know our skill and whether or not we progress.
- It can (eventually) be used to find out league promotion / demotion threadholds, and how close are you to a promotion.
- At the beginning of each new season everyone's adjusted points starts at 0. It can take anywhere up to a 100 matches or even more before your adjusted points have caught on with your MMR. Until then your adjusted points will continue to slowly shift towards your MMR. This is good if you like seeing your points change and get a feeling of 'progression' with each game you play, but if you wish to tell whether or not you improve as a player it is meaningless.
- You could see who the best players on each server truly are.
- It can (with work) be used to help find out the hidden league points modifiers and league tiers modifiers of each league.

Hopefully I have you intrigued by now.

This past month I have been working on a tool that tracks adjusted points over time of multiple players (Which can be found here). It bothered me that it took several dozens games for player's adjusted points to begin catching up with their skill level and I wanted to find a way around it. As you know from Excalibur_Z's thread, the points your opponent gains/loses after the match are dependent on the difference between your opponent's adjusted points, and your MMR. Let's call this formula F.

F(your MMR, your opponent adjusted points) -> [0..24]

When you lose a match you lose 24 minus the amount of points you would've gained had you won it. So if you lose a match, to find out how many points you would've gained, we simply calculate 24 minus the amount of points that you lost.

If we knew F, then calculating your MMR would be a simple matter of looking at your opponent's adjusted points before his match with you, looking at how many points your opponent gained / lost, and finding out your MMR would be trivial. We know your opponent's adjusted points, can we find out function F?

I tried several approaches until I found one I was satisfied with, but now I'm fairly confident I nailed it.

I started out with looking at some matches of 7 different Grandmaster players. To start out with I assumed their MMRs were fixed (naturally this isn't the case) and grabbed some data points. Before I could plot them on a single graph I had to normalize the results of the 7 different players by adding a different value for each (representing their individual MMRs). When I did that I was able to get a graph that was fairly linear.

Click on photo for full screen version.
[image loading]


I started out suspecting that F was a linear function, and this made me more sure of it. If F is a linear function, what we expect to find from plotting it on a graph is 2 parallel lines with a downward slope, that pass point xy (12, 0) from either side, and that cover unique ranges for each number between 0 and 24. In the graph above this isn't the case, but that is due to my assumption that the players MMRs were fixed.

I ran trend lines on the high results and low results from the data, and came up with slopes of 30.5 and 31.5. I came up with a candidate that seemed good to me and use 32 as slope. I picked this number because it was close to the numbers I got, because it seemed like a number some algorithm writer that works for Blizzard may use for the algorithm, and because this mean the range covered is between -400 and +400, nice round numbers. Also I seem to recall the 400 number used as an extreme gap in ELO differences cases. Here is the candidate for F function that I picked (Edit: A better F function has been found, linked at top of the post. Keeping this for record):

[image loading]


To reiterate, F function takes as input the difference between your MMR and your opponent's adjusted points, and outputs a number between 0 and 24 which is the amount of points your opponent will gain in case he wins.

I needed a way to test out my F candidate. The problem is we have 2 unknown variables, F and MMR, and each additional player just brings another unknown variable in his own MMR. I was searching for a way to remove MMR from the equation. I decided to try looking at Grandmaster players who have between 180 and 210 adjusted points, who played at least 80 games this season, and who have less than 70% win/loss ratio. There were 15 such players, and for each one I looked only at the last game he won. The idea was that hopefully their MMRs are fairly close. Nope.

[image loading]


In retrospec it's not surprising it didn't work. Even for fairly closely skilled players, MMRs vary greatly on a game by game basis. Their MMRs are too far apart for this to have worked.

Then I came up with the solution. Instead of looking at multiple players, look at a single player over many matches. This way eventhough the MMR changes from match to match, we still know some things about it at each point. We know that MMR rises after a win and drops after a loss. Should an F candidate tell us that a player lost MMR after winning a game, we'll know it to be wrong.

Allow me to intersect for a moment at this point and describe my data gathering process. This is technical but I feel important to mention for those who are interested. I would pick a player (player A) I wanted to gather data about, and look at his match history in game (the website based one is far too inadequate for this. It doesn't even tell you who his opponent was). For each game I would go to the opponent's (B) profile and see how many points B gained/loss for his match against A. If A won and B lost this was easy. Simply see how many points B lost, add 24 and that was how many points B would've gained. When B won it was much harder, because all we see is the amount of points B gained, but that includes bonus pool points as well. We don't care about bonus pool points, only adjusted points gained. In a lot of cases, it's impossible to tell how many points B won. If B has a large bonus pool it's easy, you know he got 100% bonus pool points. In all other cases, there is some guesswork involved. Even if you know for a fact B didn't have stored unspent bonus pool at the time of playing A, it's possible he got another point during his match with A.

Another note about data gathering: We wish to know the amount of adjusted points B had at the beginning of his match against A. To know this we have to calculate retrospectively from his current points and add/subtract the points he gained/lost since his match with A (a long, tedious process, made more so the more games B played since his match against A). To this number we then add B's current unspent bonus pool. What we end up with isn't the amount of adjusted points B had at the time of his game against A, instead with come up with the adjusted points B had at the time of his game against A PLUS the current server total bonus pool. This is okay because as long as we collect all the data points for all of A's opponents at the same time, this number is shared across all of A's opponents, and does not tilt our calculations for F. It's like all of A's opponents (and consequently A's MMR) get a bonus of the amount of current bonus pool points of the server. This number can simply be subtracted from all the data at the end of the data gathering process.

Due to the reasons stated above and the nature of the work I was looking for a player who plays a lot of games, in Master's league, and preferably that plays no or very few Diamond / GMs (mostly Diamond players that really hurt the data gathering, since Diamond league has 7 division tiers with hidden points modifiers). I used SC2Ranks to sort the list of European Master players by games played, and ended up finding the #7 one in game, a player named FoPǂChimaira who plays 30 games/day average for the entire season, 420 games total. Pretty nice.

I gathered data from his last 107 games that he played in the last 2 days. Unfortunately he played 15 Diamond players among those games, and these are all basically null data points as far as I'm concerned.

Here is the result:
[image loading]


The Y axis is adjusted points in Master league. On the X axis we have 107 games, on the far left is the first match and they progress moving rightwards. The bars are the results of inputting the opponent adjusted points and amount of points gained/lost into my F function candidate.
Blue bars are wins, red bars are losses. The error margins at the top of each bar are 32 points wide and represent all possible MMR values that match the data for opponent adj points and points gained/lost from match. It's important to emphasize that these are not 'error margins' per say, rather the result of F outputting one value for 32 difference inputs. One last thing about the graph: The bar and predicted MMR values are based off the values that exist at the beginning of the match. The opponent adjusted points, and points gained/lost and FoPǂChimaira's MMR. This means for a bar that is red indicating loss, you expect to see the MMR drop in the next game. Similarly for a blue bar you expect to see the MMR rise in the next game.

The way I tested my proposed F function was to look for things that shouldn't happen. If following a loss the MMR range is entirely above than it was for the previous game, then F is wrong. Similarly if following a win the MMR range is entirely below the previous value, then it is also wrong.

If you watch the graph closely you will note there are about 4 cases that similarly do not add up. This can be due to several things:

a) My proposed F function is wrong.
b) Data point is wrong due to mistake inputting the data.
c) A match against a Diamond league opponent / a match where the opponent won and I failed to account for the correct bonus pool part of the points won of the opponent.
edit: d) His opponent got promoted / demoted since they played their game.

Also important to note that matches where the opponent gains 24 or 0 points are also useless data. This is because a result of +24 +0 points only supplies a lower and upper boundaries for MMR.

Despite the few irregularities in the graph, I am fairly confident of the number 32 as the slope value. The only thing I have reservations about is that I noticed a few oddities that tend to happen when the opponent wins 23 points, and I am unsure why this happens. It could be that F is not linear at those ranges. I do not know. Either way if my F is wrong, it is very close, especially at the +2->+22 range, which is the great majority of matches.

I experimented with different slope values and ruled out slope values of 30 or less, and 33 or higher due to inconsistent results that I am sure are accurate.

Let's look at the same graph, with FoPǂChimaira adjusted points thrown on top of it.
[image loading]


As expected, MMR changes more rapidly than adjusted points. Another interesting thing is that the slope of the adjusted points is related with the changes in MMR. A big upwards rise in adjusted points corrolates with beating a stronger opponent, in which case the MMR will rise faster. Similarly a big lowering of the adjusted points line indicates a loss to a weaker opponent, in which case MMR will plummet.

Link to excel sheet



I'll sum up with stating how to easily calculate your MMR based on the results of a single match of yours (alternatively use my script here):
1. Calculate opponent's adjusted points before your match together by taking his current points, adding his current unspent bonus pool, subtracting current total season bonus pool for your server (can be found by looking at a player with 0 wins, alternatively here), and subtract the amount of points that he gained from your match in case he won, or add the points that he lost from playing you in case of a loss.
2. Take the amount of points that he gained (if he lost, add 24 to the amount of points that he lost). Make sure you're not including bonus points that he gained, only actual points. Either ask him, guess, or wait until you beat an opponent. Find the matching row with the amount of points he gained here(Edit: A better F function has been found, linked at top of the post. Keeping this for record):
[image loading]

Add to your opponent adjusted points before the match the matching values from the right rows, and that's your MMR within 32 points range.

Example:
You played against a Master league opponent who had 150 adjusted points before your game. You won the match and he lost 9 points. -9 + 24 = 15, so look in the row with 15 next to it. It says 80-112, so you know that before your match against him, your MMR was between 230 and 262 points.

A note: you can only find your MMR in relation to the league modifier of your opponent. If you're playing Master opponents you'll get consistent results. If you meet up with Grandmasters you can translate the number into Master points by adding 430 to it. For those of you under Master league, you are going to see results that vary more. Leagues below master have the following separate division tiers with their unique points modifiers:

Grandmaster: One Tier
Master: One Tier
Diamond: 7 Tiers
- Tier 1: +150 from Master
- Tier 2: +213 from Master
- Tier 3: +276 from Master
- Tier 4: +339 from Master
- Tier 5: +402 from Master
- Tier 6: +465 from Master
- Tier 7: +528 from Master
Platinum: 3 Tiers, unknown offset
Gold: 2 Tiers, unknown offset
Silver: 3 Tiers, unknown offset per tier
Bronze: 7 Tiers, unknown point offset per tier


If you calculate your MMR based on a game against, a Platinum opponent, you will know that your MMR was within 32 points before the match against an opponent in some Platinum division tier.


I hope that using what I discuss here, people will be able to find out more about the ladder system so that we may all have better understanding of the environment we operate under.
PolskaGora
Profile Joined May 2011
United States547 Posts
April 26 2012 04:24 GMT
#2
Very good post, I can see you put a lot of time into it. This is quite complicated, to be honest, and I don't think I'll be running my results through a calculator after every game to see how much my MMR is going up or down. However, it won't hurt if I calculate it every now and again, I'd be down to see where my standing is, and to figure out which tier in diamond I currently occupy.

Thanks for sharing!
Tracking treasure down
Demonhunter04
Profile Joined July 2011
1530 Posts
April 26 2012 04:33 GMT
#3
I like how you documented the process in detail. Good work.
"If you don't drop sweat today, you will drop tears tomorrow" - SlayerSMMA
tnt488
Profile Joined April 2011
United States9 Posts
April 26 2012 04:34 GMT
#4
Mother of God.
Extraordinary

O.O
Skill is when luck becomes a habit.
kuzyk
Profile Joined January 2011
United States19 Posts
April 26 2012 04:49 GMT
#5
does diamond still have all those offsets? i thought it might have been done away with after masters/grandmaster was added.
kamkerx
Profile Blog Joined August 2011
United States264 Posts
April 26 2012 04:50 GMT
#6
thanks so much you probably made alot of people really hapy!
theBOOCH
Profile Joined November 2010
United States832 Posts
April 26 2012 04:51 GMT
#7
Cool, but I'm a little confused. This may be a stupid question, but if I'm diamond and I have an MMR score of between 148 and 180, how do I know what tier of diamond I'm in? Or is it just to compare my MMR to someone elses MMR?
If all you're offering is Dos Equis, I will stay thirsty thank you very much.
Postman
Profile Joined July 2010
United States269 Posts
April 26 2012 04:52 GMT
#8
- It can (with work) be used to help find out the hidden league points modifiers and league tiers modifiers of each league.


So, and forgive me if I missed pertinent details or misunderstood, at this moment in time without knowing the division tier modifiers it's impossible to get an accurate MMR for a diamond league player but in the future we might be able to?
Gofarman
Profile Joined June 2010
Canada645 Posts
April 26 2012 04:52 GMT
#9
Sounds like this is something SC2 Gears should get all over.


YEAHHHHH
@nonytv nony.tv/tipjar One of his Chill-dren
AGIANTSMURF
Profile Blog Joined September 2010
United States1232 Posts
Last Edited: 2012-04-26 04:55:04
April 26 2012 04:52 GMT
#10
so much work to find MMR, people should just accept that when they are ACTIVE that their displayed points is relatively close to what their MMR is

i dont mean to discredit OP's work, this is an awesome post. I just think people focus too much time and energy worrying about stuff like this
Thats "Grand-Master" SMURF to you.....
deo1
Profile Joined April 2010
United States199 Posts
April 26 2012 04:56 GMT
#11
Cool, without really digging into this, it looks legit. Now someone should come along and write a script to throw data from ladder outcomes into a .csv file and then a player could automate plotting/tracking their MMR.
Poooooor Protoss.
Yoshi Kirishima
Profile Blog Joined July 2009
United States10324 Posts
Last Edited: 2012-04-26 04:58:13
April 26 2012 04:57 GMT
#12
Didn't read it all, but great work and thanks!

However I'd like to ask what you think about the formula/equation that they released during blizzcon. When they started talking about how complex the matchmaking was, they showed this huge ass equation, though they didn't explain it. Was it legit or not? (or maybe it was a lot simpler than it looked?)
Mid-master streaming MECH ONLY + commentary www.twitch.tv/yoshikirishima +++ "If all-in fails, all-in again."
thehepp
Profile Joined December 2011
United States67 Posts
April 26 2012 05:07 GMT
#13
On April 26 2012 13:52 AGIANTSMURF wrote:
so much work to find MMR, people should just accept that when they are ACTIVE that their displayed points is relatively close to what their MMR is

i dont mean to discredit OP's work, this is an awesome post. I just think people focus too much time and energy worrying about stuff like this

Some people enjoy doing stuff like this.

Anyways great job bro!
Gfire
Profile Joined March 2011
United States1699 Posts
April 26 2012 05:11 GMT
#14
On April 26 2012 13:57 Yoshi Kirishima wrote:
Didn't read it all, but great work and thanks!

However I'd like to ask what you think about the formula/equation that they released during blizzcon. When they started talking about how complex the matchmaking was, they showed this huge ass equation, though they didn't explain it. Was it legit or not? (or maybe it was a lot simpler than it looked?)

IIRC, that was an equation having to do with calculating adjusted winrates while taking player skill into account. I think it was something different than this. It was for the stats they use to balance the game on.
all's fair in love and melodies
Diamond
Profile Blog Joined May 2009
United States10796 Posts
April 26 2012 05:16 GMT
#15
Well this is cool stuff!
Ballistix Gaming Global Gaming/Esports Marketing Manager - twitter.com/esvdiamond
smwatkin
Profile Joined May 2010
Canada399 Posts
April 26 2012 05:16 GMT
#16
Lol.

i love how the opening line was "i'll try to keep this brief"

Excellent post!
Not_That
Profile Joined April 2011
287 Posts
April 26 2012 05:18 GMT
#17
On April 26 2012 13:51 theBOOCH wrote:
Cool, but I'm a little confused. This may be a stupid question, but if I'm diamond and I have an MMR score of between 148 and 180, how do I know what tier of diamond I'm in? Or is it just to compare my MMR to someone elses MMR?


You know, I was going to give you the answer that amounts to the way I estimated my own Diamond tier when I was in Diamond, but I think I have a better one using what I mention in the OP.

It's very close, but you can barely NOT know your tier modifier from a SINGLE match against a Master.

IF you knew HIS MMR at the beginning of his match against you, then you would automatically know your division tier from the amount of points that you won/lost. However we can not directly infer his MMR from his match against you, because we don't know your division tier modifier. What we can do is look at his game just before his game against you. If he played a master opponent before he played you, then we can calculate his MMR at the beginning of that game. Then it's only a matter of guesstimating his MMR after his game prior to his match with you. If you guesstimate correctly, then you can infer your division tier by looking at the amount of points that you won/lost in your match against the master player, and comparing it with his estimated MMR.

Can we accurately know his MMR at the beginning of his match with you based on his last match? No, not yet. Maybe in the future though. For now, if you want to know your Diamond tier modifier and don't want to do what I suggested you can do it the old fashion way: Look at your Diamond (and Master when you get those) opponents and compare your points to theirs. This works better later on in the season. If the Diamond players points are generally higher than yours, then that indicates you are at a higher tier than they are, and vice versa. This is also a lot of guesswork, so I'm actually not sure which method is better. Particularly now when Blizzard changed the match making system, using the second method is going to be harder because your opponents will be much more varied. If I were still in Diamond, I'd give the first method a shot.

Now that I think about it, the points modifier difference between each Diamond tier is 63. That is 2 times the 32 range minus one, or 32x2 if we count the 0. It wouldn't surprise me if there's a connection between the two. Hmmm...
birdkicker
Profile Blog Joined August 2010
United States752 Posts
April 26 2012 05:22 GMT
#18
very good work!
Yoshi Kirishima
Profile Blog Joined July 2009
United States10324 Posts
April 26 2012 05:39 GMT
#19
On April 26 2012 14:11 Gfire wrote:
Show nested quote +
On April 26 2012 13:57 Yoshi Kirishima wrote:
Didn't read it all, but great work and thanks!

However I'd like to ask what you think about the formula/equation that they released during blizzcon. When they started talking about how complex the matchmaking was, they showed this huge ass equation, though they didn't explain it. Was it legit or not? (or maybe it was a lot simpler than it looked?)

IIRC, that was an equation having to do with calculating adjusted winrates while taking player skill into account. I think it was something different than this. It was for the stats they use to balance the game on.


Oh, yes you remember correctly xD oops
Mid-master streaming MECH ONLY + commentary www.twitch.tv/yoshikirishima +++ "If all-in fails, all-in again."
Excalibur_Z
Profile Joined October 2002
United States12235 Posts
April 26 2012 07:29 GMT
#20
This is a cool post. SDream and I were independently working out what the slope could be a while back and came away with similar findings, around 30ish per adjusted point gained or lost. 31.5 is exactly half the division tier offset (for Diamond anyway), though the resulting range isn't as convenient. It did appear that it was linear which is somewhat surprising actually.

We can think of the Blizzard SC2 ladder as a layered system. The base layer is MMR, it's relatively straightforward and zero sum. Then built on top of that is a points structure. At certain intervals along the scale are point deduction markers. These are the division/league offsets.

Potentially we could learn what the MMR cap is if this holds up. Is it 3000 like previously thought? Finding out the division offsets is a little more difficult because they muddy things up a lot. With enough data points, though, it's possible. I started that 12/12 project (a large spreadsheet with the primary goal of identifying league and division offsets for pairs of players who win +12 and -12 [or +13/-11, +14/-10, etc.]) last year which did help narrow down the slope, but there were also a lot of outliers as a result of division offsets for leagues below Master. For example, if you have a +12/-11 game (meaning the point gain difference was 1 point) and the point difference before that game was 32, that could either mean that the two players are in the same division tier or are within 1 tier of each other.
Moderator
1 2 3 4 5 15 16 17 Next All
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
2025 GSL S2 - Ro8 Group B
CranKy Ducklings130
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft745
Nina 118
Ketroc 56
ROOTCatZ 46
StarCraft: Brood War
Britney 13215
Artosis 862
HiyA 149
Sharp 75
Aegong 67
Icarus 6
Dota 2
monkeys_forever481
LuMiX1
League of Legends
Trikslyr85
Counter-Strike
Fnx 1402
Stewie2K802
Other Games
summit1g5871
C9.Mang01081
shahzam844
WinterStarcraft331
Maynarde137
Mew2King110
Temp019
Organizations
Other Games
gamesdonequick1350
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• Berry_CruncH285
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Azhi_Dahaki31
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• Scarra898
• imaqtpie816
Upcoming Events
RSL Revival
7h 56m
Cure vs Percival
ByuN vs Spirit
WardiTV Qualifier
13h 56m
PiGosaur Monday
21h 56m
RSL Revival
1d 7h
herO vs sOs
Zoun vs Clem
Replay Cast
1d 21h
The PondCast
2 days
RSL Revival
2 days
Harstem vs SHIN
Solar vs Cham
Replay Cast
2 days
RSL Revival
3 days
Reynor vs Scarlett
ShoWTimE vs Classic
uThermal 2v2 Circuit
3 days
[ Show More ]
SC Evo League
4 days
Circuito Brasileiro de…
4 days
Sparkling Tuna Cup
5 days
Liquipedia Results

Completed

Acropolis #3 - GSC
2025 GSL S2
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025

Upcoming

CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
BLAST Open Fall 2025
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.