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: 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:
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:
Compare that to the MMR movement of an old player: 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.
Edit8: Minimum points won cap explained ************************************************************************************************************** Edit7: Full match history from low Bronze to mid Master: ************************************************************************************************************** Edit6: F with minor corrections: ************************************************************************************************************** Edit5: Third offset estimates released ************************************************************************************************************** Edit4: Second offset estimates released ************************************************************************************************************** Edit3: First offset estimates released for EU and US: ************************************************************************************************************** Edit2: New F function found. Post. ************************************************************************************************************** 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.
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):
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.
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:
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.
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.
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): 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.
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.
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?
- 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?
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.
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?)
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
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.
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...
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.
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.
There seems to be an underlying assumption here that your opponents points have converged to his MMR. Otherwise I can't see it working. Example: Your points: 500: Your MMR 500. Your opponents points: 100. Your opponents MMR: 500. The match is even but if your opponent loses he will lose 0 points. Your formula would give your MMR = 500 + 368 = 868 which is wrong.
On April 26 2012 16:32 Mendelfist wrote: There seems to be an underlying assumption here that your opponents points have converged to his MMR. Otherwise I can't see it working. Example: Your points: 500: Your MMR 500. Your opponents points: 100. Your opponents MMR: 500. The match is even but if your opponent loses he will lose 0 points. Your formula would give your MMR = 500 + 368 = 868 which is wrong.
Not the case. It would give your MMR = between 100+368 and 100+infinity, which is accurate. The nice thing about it is that your opponent's points don't have to match his MMR or anything. For all you care, you could be playing against an opponent who is playing his first Starcraft 2 match ever. Your opponent is only used as a proxy for measuring your MMR against his adjusted points which are well known.
On April 26 2012 16:32 Mendelfist wrote: You also say that "as expected, MMR changes more rapidly than adjusted points". This raises a small warning flag for me, because I came to the opposite conclusion here: http://www.teamliquid.net/forum/viewpost.php?post_id=12182693
I agree I was careless with that statement. Your graph makes a valid point that this is not necessarily the case. Though I gotta wonder if Blizzard did not implement the entire points system to obfuscate a wildly fluctuating MMR, I have no idea what was their motivation for doing so.
On April 26 2012 16:29 Excalibur_Z wrote: 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.
I'm unfamiliar with the number 3000, not sure where it's from.
I think you're going to have a hard time using the 12/12 method to find league modifiers nowadays ever since Blizzard changed the matchmaking parameters. I suggest an alternative solution which I mentioned a few posts above:
Find out a Master player's MMR before a match using what I describe in the OP. If you can infer by analyzing enough games / estimate his post match MMR, and in the subsequent match he is facing a Diamond player, then you can use the same F formula to extract the Diamond player's adjusted points taking the Master's MMR as a given. This should tell you the Diamond league tier right away, with accuracy which depend only on how accurate your initial estimation of the Master player MMR was. Seeing as how the difference between Diamond tiers is 63 points, you will be hard pressed to be off by more than a single tier. If you are able to do this between Master and Diamond, then you can work your way backwards from Master league, going one league at a time and populating leagues and divisions with their modifiers compared to the last known point from above.
It's a lot of work, and depends on your ability to approximate a player's MMR post match from his MMR pre match, but on the bright side you're no longer dependant on 12/12 at all. You could use any match whatsoever (well, not 24/0...)
On April 26 2012 16:32 Mendelfist wrote: There seems to be an underlying assumption here that your opponents points have converged to his MMR. Otherwise I can't see it working. Example: Your points: 500: Your MMR 500. Your opponents points: 100. Your opponents MMR: 500. The match is even but if your opponent loses he will lose 0 points. Your formula would give your MMR = 500 + 368 = 868 which is wrong.
Not the case. It would give your MMR = between 100+368 and 100+infinity, which is accurate. The nice thing about it is that your opponent's points don't have to match his MMR or anything. For all you care, you could be playing against an opponent who is playing his first Starcraft 2 match ever. Your opponent is only used as a proxy for measuring your MMR against his adjusted points which are well known.
Beat a GM dude who had 350 pts and 9 bonus pool, he lost 11 points, found a dude in my division with 0 wins, had 196 bonus pool, so: 350+430+9-196+11 = 604
On April 26 2012 19:05 aintthatfunny wrote: Beat a GM dude who had 350 pts and 9 bonus pool, he lost 11 points, found a dude in my division with 0 wins, had 196 bonus pool, so: 350+430+9-196+11 = 604
-11+24 = 13 13 corresponds to 16/48
So my MMR would be between 620 and 650?
Edit.: ah right the 430 is the master's offset, sounds about right then.
I don't get it, you say that the blue column on the right of that table is the opponent's adjusted points minus your mmr, right? so blue = oppAdj - mmr
this would mean that mmr = oppAdj - blue
Then you say to get the mmr you add the opponents adjusted points to those values (blue).
this would mean that mmr = oppAdj + blue which is not the same as above.
First it was TSL4, then Kespa, gretech, Blizzard OGN announced a common esports vision for Starcraft1 and starcraft2 ending the fight between them, we also had the news about Starcraft 1 pros and teams checking out sc2 and having official sc2 related meetings. And now this. The few days have been very interesting to say the least.
On April 26 2012 19:41 Delta-V wrote: I don't get it, you say that the blue column on the right of that table is the opponent's adjusted points minus your mmr, right? so blue = oppAdj - mmr
this would mean that mmr = oppAdj - blue
Then you say to get the mmr you add the opponents adjusted points to those values (blue).
this would mean that mmr = oppAdj + blue which is not the same as above.
What am I missing?
I think you're right. It appears to be completely mislabeled, as are the rest of the graphs.
The 'blue' to which you refer appears to be "your MMR" - "opponent adjusted points".
OP did great work, but these graphs are a trainwreck.
Graph 1: This was completely confusing. Neither axis is labeled in-graph or in-text. It took guesswork after finishing the whole post to figure out that the x-axis is "points the opponent stood to win (that is, 'points actually won' or 'points lost + 24')" and the y-axis is "opponent points - mmr". OP just throws in "playerXhigh" and "playerXlow", and never explains what those mean.
Graph 2: As stated, the label of the blue section should be "MMR minus opponent's adjusted points".
Graph 3: As confusing as the first graph. Zero labels, and zero mention anywhere of what each axis is.
Graph 4: OP calls the y-axis "Adjusted points in Master league". That tells us absolutely nothing. If you were to talk about the "adjusted points in Master league" with someone, would they have any idea what you're talking about? No. It should be "Opponent adjusted points". That's the terminology used in the rest of the post; it's extremely confusing to see different terminology here.
Graph 5: The line denoting FoPǂChimaira's adjusted points is simply given the label "adjusted points", the same label as the y-axis. This problem would mostly be solved if the y-axis were already labeled "Opponent adjusted points", but why not call it "FoPǂChimaira's adjusted points"? OP shouldn't worry that FoPǂChimaira's data won't be an opponent's adjust points; he already explained that he was overlaying his data on the previous graph. Also, the legend indicates that blue bars denote MMR, with no mention of red bars at all. What? Bars blue for wins, red for losses, and they're both marking adjusted points, not MMR.
I think OP did a great job figuring this out, and a decent job explaining it, but these graphs may be doing more harm than good as they stand. The labeling is just off the wall. Figuring out the graphs is total guesswork until you get the big picture.
The most useful piece of info I took from this is the GM-Master offset being confirmed as 430. Hope we can get the SC2ranks maker to implement a combined ranking of master/gm!
Nice post. Your explanation was quite clear. The inner workings of the ladder are really interesting and I'm glad there are folks that unlike me aren't too lazy to do the data-gathering required to obtain results
On April 26 2012 22:47 Rannasha wrote: Nice post. Your explanation was quite clear. The inner workings of the ladder are really interesting and I'm glad there are folks that unlike me aren't too lazy to do the data-gathering required to obtain results
eaxactly what i wanted to say, especially the lazy part^^
On April 26 2012 21:29 Pokebunny wrote: The most useful piece of info I took from this is the GM-Master offset being confirmed as 430. Hope we can get the SC2ranks maker to implement a combined ranking of master/gm!
THIS omg..... Now we could actually make a comprehensive list per ladder region of rank 1 to rank 1,000,000 in order, in spite of leagues.
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
Master was used as the baseline there because after we figured out all the Diamond offsets, once Master league appeared we were able to math it out to -150 from the top of Diamond. This meant that Master became the new zero point. Grandmaster we were able to narrow it down to around -430 (plus or minus some margin of error which I think was around 10 or so), but because it was never locked down 100% it wasn't added to the ladder guide.
So here's another project. Back when the "promotion point chart" was posted by Blizzard (and there have been several but they all say the same thing), I posted a version of it on http://wiki.teamliquid.net/starcraft2/Battle.net_Leagues corrected for adjusted points in the hopes that it would generate a type of unified ladder layout that we could use to highlight the league offsets. With enough cross-league data (and that shouldn't be too difficult given the broader matchmaking search range) we should be able to prove or disprove these breakpoints. So far all we've really confirmed is the Diamond range which equates to 535 adjusted points (or around 150 + (63*6)).
Previously we had been looking at the ladder from the top down rather than the bottom up, but it's all relative of course. We had to use the top as a baseline because our methods used the top 200 values week to week with the offsets all filtered out. Realistically speaking, the higher your league/division in the ladder, the more of a penalty your points take.
On April 26 2012 19:05 aintthatfunny wrote: Am I doing this correct?
Beat a GM dude who had 350 pts and 9 bonus pool, he lost 11 points, found a dude in my division with 0 wins, had 196 bonus pool, so: 350+430+9-196+11 = 604
-11+24 = 13 13 corresponds to 16/48
So my MMR would be between 620 and 652*?
Yes, you're doing it right.
On April 26 2012 19:41 Delta-V wrote: I don't get it, you say that the blue column on the right of that table is the opponent's adjusted points minus your mmr, right? so blue = oppAdj - mmr
this would mean that mmr = oppAdj - blue
Then you say to get the mmr you add the opponents adjusted points to those values (blue).
this would mean that mmr = oppAdj + blue which is not the same as above.
What am I missing?
This is what's confusing you. I said
The bars are the results of inputting the opponent adjusted points and amount of points gained/lost into my F function candidate.
Perhaps I wasn't clear enough, but the values displayed on the graph are the result of my proposed F applied to opponent adj points and the amount of points he got for winning. I hope this makes it clearer.
I slept on this and I realize there's a problem with my data gathering methodology (it's amazing how much you can accomplish lying in bed). It has been the cause of some of the strange results, particularly the ones that are related to +23 points games. I'll use an example of what I mean:
Let's say FoPǂChimaira played the day before I collected data against player B, and Chimaira won. I looked into B's profile and saw that B lost 12 points. Since then B played 10 more games, winning 5 of them. In those 10 games, B gained 80 points and lost 110, so +80 - 110 = -30. Since B lost 30 points since his game with Chimaira, I add 30 to B's current points (his points at the time of me looking, let's say 300), add B's unspent bonus pool (let's say 0). So I end up with: 300: B's current points +30: B's (negative) points change since after his match with Chimaira. Since B lost 30, we add 30 to compensate. +0: B's unspent bonus pool +12: The amount of points B lost to Chimaira = 342
If at the time of me gathering all data points the current total bonus pool for the server was 180, I then do 342-180=162 to find out B's adjusted points at the time of his beginning of the game against Chimaira (well, not quite, you'll see soon why).
This is wrong however, here's why: Let's look at two scenarios. For calculation's sake, let's say the server gained 20 bonus pool points since Chimaira and B played.
Server total BP at the time of Chimaira and B match: 160
B points at the time of him playing Chimaira: Scenario A: Ladder points: 322 Unspent bonus pool: 20 B adj points: 322+20-160=182
In scenario A, player B gained 40 adjusted points in his 5 wins. In scenario B, he gained 60 adjusted points in his 5 wins. If we try to look into the B's match history we have no way of knowing which of the two scenarios took place.
The two scenarios are indistinguishable looking at B's match history the day after his match with Chimaira happened. Basically, out of the 5 games and +80 points that B won since then, we have no way of knowing whether 20 of those points are bonus pool points (the 20 points the server received since then), or 40 (same 20 points plus 20 B had initially). We basically can't determine B's adjusted points retroactively.
This raises a big problem with all the data I've gathered. I thought of ways to circumvent this by watching Chimaira's match history live over a day. He (or someone who plays similar amount) probably plays enough games for this to work, but tedious. Then I thought I might as well use my own games. I'm a Master player with adjusted points in the area of 220, fairly similar to Chimaira's and meet the occasional Diamond as well. It'll be tough playing the necessary amount of games, but I'll have the added benefit of being able to ask my opponents how many adj points they get for the win when they beat me, and some may even answer. Also I'll always be up to date on when there's a new game entry.
But then I thought this is completely unnecessary. Some people have been keeping close tabs on their game history for months. Just get one of those of a player in Master league and use his data.
I may already have such a data base of a friend of mine in low Master I could use, but may as well ask here hopefully someone in mid Master+ has been keeping excel sheet of his matches that is willing to let me use.
I'm looking for a player's history data that contains the following: - Amount of points opponent gained/lost for match with him - Opponent adjusted points prior (or following) the match. Alternatively, Opponent ladder points and unspent bonus pool and total server bonus pool at the time of the match, which allow a calculation of opponent adjusted points. There will almost always be a small uncertainty in case opponent wins how many of his points are bonus pool points and how many are adjusted. Consequently there will usually be a small uncertainty in those games about opponent win amount and opponent adjusted points prior to the match in games where opponent wins. - Opponent league
Bonus: player's own adj points prior to match and adj points change from his match.
The matches need to be consecutive with no gaps in between.
In the meanwhile I'll have a look into my friend's stats see if they contain everything needed.
Edit: Nope the data base of my friend does not contain opponent points change from the match. Still looking for database.
On April 27 2012 01:10 Not_That wrote: This is what's confusing you. I said The bars are the results of inputting the opponent adjusted points and amount of points gained/lost into my F function candidate.
Perhaps I wasn't clear enough, but the values displayed on the graph are the result of my proposed F applied to opponent adj points and the amount of points he got for winning. I hope this makes it clearer.
Sorry, I wasn't talking about the bar graph, I was talking about this:
and this:
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.
And how they don't match up.
I'm pretty sure that "opponent's adj points minus your mmr" should read "your mmr minus opponent's adj points"
I know this isn't what you are looking for, but this is my complete match history, about 1500 games (zipped excel file). Unfortunately I'm not in master league, but maybe you or someone else can squeeze out some interesting information from it.
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
whats the problem ? i bet if he likes numbers or math he enjoy doing this kind of stuff .
nice OP (even so i am not sure i understood every single detail of it)
What i wanted to ask is: in what reagard is the MMR a better messurement of skill than the current points->global rank with some assumptions like all spend bonus pool, decent amount of games played?
What i can think of now is: You can watch your MMR history and see your development. That would be pretty bad ass. Looking forward to the tool then.
If i understand it correctly the displayed point system is inflated so it only shows your skill relative to others. That means a good messurement of your skill would be the global rank you are which you can look up at sc2ranks.com. That's the best meassurement of skill there is out there atm imho. The only problem with it is that if you or a lot of other people have bonus pool left.
Im probably not the only one that thinks its rediculous that the community has to bend over backwards to solve a problem that Blizzard put in the game ON PURPOSE. The amount of effort the OP had to put into this is a testement to the shittyness of bnet2.0. I love starcraft, but I dont think Im going to buy another blizzard product.
The main thing that I always wondered about, is that mmr is an actual number, and as such after every game that number has to either be stored on the players account or on the battle.net servers. Either way this means that the number has to be generated immediately after each game. Don't you think by now some tech savvy gamers would've figured out a way to fish these numbers out as a feature for sc2gears or something, as a way to track mmr?
This is extremely well done, concise and eloquent. Reading through it once was intensely interesting, I'm going to see what I can do about finding mine using this method.
I gained +17 (+rest of bonus which was 9) He lost -15
He had 176 adjusted points. [282total 0bonus -121total bonus for season +15what he lost] I had 19 adjusted points. [157total 0bonus -121total bonus for season -17what I won]
"Find the matching row with the amount of points he gained here:...adj-mmr"
shouldn't it be the other way around? if I have SICK MMR and he has shitty points then adj-MMR is highly negative, hence he should get many points/lose not many.
do you btw. know the exact value of MMR-limit? i want to know how far i am to playing stephano and such.
On April 27 2012 04:44 Greenei wrote: "Find the matching row with the amount of points he gained here:...adj-mmr"
shouldn't it be the other way around? if I have SICK MMR and he has shitty points then adj-MMR is highly negative, hence he should get many points/lose not many.
do you btw. know the exact value of MMR-limit? i want to know how far i am to playing stephano and such.
ty corrected. I have no idea what is the MMR limit, though I've seen Excalibur_Z mention 3000 as a theorized value.
On April 27 2012 04:42 iTzSnypah wrote: Ok so I'm diamond and I played a game against another diamond.
I calculated my MMR and his MMR after a game. For me I got 64-96. For him I got. 144-176.
I gained +17 (+rest of bonus which was 9) He lost -15
He had 176 adjusted points. [282total 0bonus -121total bonus for season +15what he lost] I had 19 adjusted points. [157total 0bonus -121total bonus for season -17what I won]
I don't think you can know from these stats alone.
Thinking of the top of my head, I will say this: You gained 17 while he would have gained 9 (24-15). To me this indicates your adjusted points are (17-9)*32 =256 behind his IF we assume for a moment (an unreasonable assumption) that your mmr = his mmr. Under this assumption, in order to compare you to him by adjusted points we would have to add 256 to your adjusted points. your 19+256=275 to his 176. This would put you with a division modifier roughly 99 points higher than his, or roughly a tier and a half below his. By this alone I would put you between a tier and two lower than your opponent. Keep in mind the assumption that your mmr = his mmr is probably not true, especially with the recent changes to the matchmaking system.
On April 27 2012 04:18 Gyro_SC2 wrote: hi, I have a smurf account. I'm silver and I beat diamond player, platinium player.
How can I know my MMR? The adjusted points is different for all the league ?
opponent current points - 149 opponent unspent bonus - 34 total bonus - 121 points he got from beating me (26...that's with the bonus pool points added)
points he got from beating me without bonus points - 13
theres one thing i dont get. what if my opponents adjusted points are very low, because he hasnt played so many games. that would mean, that my calculated MMR rises, even though i dont get stronger.
On April 27 2012 05:56 Greenei wrote: theres one thing i dont get. what if my opponents adjusted points are very low, because he hasnt played so many games. that would mean, that my calculated MMR rises, even though i dont get stronger.
It doesn't matter how close/far your opponent's adjusted points are to his MMR. The ladder system just looks at the difference between his adjusted points and your MMR, and calculates a number of points to give him after the game.
On April 27 2012 05:55 Kaladin wrote: I still don't understand the diamond tiers.
here is what i calculated
opponent current points - 149 opponent unspent bonus - 34 total bonus - 121 points he got from beating me (26...that's with the bonus pool points added)
points he got from beating me without bonus points - 13
so that would make my mmr anywhere from 52-84
both of us are in diamond
which tier am i in?
Unfortunately there isn't a simple way to determine your (or your opponent) tier below Master. All you know is that when compared with whatever tier of your opponent belonged to in Diamond, you have an MMR of 52-84. If you can somehow find out his tier, then you would know your MMR. Alternatively wait until you're matched against a Master player then you'll know.
Blizzard does love the non-rouded-up numbers, so 30 was wrong for sure! =P
Now that I think about it, I'd bet that the GM off-set from masters is 432, but it could be any random number afaik...
I still think that the jump for every division is 63, just because it makes sense to me. I also think that the "ZERO" MMR is the 0 for the Tier S Gold Division.
I think in theory it makes sense that bronze equals to diamond + master + gm, silver equates to platinum and then we have gold with its 2 tiers. Gold is the middle of the way, so it makes sense that it has the 0MMR and then a silver player would have -126 or less MMR and a platinum player a +126 or more MMR.
That would mean "0" master is 780 MMR and a 720 master would reach the 1500 MMR cap.
3000 was the CAP for world of warcraft arena games once, but they don't have negative MMR there, because Blizzard added 1500 so no one would be with negative numbers, as it has a negative impact on people, but we don't need this +1500 here so...
BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
On April 27 2012 05:56 Greenei wrote: theres one thing i dont get. what if my opponents adjusted points are very low, because he hasnt played so many games. that would mean, that my calculated MMR rises, even though i dont get stronger.
It doesn't matter how close/far your opponent's adjusted points are to his MMR. The ladder system just looks at the difference between his adjusted points and your MMR, and calculates a number of points to give him after the game.
.
ah i get it. when he hasnt played much he wont lose many points.
So how does this MMR have any significance? You've only given us a method to finding out our MMR as some arbitrary number, you haven't told us what this number means or how we can even go about finding out what it means.
On April 27 2012 08:32 XenoX101 wrote: So how does this MMR have any significance? You've only given us a method to finding out our MMR as some arbitrary number, you haven't told us what this number means or how we can even go about finding out what it means.
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.
Love it love it Love it. I have 2 questions 1)If it would help at all for me to submit any information I will do so, so my question is let me know how I can help. I am pretty active 5/g day 2) Is there an easy way to figure out which division of diamond I'm in.. i mean without finding someone whose played someone who played someone who played someone, ..., who played masters?
I think i'm 51-83 Plus Diamond offset?. but I could be wrong (i am confused by division offsets) Someone confirm? I am in diamond. Played a diamond. I won, I gained 11 points*. He lost 7. He now has 151 points, I have 236.
*I believe 1 point was bonus point, because he now has 8 bonus pool while I have 7. Neither of us have played a game since.
On April 27 2012 07:23 SDream wrote: BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
How do we confirm this? I'm a bit confused. This will or will not be apparent when diamond beats platinum. This seems like something the system would do to catch people up to what their points should be when they haven't played many games.
I'm curious how the new changes to matchmaking have affected this, if at all.
On April 27 2012 07:23 SDream wrote: BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
I'm still not sold on that. I think the system just places you conservatively.
Thank you so much for all your effort. I've always dreamed of having a proper measure of skill tracking and it seems to be on the verge of being possible. This post in tandem with the new developments with the summary screen file displaying points automatically along with the fantastic sc2gears means it all may be becoming a reality shortly!
Thanks for posting this dude. I've been looking at my opponent's point loss forever. It certainly seemed easy to intuit an approximate MMR based on the opponent's rank and the point loss they suffered (or gained). It's impressive to see it mapped out in such a way. If I have some time I'll try to contribute some thoughts, but way too busy lately
On April 27 2012 02:06 Mendelfist wrote: I know this isn't what you are looking for, but this is my complete match history, about 1500 games (zipped excel file). Unfortunately I'm not in master league, but maybe you or someone else can squeeze out some interesting information from it.
On April 27 2012 11:53 thrawn2112 wrote: i'm sure lots of people would greatly appreciate it if someone were to work this into a plugin for sc2gears
I believe this has to be done manually (at least the data input part, not the calculation) since point data isn't stored in replays. The only automated way I can see is to scrape data off the bnet website immediately after you play a match.
On April 27 2012 07:23 SDream wrote: BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
I'm still not sold on that. I think the system just places you conservatively.
But that's pretty much confirmed on plat, gold and silver, chances are it exist at bronze-diamond, but I want to check diamond, master and GM, GM might be difficult to find a player suitable though =/
A typical player that is losing way more than winning at plat-gold:
0 AP -> wins 15 (they always win 15 in the first game, ALWAYS) 15 AP -> win 14 29 AP -> losses 10 19 AP -> losses 10 9 AP -> losses 9 0 AP -> wins 15 (coincidence!!) 15 AP -> win 14 29 AP -> losses 10 19 AP, however, he is demoted! 73 AP -> losses 12 (12 now... interesting) 61 -> losses 11 50 -> losses 11 39 -> losses 10 29 -> (this number is rather magic...) losses 10 19 -> losses 10 9 -> losses 9 0 -> -9 -9 -> -9 -18 -> -8 -26 -> +16 (16 now! interesting) -10 -> - 9 -19 -> -8 -27
This example is real and you can find dozens just like him. I am looking for a diamond or master now... diamond will be easier I guess. Cya =)
Edit: I am confirming that masters works like old-style, they will win and lose based on MMR from his opponent only.
Edit2: Silver, gold and plat confirmed to be like I am telling you here. Master and GM confirmed to be old-style though. I won't confirm bronze, but diamonds seems to be this new-style, but I am having trouble finding good examples...
On April 26 2012 19:41 Delta-V wrote: I don't get it, you say that the blue column on the right of that table is the opponent's adjusted points minus your mmr, right? so blue = oppAdj - mmr
this would mean that mmr = oppAdj - blue
Then you say to get the mmr you add the opponents adjusted points to those values (blue).
this would mean that mmr = oppAdj + blue which is not the same as above.
What am I missing?
I think you're right. It appears to be completely mislabeled, as are the rest of the graphs.
The 'blue' to which you refer appears to be "your MMR" - "opponent adjusted points".
OP did great work, but these graphs are a trainwreck.
Graph 1: This was completely confusing. Neither axis is labeled in-graph or in-text. It took guesswork after finishing the whole post to figure out that the x-axis is "points the opponent stood to win (that is, 'points actually won' or 'points lost + 24')" and the y-axis is "opponent points - mmr". OP just throws in "playerXhigh" and "playerXlow", and never explains what those mean.
Graph 2: As stated, the label of the blue section should be "MMR minus opponent's adjusted points".
Graph 3: As confusing as the first graph. Zero labels, and zero mention anywhere of what each axis is.
Graph 4: OP calls the y-axis "Adjusted points in Master league". That tells us absolutely nothing. If you were to talk about the "adjusted points in Master league" with someone, would they have any idea what you're talking about? No. It should be "Opponent adjusted points". That's the terminology used in the rest of the post; it's extremely confusing to see different terminology here.
Graph 5: The line denoting FoPǂChimaira's adjusted points is simply given the label "adjusted points", the same label as the y-axis. This problem would mostly be solved if the y-axis were already labeled "Opponent adjusted points", but why not call it "FoPǂChimaira's adjusted points"? OP shouldn't worry that FoPǂChimaira's data won't be an opponent's adjust points; he already explained that he was overlaying his data on the previous graph. Also, the legend indicates that blue bars denote MMR, with no mention of red bars at all. What? Bars blue for wins, red for losses, and they're both marking adjusted points, not MMR.
I think OP did a great job figuring this out, and a decent job explaining it, but these graphs may be doing more harm than good as they stand. The labeling is just off the wall. Figuring out the graphs is total guesswork until you get the big picture.
To be fair, they may have been working titles that HE knew what they meant, and forgot to change before releasing the results. Your point still stands though.
On April 27 2012 07:23 SDream wrote: BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
I'm still not sold on that. I think the system just places you conservatively.
But that's pretty much confirmed on plat, gold and silver, chances are it exist at bronze-diamond, but I want to check diamond, master and GM, GM might be difficult to find a player suitable though =/
A typical player that is losing way more than winning at plat-gold:
0 AP -> wins 15 (they always win 15 in the first game, ALWAYS) 15 AP -> win 14 29 AP -> losses 10 19 AP -> losses 10 9 AP -> losses 9 0 AP -> wins 15 (coincidence!!) 15 AP -> win 14 29 AP -> losses 10 19 AP, however, he is demoted! 73 AP -> losses 12 (12 now... interesting) 61 -> losses 11 50 -> losses 11 39 -> losses 10 29 -> (this number is rather magic...) losses 10 19 -> losses 10 9 -> losses 9 0 -> -9 -9 -> -9 -18 -> -8 -26 -> +16 (16 now! interesting) -10 -> - 9 -19 -> -8 -27
This example is real and you can find dozens just like him. I am looking for a diamond or master now... diamond will be easier I guess. Cya =)
Yeah I've noticed similar things happen when going through the histories of players who bomb their MMRs to drop down to Bronze. It's always -12 -11 -11 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 (league change) -12 -11 -11 -10 -10 etc. So, it's certainly possible that 73 is the "real" baseline. From a game design perspective, it makes sense too: if I were to pitch a ladder system I could easily justify this by saying "you want to make it easier to get some points at the start to encourage activity across all skill levels." Is that what's happening? It's possible, sure, but I don't know for sure.
On April 27 2012 07:23 SDream wrote: BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
I'm still not sold on that. I think the system just places you conservatively.
But that's pretty much confirmed on plat, gold and silver, chances are it exist at bronze-diamond, but I want to check diamond, master and GM, GM might be difficult to find a player suitable though =/
A typical player that is losing way more than winning at plat-gold:
0 AP -> wins 15 (they always win 15 in the first game, ALWAYS) 15 AP -> win 14 29 AP -> losses 10 19 AP -> losses 10 9 AP -> losses 9 0 AP -> wins 15 (coincidence!!) 15 AP -> win 14 29 AP -> losses 10 19 AP, however, he is demoted! 73 AP -> losses 12 (12 now... interesting) 61 -> losses 11 50 -> losses 11 39 -> losses 10 29 -> (this number is rather magic...) losses 10 19 -> losses 10 9 -> losses 9 0 -> -9 -9 -> -9 -18 -> -8 -26 -> +16 (16 now! interesting) -10 -> - 9 -19 -> -8 -27
This example is real and you can find dozens just like him. I am looking for a diamond or master now... diamond will be easier I guess. Cya =)
Yeah I've noticed similar things happen when going through the histories of players who bomb their MMRs to drop down to Bronze. It's always -12 -11 -11 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 (league change) -12 -11 -11 -10 -10 etc. So, it's certainly possible that 73 is the "real" baseline. From a game design perspective, it makes sense too: if I were to pitch a ladder system I could easily justify this by saying "you want to make it easier to get some points at the start to encourage activity across all skill levels." Is that what's happening? It's possible, sure, but I don't know for sure.
I edited there, but you answered so I will say here as well:
I just confirmed that master and GM still uses the "old" style. I am trying to confirm that diamond is at the new style, but I am having trouble finding good examples, but it seems to be like plat-silver...
It makes sense that bronze-diamond follow a "nooby" style, they have less bonus pool, anyone can be placed there with only 5 games etc. Master and GM are more... "hardcore" :D
On April 27 2012 07:23 SDream wrote: BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
I'm still not sold on that. I think the system just places you conservatively.
But that's pretty much confirmed on plat, gold and silver, chances are it exist at bronze-diamond, but I want to check diamond, master and GM, GM might be difficult to find a player suitable though =/
A typical player that is losing way more than winning at plat-gold:
0 AP -> wins 15 (they always win 15 in the first game, ALWAYS) 15 AP -> win 14 29 AP -> losses 10 19 AP -> losses 10 9 AP -> losses 9 0 AP -> wins 15 (coincidence!!) 15 AP -> win 14 29 AP -> losses 10 19 AP, however, he is demoted! 73 AP -> losses 12 (12 now... interesting) 61 -> losses 11 50 -> losses 11 39 -> losses 10 29 -> (this number is rather magic...) losses 10 19 -> losses 10 9 -> losses 9 0 -> -9 -9 -> -9 -18 -> -8 -26 -> +16 (16 now! interesting) -10 -> - 9 -19 -> -8 -27
This example is real and you can find dozens just like him. I am looking for a diamond or master now... diamond will be easier I guess. Cya =)
Yeah I've noticed similar things happen when going through the histories of players who bomb their MMRs to drop down to Bronze. It's always -12 -11 -11 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 (league change) -12 -11 -11 -10 -10 etc. So, it's certainly possible that 73 is the "real" baseline. From a game design perspective, it makes sense too: if I were to pitch a ladder system I could easily justify this by saying "you want to make it easier to get some points at the start to encourage activity across all skill levels." Is that what's happening? It's possible, sure, but I don't know for sure.
I edited there, but you answered so I will say here as well:
I just confirmed that master and GM still uses the "old" style. I am trying to confirm that diamond is at the new style, but I am having trouble finding good examples, but it seems to be like plat-silver...
It makes sense that bronze-diamond follow a "nooby" style, they have less bonus pool, anyone can be placed there with only 5 games etc. Master and GM are more... "hardcore" :D
Keep in mind this probably started at S3.
How do you know it's not related to division tiers?
On April 27 2012 07:23 SDream wrote: BTW, it seems that the "zero" for the bronze-diamond leagues (at least) is not zero, but a number between 80 and 112, so keep that in mind when calculating your MMR, everyone gets 80-112 points for "free" and the system think that it is some kind of "zero", so you are platinum and won against a bronze, silver, gold, it doesn't matter, you will get 15 points!
If you could help me confirm what I just said, it would be helpful. I confirmed it existed for a bronze-level that was placed at platinum friend of mine and it would make sense if bronze-plat, probably diamonds would all have it. But I didn't confirm anything. <3
And that's it, thanks for your effort, these numbers will help me, specially with this new system ^^
I'm still not sold on that. I think the system just places you conservatively.
But that's pretty much confirmed on plat, gold and silver, chances are it exist at bronze-diamond, but I want to check diamond, master and GM, GM might be difficult to find a player suitable though =/
A typical player that is losing way more than winning at plat-gold:
0 AP -> wins 15 (they always win 15 in the first game, ALWAYS) 15 AP -> win 14 29 AP -> losses 10 19 AP -> losses 10 9 AP -> losses 9 0 AP -> wins 15 (coincidence!!) 15 AP -> win 14 29 AP -> losses 10 19 AP, however, he is demoted! 73 AP -> losses 12 (12 now... interesting) 61 -> losses 11 50 -> losses 11 39 -> losses 10 29 -> (this number is rather magic...) losses 10 19 -> losses 10 9 -> losses 9 0 -> -9 -9 -> -9 -18 -> -8 -26 -> +16 (16 now! interesting) -10 -> - 9 -19 -> -8 -27
This example is real and you can find dozens just like him. I am looking for a diamond or master now... diamond will be easier I guess. Cya =)
Yeah I've noticed similar things happen when going through the histories of players who bomb their MMRs to drop down to Bronze. It's always -12 -11 -11 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 (league change) -12 -11 -11 -10 -10 etc. So, it's certainly possible that 73 is the "real" baseline. From a game design perspective, it makes sense too: if I were to pitch a ladder system I could easily justify this by saying "you want to make it easier to get some points at the start to encourage activity across all skill levels." Is that what's happening? It's possible, sure, but I don't know for sure.
I edited there, but you answered so I will say here as well:
I just confirmed that master and GM still uses the "old" style. I am trying to confirm that diamond is at the new style, but I am having trouble finding good examples, but it seems to be like plat-silver...
It makes sense that bronze-diamond follow a "nooby" style, they have less bonus pool, anyone can be placed there with only 5 games etc. Master and GM are more... "hardcore" :D
Keep in mind this probably started at S3.
How do you know it's not related to division tiers?
I don't, you think it could be this way for Rank X but not this way for Rank Y? Or are you asking something else o.o
Edit: I confirmed that at S3 it was there for diamond, do you remember this that I made back in the day Excalibur?
On April 27 2012 12:02 Cassel_Castle wrote: Hey, I calculated your "smoothed" MMR (last 10 games average without outliers) with this bonus pool for opponent leagues:
That's quite interesting, and it seems to be more or less correct. (Season 3 looks depressing...) You can compare that calculated MMR to the column AVG which is the average league of my opponent during the last 20 games. If you make curves of that it looks quite similar to yours.
So is MMR an absolute scale giving a comparison across all tiers or is it still restricted to within the division you're playing? I'm guessing it's still tiered.
This gives an F of 18 on the table, meaning we add 176 at the lower bound, 208 at the top. We'll say 192 for a median giving an MMR of 192 + 65 = 257 for my MMR.
Edit: There was a mistake in my spreadsheet giving the incorrect F value (should be 14), the major change in MMR still resides however.
Next game I play against a GM with these stats Opponents Points: 140 Opponents Change: 14 Bonus Pool: 103
Given a change of 14 we have a lookup value of 48 - 80, again we'll take 64 as a median, meaning that my MMR is now 435 + 64 = 499, effectively doubling my MMR after a game.
Doesn't seem feasible, or is MMR really that volatile?
Edit: Thinking it through, this should only be a reflection of MMR as from the previous game. That means it's actually the master game previous to that which doubled my MMR?
This gives an F of 18 on the table, meaning we add 176 at the lower bound, 208 at the top. We'll say 192 for a median giving an MMR of 192 + 65 = 257 for my MMR.
Edit: There was a mistake in my spreadsheet giving the incorrect F value (should be 14), the major change in MMR still resides however.
Next game I play against a GM with these stats Opponents Points: 140 Opponents Change: 14 Bonus Pool: 103
Given a change of 14 we have a lookup value of 48 - 80, again we'll take 64 as a median, meaning that my MMR is now 435 + 64 = 499, effectively doubling my MMR after a game.
Doesn't seem feasible, or is MMR really that volatile?
Edit: Thinking it through, this should only be a reflection of MMR as from the previous game. That means it's actually the master game previous to that which doubled my MMR?
There is a huge chance that the GM offset for SEA is different than Am/Eu/FEA regions, if you played S3 at GM level you'd remember the problems that a huge offset showed in your region, I am pretty sure they lowered it to avoid half that league to have negative points... So, that's an additional thing to take note.
If people have different MMRs in different tiers, why don't they change divisions within the same league? Do these separate tiers not have separate divisions as well? Also seems strange that diamond has so many tiers when gold and platinum only have 2-3.
On April 28 2012 02:55 Xapti wrote: I don't understand the multiple tier thing.
If people have different MMRs in different tiers, why don't they change divisions within the same league? Do these separate tiers not have separate divisions as well? Also seems strange that diamond has so many tiers when gold and platinum only have 2-3.
http://www.teamliquid.net/forum/viewmessage.php?topic_id=332391 I think your answer can be found here. But basically, as I understand it. There will be many many divisions in any given tier (except GM, which there is basically one division and tier, but its a special case) You won't change division until you're in a new league(or i suppose if your league is disbanded and redisbursed for some reason) I believe everyone in a specific division would be in the same tier and have the same offset, but I was wondering that myself, if people in the same division could have a different offset, but i doubt it and i don't think this can be true.
To be clear people in the same tier have different MMRs too, it's not just people in different tiers. But clearly you can play someone in a tier above or below you(or the same tier), and now possibly multiple tiers with expanded matchmaking, so MMR doesn't have to be the same to get matched. It would be redundant for the system to place you in a division with a different offset because all it would do is adjust what points are SHOWN, for all practical purposes your ranking would be the same. For example if you have 50 points in a division that's worth +100 points more than the division i'm in, and I have 150 points. We actually have the same # of points, it's irrelevant which one is shown. I don't know why plat has less tiers that is actually a good question, I wonder that myself but might be better for the other thread that I linked.
I'm getting into pure speculation here, but this may be the reason why... Masters=Top 2% of the player population by skill. and then GM is the top 200 out of the top 2%. They have separate bonus pool accrual I feel like they are almost considered 'separate' from the rest of the ladder, even though in reality they are still on the same overall scale. So the rest of the ladder is segmented. The top and the bottom would have the most range of skill so they need the most segments, bronze and diamond have 7 tiers, while silver and plat have 3, and gold has 2, with the middle of gold (between the 2) being the middle of the ladder..
That's pretty slick, must've taken a lot of work to figure it out. I'll try bookmarking this and use it every now and then to see if my mmr is changing in the manner you suggest.
On April 28 2012 02:55 Xapti wrote: I don't understand the multiple tier thing.
If people have different MMRs in different tiers, why don't they change divisions within the same league? Do these separate tiers not have separate divisions as well? Also seems strange that diamond has so many tiers when gold and platinum only have 2-3.
http://www.teamliquid.net/forum/viewmessage.php?topic_id=332391 I think your answer can be found here. But basically, as I understand it. There will be many many divisions in any given tier (except GM, which there is basically one division and tier, but its a special case) You won't change division until you're in a new league(or i suppose if your league is disbanded and redisbursed for some reason) I believe everyone in a specific division would be in the same tier and have the same offset, but I was wondering that myself, if people in the same division could have a different offset, but i doubt it and i don't think this can be true.
To be clear people in the same tier have different MMRs too, it's not just people in different tiers. But clearly you can play someone in a tier above or below you(or the same tier), and now possibly multiple tiers with expanded matchmaking, so MMR doesn't have to be the same to get matched. It would be redundant for the system to place you in a division with a different offset because all it would do is adjust what points are SHOWN, for all practical purposes your ranking would be the same. For example if you have 50 points in a division that's worth +100 points more than the division i'm in, and I have 150 points. We actually have the same # of points, it's irrelevant which one is shown. I don't know why plat has less tiers that is actually a good question, I wonder that myself but might be better for the other thread that I linked.
I'm getting into pure speculation here, but this may be the reason why... Masters=Top 2% of the player population by skill. and then GM is the top 200 out of the top 2%. They have separate bonus pool accrual I feel like they are almost considered 'separate' from the rest of the ladder, even though in reality they are still on the same overall scale. So the rest of the ladder is segmented. The top and the bottom would have the most range of skill so they need the most segments, bronze and diamond have 7 tiers, while silver and plat have 3, and gold has 2, with the middle of gold (between the 2) being the middle of the ladder..
Every division tier has a unique offset, but there can be many many divisions in each tier (new ones are created on demand). The entire idea behind division tiers is that they create the illusion of being part of a larger cohesive league. That is, weaker players are placed in lower tiers, but they get a larger offset which makes it easier to get points, even though their points are going to be naturally low. Conversely, stronger players are placed in higher tiers, but their offset is reduced because they'll naturally get more points. Overall, this normalizes the points across the entire league and makes things feel a bit more competitive. Therefore, everyone in your division has the same offset as you, and you can determine the skill of others in your division by their points.
You can't get promoted from one tier to another within the same league. If you could, you'd probably bounce along +/- 1 tier too frequently for your current division assignment to hold much meaning (and don't forget that with each league change you face a point reset).
Plat, Gold, and Silver have fewer tiers because they cover a smaller skill range. However, because they are close to the center of the skill distribution curve, there is a higher density of players which makes up for this. This is what enables each league to carry around 20% of the population at any given time:
If Plat had 7 tiers like Diamond and Bronze, it would cover the same skill range and would carry probably 40 to 50% of the population.
On April 28 2012 18:09 BigBirdy90 wrote: This math hurts my head, when is the tool coming out?
The script I was referring to was published. You can find a photo of the included MMR calculator in that thread. Not sure if I should add it to OP or not.
This gives an F of 18 on the table, meaning we add 176 at the lower bound, 208 at the top. We'll say 192 for a median giving an MMR of 192 + 65 = 257 for my MMR.
Edit: There was a mistake in my spreadsheet giving the incorrect F value (should be 14), the major change in MMR still resides however.
Next game I play against a GM with these stats Opponents Points: 140 Opponents Change: 14 Bonus Pool: 103
Given a change of 14 we have a lookup value of 48 - 80, again we'll take 64 as a median, meaning that my MMR is now 435 + 64 = 499, effectively doubling my MMR after a game.
Doesn't seem feasible, or is MMR really that volatile?
Edit: Thinking it through, this should only be a reflection of MMR as from the previous game. That means it's actually the master game previous to that which doubled my MMR?
There is a huge chance that the GM offset for SEA is different than Am/Eu/FEA regions, if you played S3 at GM level you'd remember the problems that a huge offset showed in your region, I am pretty sure they lowered it to avoid half that league to have negative points... So, that's an additional thing to take note.
There's definitely something strange in those stats. Your MMR probably did not jump ~240 points from winning one game (though in theory the guy with the 65 adj points may have crazy high MMR with low points due to low game count, but still...). It may be what Xapti suggested and that SEA GM uses different modifier. I think SEA GM modifier would have to be closer to 200 or 250 than 430 to explain your results. Whether or not that is the case I have no idea.
A funny aside for this thread was this guy on the Bnet forums. He's a Grandmaster player who was matched with a portrait farming Bronze. These players were matched together even while their MMRs were diverging (the GM player recently won a bunch, the Bronze player was still losing a ton). Possible overflow/underflow problem related to the new matchmaking system.
The GM player won 1(+1 bonus) for the match, and the Bronze player lost 0 (he did have more than 0 at the start of the game). Weird how it seems that 1 is the minimum amount you can win from a game now, when it used to be 0 at launch.
I thought it was established that Blizzard placed a hard limit on the minimum amount of points gained for a win at 1 in order to 'fix' the 'bug' where players with low MMR received 0 points for a win. It makes sense I suppose, it's not much fun getting no points for a win, especially if you don't understand the inner workings of the ladder.
The only practical aspect for this thread is that it means when someone wins and receives 1 point it can't be known whether his adj points are 336-368 higher than his opponent's mmr, or 368+.
So the herp is taking over me tonight. Somehow I'm failing to comprehend the process I think, but I gave it a shot. Ended up ranging me from 150-200 mmr in diamond league. So does that put me somewhere in tier 1/2, or am I messing something up there?
On April 29 2012 14:25 ronpaul012 wrote: So the herp is taking over me tonight. Somehow I'm failing to comprehend the process I think, but I gave it a shot. Ended up ranging me from 150-200 mmr in diamond league. So does that put me somewhere in tier 1/2, or am I messing something up there?
Your MMR doesn't translate into your division tier. Also the MMR you'll get is in relation to the division modifier and tier modifier of your opponent, so calculating from a game against master is not the same as calculating against an opponent of Diamond from some tier. There's no simple way to find out your Diamond tier modifier yet.
I've been collecting data from my own games since making this thread. It's not a lot of games because I don't play all that often, but on the plus side every time I've lost I asked my opponent how many points he received without bonus, and so far (to my surprise and delight) all 5 of them have replied with the answer. But my last game result makes no sense to me, and I'm quite stumped to explain it.
Game #10 against Blanka gives my MMR as 220 +- 16, but my previous game which was a win gave my MMR as 289 +- 16. The 2 games before that were wins as well.
At the time of playing me Blanka had 3-3 record in Master league (I verified with him and he was indeed master the entire season). His relatively low games count this far into the season is the only unique thing about him I can think of. After our game I kept an eye on Blanka's match history and recorded his next 4 games, and they are attached in the excel file (though about the games that Blanka lost following our match I can not be certain I did not include part bonus points in his opponent's points change).
What could've possibly caused the MMR drop before my game against Blanka? It's big enough fall that to explain it via a linear F function requires bumping the increment value all the way to 42, which doesn't make any sense.
You obviously put a LOT of time into the OP, great job. Though i'm very confused what this actually does, i get if you want to know your MMR really badly, but idk if this is truely worth it haha.
I made a quick exel file -based on other versions here- that should be very easy to use. With error messages on bad data or data that this algorithm cant use:
Dont forget, it must be a recent game or you have to calculate the opponents points back...
B: Points of Opponent C: Bonuspool of Opponent D: Change he got for this game (- / + , Direct copy WITH possible Bonuspool) + Show Spoiler +
The file calculates the right amount without bonus. If its not possible to calculate the amount it will give you an error message. Calculation: If opponent lost: nothing to do If opponent won and have bonus pool : /2 and round down, If opponent won and have no bonus pool : Error message If you KNOW the amount (by asking him), you can enter it in AH
E: Master or Grandmaster F : Total Bonuspool ( sc2rank xml file )
On April 30 2012 03:44 Damnight wrote: Well, this leaves me with one question: How can I estimate if I´m close to a promotion?
My MMR shows me 182-214. I´m Diamond but I can´t tell the tier.
What now?
Its all about the tier of your opponents, thats why you only calculate with master/GM opponents! If you have a MMR of 198 based on a master opponent, calculate the MMR of some random, active, master guys and look how close you are. If you can hold your MMR in average for longer time at master level, the system will promote you.
PS: now with knowledge of your mmr , it does not care if you are dia or master any more. We can calculate better than this bad bronce-gm system
@Excalibur_Z whats up on the Tier front? With calculating 5-10 MMRs out of each division and take the average it should be possible to get the tiers of most of them. Perhaps start a project where every dia guy here on tl can calculate the average for his own division? On the other hand we can only calculate the guys that play master opponents to start with and than work on from there.
Or is there a project that already have a ingame bnet spider done? so you can automatic the work?
On April 30 2012 14:23 skeldark wrote: The script on Custom division give wrong results.
I made a quick exel file -based on other versions here- that should be very easy to use. With error messages on bad data or data that this algorithm cant use:
Dont forget, it must be a recent game or you have to calculate the opponents points back...
B: Points of Opponent C: Bonuspool of Opponent D: Change he got for this game (- / + , Direct copy WITH possible Bonuspool) + Show Spoiler +
The file calculates the right amount without bonus. If its not possible to calculate the amount it will give you an error message. Calculation: If opponent lost: nothing to do If opponent won and have bonus pool : /2 and round down, If opponent won and have no bonus pool : Error message If you KNOW the amount (by asking him), you can enter it in AH
E: Master or Grandmaster F : Total Bonuspool ( sc2rank xml file )
=
I : Possible error messages. K : Your MMR
Can you specify what is wrong with the results? From what I understand looking at your excel file you have 3 entries, and the first 2 are losses. Your MMR predicted from each game result is always your MMR at the beginning of the match. So if you lost games 1 and 2 and your MMR decreases between games 1-2 and between games 2-3 that is expected. Unless you mean something else? Please explain.
On April 30 2012 14:23 skeldark wrote: The script on Custom division give wrong results.
I made a quick exel file -based on other versions here- that should be very easy to use. With error messages on bad data or data that this algorithm cant use:
Dont forget, it must be a recent game or you have to calculate the opponents points back...
B: Points of Opponent C: Bonuspool of Opponent D: Change he got for this game (- / + , Direct copy WITH possible Bonuspool) + Show Spoiler +
The file calculates the right amount without bonus. If its not possible to calculate the amount it will give you an error message. Calculation: If opponent lost: nothing to do If opponent won and have bonus pool : /2 and round down, If opponent won and have no bonus pool : Error message If you KNOW the amount (by asking him), you can enter it in AH
E: Master or Grandmaster F : Total Bonuspool ( sc2rank xml file )
=
I : Possible error messages. K : Your MMR
Can you specify what is wrong with the results? From what I understand looking at your excel file you have 3 entries, and the first 2 are losses. Your MMR predicted from each game result is always your MMR at the beginning of the match. So if you lost games 1 and 2 and your MMR decreases between games 1-2 and between games 2-3 that is expected. Unless you mean something else? Please explain.
The web script give me different mmr than my hand calculation. Also master or grandmaster selection of this script dont change the result.
The data in the exel file is only test data no real game results.
My exel-file have nothing to do with the webscript. Just wanted to warn you guys that this one give wrong results. I will edit it out and post in the other thread so the creator can fix it.
I'm the author of the webscript. Can you specify in which line is there a discrepancy between your excel and the web one? I can't find it. Keep in mind the web version requires as input the amount of points the opponent has after the change from the game has already been applied.
On April 30 2012 16:18 Not_That wrote: I'm the author of the webscript. Can you specify in which line is there a discrepancy between your excel and the web one? I can't find it. Keep in mind the web version requires as input the amount of points the opponent has after the change from the game has already been applied.
can not tell you, i installed your script testet it with 2 datasets and had diffrent results. Than i clicked on master and grandmaster and the result did not change so i just thought it is broken. Perhaps i calculated wrong per hand the 2 trys... I try again
The webscript gives your MMR in relation to your opponent league, so the numbers won't change between Master-GM and between Bronze-Diamond. Yes GM->Master modifier is probably about 430 (and possibly different in SEA server), but I have decided to keep it generic since it's important to note that any result you get will always be in relation to the opponent's league/tier modifier.
On April 30 2012 16:34 Not_That wrote: The webscript gives your MMR in relation to your opponent league, so the numbers won't change between Master-GM and between Bronze-Diamond. Yes GM->Master modifier is probably about 430, but I have decided to keep it generic since it's important to note that any result you get will always be in relation to the opponent's league/tier modifier.
Nice write-up, you obviously put a lot of work into this project! :-)
No I'm wondering, is it not possible to determine every division's tier by collecting a lot of match information? Start at master/grand-master, get those diamond tiers, and then keep going.
As far as I understood the mathematics, all data we'd need is: [1] Adjusted points of both players at start of match [2] The gained/lost points [3] The match's timestamp (to get the size the season's bonus pool) [4] The player's league and division
It should be possible to implement this data collector as an sc2gears plugin, the start of a match is announed via the windows registry (AFAIR); point gains/losses, league and divisions can be scraped from Battle.net as soon as the game finishes; Take all this data push it to a webservice/database, and continue from there (automatic/manual analysis, filtering, etc.)
In case this would help anyone, and there are enough people who want to collect some data, I'd be happy to help with the plugin's or webserver's implementation and to provide the server to run it on.
EDIT: Some additional thoughts (after I checked the Battle.net HTTP profile view): it looks like the match history visible in battle.net does not contain, the match's opponent. This is not optimal, especially if there is a delay from the match-end to the display on the http-view (there are probably some caching layers). The crawler could always take the first row, which matches the known criteria (map, 1v1 match-made, points-lost/gained sanity check against the data crawled from the opponent). But there is still the possibility for wrong results.
Respectfully, I'm not sure of your methodology. Graph 3 is supposed to show the robustness of your model, but it seems as if at least 10% of your datapoints are out of the error bars that you should have if your formula's correct. That's majorly statistically significant, and can throw off all future sampling. What you're proposing isn't a physical science: the function F exists. It is some actual function. It is disingenuous as a researcher to submit work with the title "how to calculate MMR" if your final model has serious flaws in a large percentage of cases, especially since you know that the vast majority of readers are going to skip directly to the Excel sheet that they don't really understand anyway.
I'm not saying that what you're doing is wrong. I think this is a good start. But when you propose a mathematical model, it is imperative that you include in that model caveats about when it's a good fit for the data you have, and document when and how it fails to the best of your ability. Otherwise you end up with a large number of people using the model for data that your system can't handle.
edit: I am aware that you document when the model fails to work in a specific case, but my point is that you NEED to put those warnings in the model itself, and in the Excel sheet, in bold face. This doesn't mean you failed to find the "right formula," it means that your formula is good for a specific purpose. Which is what serious researchers look for anyway.
On April 30 2012 03:44 Damnight wrote: Well, this leaves me with one question: How can I estimate if I´m close to a promotion?
My MMR shows me 182-214. I´m Diamond but I can´t tell the tier.
What now?
Its all about the tier of your opponents, thats why you only calculate with master/GM opponents! If you have a MMR of 198 based on a master opponent, calculate the MMR of some random, active, master guys and look how close you are. If you can hold your MMR in average for longer time at master level, the system will promote you.
PS: now with knowledge of your mmr , it does not care if you are dia or master any more. We can calculate better than this bad bronce-gm system
@Excalibur_Z whats up on the Tier front? With calculating 5-10 MMRs out of each division and take the average it should be possible to get the tiers of most of them. Perhaps start a project where every dia guy here on tl can calculate the average for his own division? On the other hand we can only calculate the guys that play master opponents to start with and than work on from there.
Or is there a project that already have a ingame bnet spider done? so you can automatic the work?
Regarding division tiering info it's very hard to say. I'll give you a couple of different scenarios:
In Scenario A, a Diamond player with 500 points plays against primarily Master-level competition. These Master opponents typically range from 330 to 370 points and the point changes per game are even. Because it's known that the Master offset from Diamond's top tier is -150, which is consistent with the point differences between this Diamond player and his Master opponents, we can conclude with relative certainty that the Diamond player's division tier is the highest for that league.
In Scenario B, a Diamond player with 500 points plays against other Diamonds, and let's say the point exchanges are always even as well. So, if other opponents have around 500 points, it's possible they're in the same tier. However, what about an opponent that has around 468 points? That could either mean the opponent is in the same tier (-32 point range) or a lower neighboring tier (-63+32).
That's not even factoring in the unknown league offsets for everything below Diamond.
So yes, I'm sure it is possible to eventually find all of this out, it would just require a lot of data collection and intelligent filtering out of border cases like Scenario B. I started tracking a lot of this stuff manually with the help of michaelhasanalias and we created this very sloppy spreadsheet which hasn't been updated in nearly a year. I tried to get the most recent games possible for each entry but it's possible the system has gone through some internal math changes over the past year. Still, maybe it's helpful to help support Not_That's spreadsheet.
On May 01 2012 00:54 Excalibur_Z wrote: it would just require a lot of data collection and intelligent filtering out of border cases like Scenario B. I started tracking a lot of this stuff manually with the help of michaelhasanalias and we created this very sloppy spreadsheet which hasn't been updated in nearly a year. I tried to get the most recent games possible for each entry but it's possible the system has gone through some internal math changes over the past year. Still, maybe it's helpful to help support Not_That's spreadsheet.
As stated above, I'm quite curious about the barriers for automatic information collecting and processing.
timestamp, "real points" (as in "points shown on battle-net"), point losses and gains, league and division name can all be read from battle.net (takes a little effort to get the correct results) or taken from replay information. As fas as I got into the math behind it, this should be enough to estimate a division's tier, as long as there are enough datapoints, is it not?
On April 30 2012 03:44 Damnight wrote: Well, this leaves me with one question: How can I estimate if I´m close to a promotion?
My MMR shows me 182-214. I´m Diamond but I can´t tell the tier.
What now?
Its all about the tier of your opponents, thats why you only calculate with master/GM opponents! If you have a MMR of 198 based on a master opponent, calculate the MMR of some random, active, master guys and look how close you are. If you can hold your MMR in average for longer time at master level, the system will promote you.
PS: now with knowledge of your mmr , it does not care if you are dia or master any more. We can calculate better than this bad bronce-gm system
@Excalibur_Z whats up on the Tier front? With calculating 5-10 MMRs out of each division and take the average it should be possible to get the tiers of most of them. Perhaps start a project where every dia guy here on tl can calculate the average for his own division? On the other hand we can only calculate the guys that play master opponents to start with and than work on from there.
Or is there a project that already have a ingame bnet spider done? so you can automatic the work?
These Master opponents typically range from 330 to 370 points and the point changes per game are even. Because it's known that the Master offset from Diamond's top tier is -150, which is consistent with the point differences between this Diamond player and his Master opponents, we can conclude with relative certainty that the Diamond player's division tier is the highest for that league.
I think this is the key. If we find the highest tier for diamond we can go the way down from there. I think, i did not calculate it just a feeling, that when we make mistakes on the way we must find logical mistakes later. So we can than walk back again and solve it with try and error. Dont know if this method is np-hard tho ^^ With allot of data and high enough certainty it should be possible.
I've already posted in this thread... but I just have to say this:
This is honestly one of the most valuable contributions to the community since release. It rivals Excalibur's contributions to the ladder league system explanations. It is some excellent work, both from a deductive standpoint and from a "filling a need" standpoint. You have done truly stand-out work here. Extra credit in every way. Thank you for doing this.
Next: A call to the community. Someone needs to make a website (or modify an existing one, like ranks) that can take a persons ladder name and char code, and spit out their mmr. I would do it myself but frankly I lack the necessary knowledge. If this is done, then we can finally abolish the whole "I'm mid diamond" shenanigans, and people can finally begin asking for help and contributing to strategy discussions with "I'm NA Master's with 874 MMR".... so that everyone in the community knows exactly where this person sits and can tailor discussions accordingly.
Yes, I know that people can follow the formula listed in this thread and obtain this information themselves, but I think we can all agree that the use of MMR as a criteria will only become mainstream when it is easily obtained, either through blizzard publishing it, or a simple to use web interface spitting it out.
On May 01 2012 02:45 Crushgroove wrote: I've already posted in this thread... but I just have to say this:
This is honestly one of the most valuable contributions to the community since release. It rivals Excalibur's contributions to the ladder league system explanations. It is some excellent work, both from a deductive standpoint and from a "filling a need" standpoint. You have done truly stand-out work here. Extra credit in every way. Thank you for doing this.
Next: A call to the community. Someone needs to make a website (or modify an existing one, like ranks) that can take a persons ladder name and char code, and spit out their mmr. I would do it myself but frankly I lack the necessary knowledge. If this is done, then we can finally abolish the whole "I'm mid diamond" shenanigans, and people can finally begin asking for help and contributing to strategy discussions with "I'm NA Master's with 874 MMR".... so that everyone in the community knows exactly where this person sits and can tailor discussions accordingly.
Yes, I know that people can follow the formula listed in this thread and obtain this information themselves, but I think we can all agree that the use of MMR as a criteria will only become mainstream when it is easily obtained, either through blizzard publishing it, or a simple to use web interface spitting it out.
i'd really really like an easy tool to calculate mmr. if i calculate it for myself it has little meaning... unless i can easily compare it to my friends and opponents mmr.
On April 30 2012 23:39 nfogravity wrote: Respectfully, I'm not sure of your methodology. Graph 3 is supposed to show the robustness of your model, but it seems as if at least 10% of your datapoints are out of the error bars that you should have if your formula's correct. That's majorly statistically significant, and can throw off all future sampling. What you're proposing isn't a physical science: the function F exists. It is some actual function. It is disingenuous as a researcher to submit work with the title "how to calculate MMR" if your final model has serious flaws in a large percentage of cases, especially since you know that the vast majority of readers are going to skip directly to the Excel sheet that they don't really understand anyway.
I'm not saying that what you're doing is wrong. I think this is a good start. But when you propose a mathematical model, it is imperative that you include in that model caveats about when it's a good fit for the data you have, and document when and how it fails to the best of your ability. Otherwise you end up with a large number of people using the model for data that your system can't handle.
edit: I am aware that you document when the model fails to work in a specific case, but my point is that you NEED to put those warnings in the model itself, and in the Excel sheet, in bold face. This doesn't mean you failed to find the "right formula," it means that your formula is good for a specific purpose. Which is what serious researchers look for anyway.
I partially agree.
It is not "at least 10%" of the datapoints that are out of error bars. It is 4 points out of 107 (or 92, if you ignore the Diamond opponents): win6 win13 loss19 loss26 win62 debatable
(remember that it's okay for the MMR to be entirely out of bounds of the MMR of a previous game, so long as it's in the right direction following a win/loss)
Having said that, I agree it's a big problem. Only after publishing the post I realized there's a problem with my data gathering methodology. I explain it in this post. Basically it is impossible to look into the past of a player's match history and know how many adjusted points he had X games ago. You will always have some amount of uncertainty, and this amount grows larger the more games the player has won since the game you are trying to determine his adjusted points during.
Luckily there's a solution to this problem: Look at the present instead of the past. All that's needed is data of players who record it for themselves after each game they play. I asked for it and I'll repeat it again, and I'll add it to the OP so there'll be more chance people will see it:
I am looking for data of Master league players. The data needs to include a lot of games in a row, and it needs to include: match outcome, your opponent's: league, adjusted points (alternatively ladder points, unspent bonus pool and server bonus pool at the time of your match), and points change of opponent for the match. Preferably in your losses, it needs to include all possible ranges for points change of your opponent. Best thing to do if you're gathering the data now is in games you lose simply ask your opponent how many points he gained without bonus pool. If he doesn't reply, keep in mind upwards of 50% of his winnings may be bonus points and record possible range.
Personally I've been keeping track of my games and asking my opponent every game that I lose how many points he won without bonus pool. So far all of my opponents have been kind enough to reply, so that's good. Unfortunately it seems I spend a lot more time in this game doing things that are not playing it, so I only have 10 games recorded at the moment...
Despite all this I stand behind the creation of this thread, even if parts of it may have been better worded differently. I believe what I describe in the thread brings a powerful tool for analyzing the ladder system (and if my F function is wrong, hopefully this thread will bring about finding the correct one). If in the past we were mostly dependent on +12/-12 matches to make sense of league modifiers now we got a better way to go about things. And of course to some players (atm mostly Master league players can use this) it may be nice to get a number for MMR before their adjusted points settle, for example during the first 20-50 games of a season.
On May 01 2012 08:20 Not_That wrote: Despite all this I stand behind the creation of this thread, even if parts of it may have been better worded differently. I believe what I describe in the thread brings a powerful tool for analyzing the ladder system (and if my F function is wrong, hopefully this thread will bring about finding the correct one). If in the past we were mostly dependent on +12/-12 matches to make sense of league modifiers now we got a better way to go about things. And of course to some players (atm mostly Master league players can use this) it may be nice to get a number for MMR before their adjusted points settle, for example during the first 20-50 games of a season.
I agree with you; I think this is a good thing. But I also think that you need to phrase more clearly it as a call for help from Masters-level players rather than the last word on the subject. You're serious enough about this that I trust that you're going to continue to do good things with the data you get. But it's really important, very very important, that the community understand that you are not done yet -- partly to keep people from getting complacent with what you have, and partly to drive participation in your project to figure out exactly what's going on. (And you'll need a lot of data points to do that.)
My point is, use this as an advertisement. Get other people to write down all their data, and keep writing it down. That's the first step to finishing this.
edit: I see that you've changed the original post. That's the only point I was making, and I'm glad you responded to it. Good luck!
Very nice work! It must have taken you much time but it worths it all! I have a question though cause I am in high diamond and I played with a master guy. His points was 245 and he had bonus pool 1. At that time bonus pool was 327. My opponend gained 11 points (but I lost 12). But from what I see 245 - 327 = -82. Is that normal? Can MMR take negative numbers, or I am missing something here?
On May 07 2012 00:00 CNSnow wrote: Very nice work! It must have taken you much time but it worths it all! I have a question though cause I am in high diamond and I played with a master guy. His points was 245 and he had bonus pool 1. At that time bonus pool was 327. My opponend gained 11 points (but I lost 12). But from what I see 245 - 327 = -82. Is that normal? Can MMR take negative numbers, or I am missing something here?
Adjusted points can go negative, yes.
That means he has at the diamond mmr range and will be demoted soon, but that is a cool opportunity for you to understand where is your MMR at
On May 07 2012 00:00 CNSnow wrote: Very nice work! It must have taken you much time but it worths it all! I have a question though cause I am in high diamond and I played with a master guy. His points was 245 and he had bonus pool 1. At that time bonus pool was 327. My opponend gained 11 points (but I lost 12). But from what I see 245 - 327 = -82. Is that normal? Can MMR take negative numbers, or I am missing something here?
Make sure you're taking into account the reduced bonus pool for leagues below Master.
If 327 is the Master number (or the number shown on the website), then the Diamond bonus pool would have been around 190.
Would it be possible to make this work for teams or 2v2 at least (or does it work and i'm just doing something wrong?). Also it would be great if you could add multiple accounts to be "observed". Nice job so far
On May 07 2012 06:30 Mandalore wrote: @sc2gears plugin maker
Would it be possible to make this work for teams or 2v2 at least (or does it work and i'm just doing something wrong?). Also it would be great if you could add multiple accounts to be "observed". Nice job so far
It would be possible. But all the code is focused on 1v1 and at the moment i just dont have the time for that, New version can handle mulit accounts and much more.
Top of bronze is very very close to the top of silver. Same is true of silver and top of gold.
I like how you have managed to infer so much. Very nice use of maths. But before you celebrate having it cracked i think the league overlap needs addressing before you can say you have figured out the actual mmr implementation and not created a model of it. You are close dont get me wrong but it is a simplification of the actual system.
Unless league overlap does pop out of your system nicely.
Will be really cool when sc2 gears manages to start capping data and you can test it properly though! That is pure awesomeness. This is almost like doing real science;)
On May 07 2012 18:17 MrTortoise wrote: how does this tool cope with league overlaps?
Top of bronze is very very close to the top of silver. Same is true of silver and top of gold.
I like how you have managed to infer so much. Very nice use of maths. But before you celebrate having it cracked i think the league overlap needs addressing before you can say you have figured out the actual mmr implementation and not created a model of it. You are close dont get me wrong but it is a simplification of the actual system.
Unless league overlap does pop out of your system nicely.
Will be really cool when sc2 gears manages to start capping data and you can test it properly though! That is pure awesomeness. This is almost like doing real science;)
Overlaps? I'm not sure I follow. The actual league boundaries don't overlap at all. However, you don't automatically get promoted once you cross a boundary, either. Because leagues are subdivided into division tiers, the system requires confidence of which tier bests suits you in your new league. This combined with the moving average prerequisite means promotions can sometimes be delayed for a significant number of games. In terms of skill gap, it's true that the top of Bronze is relatively close to the top of Silver which is relatively close to the top of Gold which is relatively close to the top of Platinum, because Bronze itself covers such a wide range of skill. There's no actual overlap there, though.
On May 07 2012 00:00 CNSnow wrote: Very nice work! It must have taken you much time but it worths it all! I have a question though cause I am in high diamond and I played with a master guy. His points was 245 and he had bonus pool 1. At that time bonus pool was 327. My opponend gained 11 points (but I lost 12). But from what I see 245 - 327 = -82. Is that normal? Can MMR take negative numbers, or I am missing something here?
Make sure you're taking into account the reduced bonus pool for leagues below Master.
If 327 is the Master number (or the number shown on the website), then the Diamond bonus pool would have been around 190.
But I played with Master. Why should I take into account the reduced bonus pool? And can I compare my MMR with someone in Masters (whith watching the result from one of his games). I want to see how close or far to masters I am. Also, while I am in high diamond, how offset works? Should I add 190 to the final result after "points - bonus pool"? I think it will be helpfull to add an example of a Diamond vs a Master to explain how does this work with results from different leagues and how the "Tier" part works.
I know that I can use the plug in you made but I want to learn how it works. Thank you in advance.
As a Master player, whenever I get matched against a Diamond I can tell his MMR. What I can't tell from my match with him is my own MMR due to his unknown division tier offset.
To calculate the MMR of Diamond from a match against Master: - Find Master adjusted points before the match. - Find Master adjusted points change from game. Insert the two into F function and get MMR value +- 16.
Example from my last game against Diamond: My adjusted points before the match: 205 My adjusted points change for the match: 4 His MMR = F(205, 4) = 205 + (-256) +-16 = -51 +-16, so about -51.
In the 43 matches I kept tracked of, I played 5 Diamond players with MMRs of -33, 37, 85, 38, -51. Personally I believe the line between Master and Diamond to lie somewhere around 0 MMR, but for the moment that's just an estimate.
Here's my graph for last 43 matches. 5 of the missing bars are Diamond opponents, and the other 2 are matches where the opponent won and didn't tell me his adjusted points change and I was unable to determine it.
You need to know his adjusted points change, and his adjusted points. Adjusted points = ladder points + unspent bonus pool - total server bonus pool. For his adjusted points change, you can either ask him, or use this sc2gears plugin which does everything for you automatically.
On May 08 2012 02:37 Not_That wrote: You need to know his adjusted points change, and his adjusted points. Adjusted points = ladder points + unspent bonus pool - total server bonus pool. For his adjusted points change, you can either ask him, or use this sc2gears plugin which does everything for you automatically.
I know but it shows my mmr from 698 to -2 >< Shows my master opponents between 200 - 300, anything i can learn from that ?
You can set it to only display opponents from leagues with known division offsets (Known tiers only checkbox). That will calculate your MMR from games against masters properly and avoid unnecessary fluctuations due to games against Diamond players with unknown offsets.
Before you can know the MMR of your opponents, you'll have to figure out your division tier. For example if your division tier is 300 points below Master league, you'll have to subtract 300 from the reported MMR of your opponents to know their MMR compared to Master offset MMR. Since you're playing Master opponents with MMR in the area of 200-300, your offset is likely close to that number taking into account that you probably meet opponents from the lower area of Master. How can you know your division tier offset is the million dollar question.
On May 07 2012 00:00 CNSnow wrote: Very nice work! It must have taken you much time but it worths it all! I have a question though cause I am in high diamond and I played with a master guy. His points was 245 and he had bonus pool 1. At that time bonus pool was 327. My opponend gained 11 points (but I lost 12). But from what I see 245 - 327 = -82. Is that normal? Can MMR take negative numbers, or I am missing something here?
Make sure you're taking into account the reduced bonus pool for leagues below Master.
If 327 is the Master number (or the number shown on the website), then the Diamond bonus pool would have been around 190.
But I played with Master. Why should I take into account the reduced bonus pool? And can I compare my MMR with someone in Masters (whith watching the result from one of his games). I want to see how close or far to masters I am. Also, while I am in high diamond, how offset works? Should I add 190 to the final result after "points - bonus pool"? I think it will be helpfull to add an example of a Diamond vs a Master to explain how does this work with results from different leagues and how the "Tier" part works.
I know that I can use the plug in you made but I want to learn how it works. Thank you in advance.
Oh yeah, right you are. What SDream said, then.
To re-use the numbers that were provided before, 245 - 327 = -82 yes, meaning that Master player's adjusted points at the time of the game were -82. This is usually the case for players facing demotion.
The offset from the bottom of Master to the top tier of Diamond is -150. Therefore, if you're in a top-tier Diamond division and played a +12/-12 point game with a -82-point Master opponent, you can expect your adjusted points (that is, your points - the current max Diamond bonus pool of the time, 190, + any remaining bonus pool you have) to be around -82 + 150 = 68. If you're in the second tier, you would expect your adjusted points to be around -82 + 150 + 63 = 131. Third tier, -82 + 150 + 63 + 63 = 194, and so on.
The division offsets should average out in the MMR calculation. So while you'll be off by whatever that average is, that amount should be consistent. In other words, imagine a world where there's 4 possible offset amounts (tiers). If your games are randomly sampled from within that offset you don't need to worry about what any one offset is, you just assume your result will by skewed by the average.
Of course the "if your games are randomly sampled" is a big if. And it doesn't help you figure out which one you're in, but varying offsets will average out to some degree even in practice.
Ok, I'm in diamond and I just played a master. I did all the stuff, and I got -89/-121. Does that mean how far I am from master? Can I figure out how far I am up in diamond? Is there anything useful I can do with his information lol?
On May 12 2012 05:08 -Aura- wrote: Ok, I'm in diamond and I just played a master. I did all the stuff, and I got -89/-121. Does that mean how far I am from master? Can I figure out how far I am up in diamond? Is there anything useful I can do with his information lol?
Sure. It means you're roughly 130 points below Diamond-Master line, and probably around 160 points or so from a promotion provided you can get it and keep it for a long enough period of games.
As for doing anything useful for this information, you could sell it on ebay.
On May 12 2012 05:08 -Aura- wrote: Ok, I'm in diamond and I just played a master. I did all the stuff, and I got -89/-121. Does that mean how far I am from master? Can I figure out how far I am up in diamond? Is there anything useful I can do with his information lol?
Sure. It means you're roughly 130 points below Diamond-Master line, and probably around 160 points or so from a promotion provided you can get it and keep it for a long enough period of games.
As for doing anything useful for this information, you could sell it on ebay.
Good man ^^. How many points away from the plat- diamond breakoff? Or is there no way to know that? (I've been diamond since season 1, it would be cool to know how much progress I've made)
On May 15 2012 03:41 Excalibur_Z wrote: FYI: The F function is not linear. Sent you a PM in greater detail.
Let the monkeywork resume!
uh oh... never good news to hear this...
I had the feeling it cant be linear just from the way skillfuctions work. But this function should still give good results as long as the changepoints are not to far away from 0 (+-12) We did not analyse the data yet because my tool had to many bugs to be secure. But so far we did not find data where this f function is wrong. ( if you dont trust data from guys with very few games because i think there is a special rule for them)
i have data of different leagues that show very good graphs/results using it. So it must raise very slow at the beginning. What makes sense if you think about what this function try to do.
If this thread is still alive, I'd like to ask some questions about this initial methodology because there's some things that are not clear about it. I also looked over some people's code and I'm not certain about some of the assumptions.
This paragraph (bolded especially) needs explanation:
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.
Now that there's some suggestion the point-to-mmr function is not linear (because why would it be really... the entire Trueskill system works on a basic gaussian distribution function; the core math of trueskill is PDF and CDF functions) this especially makes me wonder what you were doing.
Did you just take 7 player's points, assume they had the same mmr (you say that), then add arbitrary point values to each until the curve was linear? If I can add arbitrary values to raw data I can make any function linear.
The second thing I think you were doing, but seemed to be unstated, is using only masters/GM players, because those are the only leagues without division offsets. That seems fine because otherwise the divisions offsets can screw up your calculations. However... if you stick with purely intra-league matchups, you should be able to average out those differences if you can get enough game observations.
My final question is a practical one. The bonus pool as well as the data-gathering methods make this process all cumbersome. One issue is if I want to track the last 10 games of a player, I have to work backwards, adding and subtracting points as I go, and I have to make the correct assumptions about the bonus pool as I do it. If you have the exact times available to you, this is possible. But the in-game display system starts to round the times after 24 hours, (i.e. 1 day ago, 1 week ago, 4 weeks ago, 6 weeks ago, etc.). So your bonus pool calculations have got some serious error introduced into them when you get beyond 24 hours. And even if you did take the exact times into account, it takes some fiddling to do the bonus pool calculations too. Did you incorporate those factors into your original calculations?
There is something very valuable here, and I think it's possible to get close to what you're talking about, at least on relative terms, but could you re-state your original methodology with a little more precision?
On May 17 2012 04:38 celeryman wrote: If this thread is still alive, I'd like to ask some questions about this initial methodology because there's some things that are not clear about it. I also looked over some people's code and I'm not certain about some of the assumptions.
This paragraph (bolded especially) needs explanation:
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.
Now that there's some suggestion the point-to-mmr function is not linear (because why would it be really... the entire Trueskill system works on a basic gaussian distribution function; the core math of trueskill is PDF and CDF functions) this especially makes me wonder what you were doing.
Did you just take 7 player's points, assume they had the same mmr (you say that), then add arbitrary point values to each until the curve was linear? If I can add arbitrary values to raw data I can make any function linear.
It's still alive so far as people are actively trying to figure the ladder system out. Skeletor and I are working on it daily via the sc2gears plugin and the data we gather from it. Beside that it's hard for me to say who else is actively on the case. You can find us on TL teamspeak quite often.
I started out with the assumption that F was linear. We now know that's probably not the case, although it's possible that linear F with slope of 32 is a good approximation.
What I did in the part of the OP you're referring to was look at 7 players, assume that for each player, his own MMR didn't change across the data points I looked at. Then because each player has a different MMR, I added a different value to each player's MMR (same value to all of that player's data points) to see if they would fit on a line. Does this prove that F is linear? Clearly not. But to me this strengthened my feeling that it's possible and worth checking, which is what I do in the rest of the OP.
On May 17 2012 04:38 celeryman wrote: The second thing I think you were doing, but seemed to be unstated, is using only masters/GM players, because those are the only leagues without division offsets. That seems fine because otherwise the divisions offsets can screw up your calculations. However... if you stick with purely intra-league matchups, you should be able to average out those differences if you can get enough game observations.
If you have enough observations, sure. Since at the time I was getting data manually from in game that was not the case. Also, it depends on what you find to achieve. If you want to find the offsets for the different leagues / tiers, then yes you need to look at games below Master as well. However if for start you just want to find F, then players below Master only make things more complicated unnecessarily.
On May 17 2012 04:38 celeryman wrote: My final question is a practical one. The bonus pool as well as the data-gathering methods make this process all cumbersome. One issue is if I want to track the last 10 games of a player, I have to work backwards, adding and subtracting points as I go, and I have to make the correct assumptions about the bonus pool as I do it. If you have the exact times available to you, this is possible. But the in-game display system starts to round the times after 24 hours, (i.e. 1 day ago, 1 week ago, 4 weeks ago, 6 weeks ago, etc.). So your bonus pool calculations have got some serious error introduced into them when you get beyond 24 hours. And even if you did take the exact times into account, it takes some fiddling to do the bonus pool calculations too. Did you incorporate those factors into your original calculations?
There is something very valuable here, and I think it's possible to get close to what you're talking about, at least on relative terms, but could you re-state your original methodology with a little more precision?
I explain why it's in fact not possible to get accurate adjusted points data of a player retroactively at all here. My original methodology is flawed. IF it were possible, it wouldn't make a difference whether the game was played 3 hours ago or 3 weeks ago (beside 3 hours games would be more convenient to backtrack to), so long as you gather all the results in a single point in time they will all share the same total BP (the BP at the time of you taking the results). This is merely technical discussion atm because as I said, you can not infer a player's adjusted points retroactively anyway. The only two ways to collect accurate data are: 1) Do it manually (only practical for your own matches). Write your and your opponent's adj points before the game and points change. If you lost and opponent won, you will most likely have to ask him for his points change without bonus (make sure you ask before leaving the game otherwise chances are he won't even remember by the time you ask him). The only time you can know for certain how many adj points your opponent won is when he has unspent BP left after the match, then you know he got exactly half the points his match history says.
2) Use the sc2gears plugin. It basically automates the first option without having to rely on the opponent to volunteer data. It does it by checking bnet web profile for both players before and after the match, and seeing their adjusted points change.
Then because each player has a different MMR, I added a different value to each player's MMR (same value to all of that player's data points) to see if they would fit on a line.
I understand that you took a set offset for each player, and then used that across all their games. I don't think your assumption that MMR doesn't fluctuate between the games you sampled is bad; there's very little bias I could imagine being introduced from that fact (MMRs should fluctuate randomly with the exception that some bias might be upward, but that's a slow, and consistent bias).
But how did you determine which player got which offset, and how were the offsets spaced?
Bonus pool thought Does the sc2gears plugin back-calculate the bonus pool adjustment? Here's why I ask. If someone's bonus pool is zero, then it's easy, just subtract the total pool from their total points (with the exception of if they ever lost with their points at 0, but even then, small detail).
But imagine a player who's on day one (bp at 0) gets 500 points. Almost all of those points will be non-bonus. Then, they don't play a few days (bp at 100). By our standard formula, at this later date they should have 400 adjusted points. But, they actually have 500.
This problem will show up for any player who plays with a bonus pool at 0, and then later has an unspent bonus pool. The degree to which it skews the calculations will be a function of the time played while bonus was at 0 (think most high level players), and how large the unspent is.
Maybe in practice it's not big and we can ignore it, but when taking the raw data to try and establish the "F" function, the data needs to be only players with BPs at or near 0. I'd like to know if you think, from the data you've seen, that's a common phenomena.
Then because each player has a different MMR, I added a different value to each player's MMR (same value to all of that player's data points) to see if they would fit on a line.
I understand that you took a set offset for each player, and then used that across all their games. I don't think your assumption that MMR doesn't fluctuate between the games you sampled is bad; there's very little bias I could imagine being introduced from that fact (MMRs should fluctuate randomly with the exception that some bias might be upward, but that's a slow, and consistent bias).
But how did you determine which player got which offset, and how were the offsets spaced?
Bonus pool thought Does the sc2gears plugin back-calculate the bonus pool adjustment? Here's why I ask. If someone's bonus pool is zero, then it's easy, just subtract the total pool from their total points (with the exception of if they ever lost with their points at 0, but even then, small detail).
But imagine a player who's on day one (bp at 0) gets 500 points. Almost all of those points will be non-bonus. Then, they don't play a few days (bp at 100). By our standard formula, at this later date they should have 400 adjusted points. But, they actually have 500.
This problem will show up for any player who plays with a bonus pool at 0, and then later has an unspent bonus pool. The degree to which it skews the calculations will be a function of the time played while bonus was at 0 (think most high level players), and how large the unspent is.
Maybe in practice it's not big and we can ignore it, but when taking the raw data to try and establish the "F" function, the data needs to be only players with BPs at or near 0. I'd like to know if you think, from the data you've seen, that's a common phenomena.
That's a very good point and emphasizes the importance of pulling information immediately following a game. Even a minor delay of 5 to 10 minutes could mean the difference between a player having 0 or 1 unspent bonus pool and introducing (minor but still statistically significant) inaccuracy.
Then because each player has a different MMR, I added a different value to each player's MMR (same value to all of that player's data points) to see if they would fit on a line.
I understand that you took a set offset for each player, and then used that across all their games. I don't think your assumption that MMR doesn't fluctuate between the games you sampled is bad; there's very little bias I could imagine being introduced from that fact (MMRs should fluctuate randomly with the exception that some bias might be upward, but that's a slow, and consistent bias).
But how did you determine which player got which offset, and how were the offsets spaced?
Bonus pool thought Does the sc2gears plugin back-calculate the bonus pool adjustment? Here's why I ask. If someone's bonus pool is zero, then it's easy, just subtract the total pool from their total points (with the exception of if they ever lost with their points at 0, but even then, small detail).
But imagine a player who's on day one (bp at 0) gets 500 points. Almost all of those points will be non-bonus. Then, they don't play a few days (bp at 100). By our standard formula, at this later date they should have 400 adjusted points. But, they actually have 500.
This problem will show up for any player who plays with a bonus pool at 0, and then later has an unspent bonus pool. The degree to which it skews the calculations will be a function of the time played while bonus was at 0 (think most high level players), and how large the unspent is.
Maybe in practice it's not big and we can ignore it, but when taking the raw data to try and establish the "F" function, the data needs to be only players with BPs at or near 0. I'd like to know if you think, from the data you've seen, that's a common phenomena.
To find out the adjustment points i do: His points - his unspend unspend points 20 sek after the game is finished - total bonuspool of this sec of the server he play on. So the guy with 500 points have: 500 points +100 unspend -100 total = 500 adjusted
To find out first two i can check the webpage. For the total bonuspool i could check a inactive player but thats a very dirty method. Instead i calculate it with the bliz bonuspool algo from the time back the session starts. The session start time i backcaluated depending on the bonuschange +- 5 sec. The bonus pool is calculated with your computer clock and for the case this one is not accurate i backcheck a internet atomic clock.
We calculate adjusted points based on the total BP at the time of the calculation. Adj pts = ladder points + unspent bonus pool - total server BP. Total server BP is known to increase by 1 every 112 minutes since season start. Once we pin point the minute of season start (we try to get it as close to the exact second as possible, but there's some noise due to funny behavior of bnet website) we should always calculate adjusted points to the exact number, or very rarely be off by 1.
On May 17 2012 08:47 celeryman wrote: Thank you for your responses.
One clarification:
Then because each player has a different MMR, I added a different value to each player's MMR (same value to all of that player's data points) to see if they would fit on a line.
I understand that you took a set offset for each player, and then used that across all their games. I don't think your assumption that MMR doesn't fluctuate between the games you sampled is bad; there's very little bias I could imagine being introduced from that fact (MMRs should fluctuate randomly with the exception that some bias might be upward, but that's a slow, and consistent bias).
But how did you determine which player got which offset, and how were the offsets spaced?
Bonus pool thought Does the sc2gears plugin back-calculate the bonus pool adjustment? Here's why I ask. If someone's bonus pool is zero, then it's easy, just subtract the total pool from their total points (with the exception of if they ever lost with their points at 0, but even then, small detail).
But imagine a player who's on day one (bp at 0) gets 500 points. Almost all of those points will be non-bonus. Then, they don't play a few days (bp at 100). By our standard formula, at this later date they should have 400 adjusted points. But, they actually have 500.
This problem will show up for any player who plays with a bonus pool at 0, and then later has an unspent bonus pool. The degree to which it skews the calculations will be a function of the time played while bonus was at 0 (think most high level players), and how large the unspent is.
Maybe in practice it's not big and we can ignore it, but when taking the raw data to try and establish the "F" function, the data needs to be only players with BPs at or near 0. I'd like to know if you think, from the data you've seen, that's a common phenomena.
To find out the adjustment points i do: His points - his unspend unspend points 20 sek after the game is finished - total bonuspool of this sec of the server he play on. So the guy with 500 points have: 500 points +100 unspend -100 total = 500 adjusted
To find out first two i can check the webpage. For the total bonuspool i could check a inactive player but thats a very dirty method. Instead i calculate it with the bliz bonuspool algo from the time back the session starts. The session start time i backcaluated depending on the bonuschange +- 5 sec. The bonus pool is calculated with your computer clock and for the case this one is not accurate i backcheck a internet atomic clock.
The problem is when he then plays the next 100 points off (say wins 100 actual + 100 bonus). Now your formula will have him off by 100. I didn't include that second step because I thought it was implicit.
Update: What I wrote in this post is wrong, and about the original adjusted point calculation, but the underlying point remains. See below.
On May 17 2012 08:47 celeryman wrote: Thank you for your responses.
One clarification:
Then because each player has a different MMR, I added a different value to each player's MMR (same value to all of that player's data points) to see if they would fit on a line.
I understand that you took a set offset for each player, and then used that across all their games. I don't think your assumption that MMR doesn't fluctuate between the games you sampled is bad; there's very little bias I could imagine being introduced from that fact (MMRs should fluctuate randomly with the exception that some bias might be upward, but that's a slow, and consistent bias).
But how did you determine which player got which offset, and how were the offsets spaced?
Bonus pool thought Does the sc2gears plugin back-calculate the bonus pool adjustment? Here's why I ask. If someone's bonus pool is zero, then it's easy, just subtract the total pool from their total points (with the exception of if they ever lost with their points at 0, but even then, small detail).
But imagine a player who's on day one (bp at 0) gets 500 points. Almost all of those points will be non-bonus. Then, they don't play a few days (bp at 100). By our standard formula, at this later date they should have 400 adjusted points. But, they actually have 500.
This problem will show up for any player who plays with a bonus pool at 0, and then later has an unspent bonus pool. The degree to which it skews the calculations will be a function of the time played while bonus was at 0 (think most high level players), and how large the unspent is.
Maybe in practice it's not big and we can ignore it, but when taking the raw data to try and establish the "F" function, the data needs to be only players with BPs at or near 0. I'd like to know if you think, from the data you've seen, that's a common phenomena.
To find out the adjustment points i do: His points - his unspend unspend points 20 sek after the game is finished - total bonuspool of this sec of the server he play on. So the guy with 500 points have: 500 points +100 unspend -100 total = 500 adjusted
To find out first two i can check the webpage. For the total bonuspool i could check a inactive player but thats a very dirty method. Instead i calculate it with the bliz bonuspool algo from the time back the session starts. The session start time i backcaluated depending on the bonuschange +- 5 sec. The bonus pool is calculated with your computer clock and for the case this one is not accurate i backcheck a internet atomic clock.
The problem is when he then plays the next 100 points off (say wins 100 actual + 100 bonus). Now your formula will have him off by 100. I didn't include that second step because I thought it was implicit.
500 +100 unspend -100 total= 500 adjusted now he spend the 100 with 100 real = 700 points 700 + 0 unspend -100 total = 600 adjusted.
Thats no problem at all. when you have to find out how many of the changepoinsts e.g. +10 ,is bonus and how many are real it gets complicated.
You're right about the second post, I was wrong in that. I got sidetracked.
But my original point was not that it's hard to calculate adjusted points, but that if you're going to walk backwards through a line of player's games, their bonus pools at the time of that game can fluctuate from what you observe later, even only hours later. If you knew the precise time of that game you could possibly calculate the total bonus pool at that time, and then walk backwards through their games, adjusting for how many points they gained or lost, and arrive at what their points where at the time of the earlier game, but I don't think anyone's doing that right now. And even if they were, you'd have to use the time-stamp info out of sc2gears, not off the in-game interface.
The ladder system uses an ELO system with k value of 24 to calculate points change after a match. My initial linear F with a slope of 32 was a good approximate, but it missed by a lot at the extreme ranges (0-2, 22-24). Here are the new numbers (next to the old linear F):
When calculating player A's MMR, use player B's adjusted points for player B's "MMR" and player B's adjusted points change. As always, F(player A MMR, player B adjusted points) -> {0..24}
For fractions I rounded adj_change to the nearest integer which I believe is logical. Even if Blizzard keeps MMR as floating numbers, rounding is probably best we can do with what we have.
Here is a graph showing old linear F vs new ELO F for my last 95 games:
The bars are my MMR calculated with old linear F. Green bars are wins, Red bars are losses, error margin at the top of the bars are 32 across representing possible MMR values. The black area on top of the blue area represents possible MMR range using new ELO F calculation. Black line is adjusted points. Missing games are games vs Diamond opponents or opponents I have no data for how many adjusted points they won.
The old and new F are fairly close usually. This is mostly due to me usually getting opponents against whom I get 4-20 points for winning. The new F represents a much bigger change for games at the extreme ranges, typical at new seasons, for highly rated players, for players whose adjusted points haven't caught up with their MMR yet, etc etc.
This discovery should help explain some of the irregularities we've seen in the data, as well as help us on our journey to to figuring out how MMR changes after each match, which in turn will go a long way in helping us finding all the division tiers and leagues offsets.
I will add this to next version of the tool and correct old data automatic,
After the f function is done we can concentrate on the offsets. However with the higher deviation at high point change we can not use the edge data to do so. But we can now work more accurate with the "middle change" data.
I'm impressed how much of the hidden system has been figured out by now... I bet those guys at Blizzard feel owned by now (Same with sc2gears for the win/loss%, although that is much much simpler).
On May 21 2012 17:15 Morphs wrote: I'm impressed how much of the hidden system has been figured out by now... I bet those guys at Blizzard feel owned by now (Same with sc2gears for the win/loss%, although that is much much simpler).
Why would they feel owned? They aren't deliberately trying to hide it in the sense of it's horrible if people know, it's simply the didn't make it visible because the masses would QQ over how volatile it is if you were looking at it after every game.
I debated with myself whether or not I should make a new thread for data analysis. Eventually I decided not to do so, mostly because I don't think it'll take much longer.
These are 14 consecutive games of an EU player (let's call him Smith) in Silver league. Smith won all 14 games. I know these games are consecutive and there aren't any losses between them that are missing from the data because his adjusted points are consistent, and win numbers consecutive. His first win here is his 114th win this season. First game is on the left.
The bars represent Smith's MMR before the match using ELO F function, with error bars as usual. Note that the bar height is always in relation to opponent's league and division offsets.
The bars are colored by the league of Smith's opponent, and it's also written on X axis.
The dots represent the opponent MMR in relation to Smith's Silver tier offset, which is constant. Error bars as usual.
Written on the X axis are Smith's adjusted points change, followed by opponent's adjusted points change.
What does this graph tell you?
Take a moment and think about it.
To me, it tells this:
Tier 1 being the lowest skilled tier that gets the most bonus points, and tiers being more skilled and given fewer points the higher the tier number.
You can easily get an estimate of tier sizes from this graph. I won't give any numbers just yet, but you can eye gauge it yourself based on the graph.
Immediately noticeable is the (somewhat surprising) observation that there's a big overlap between highest skill tier in Silver and the lower tier in Gold. Even more astounding is that the gap between high Silver and low Platinum is very small, almost swallowing Gold league whole.
Really the only thing I'm struggling with at the moment is how do I reconcile this fact with these numbers (derived from here), which I am now confident we are interpreting wrong, at least for the leagues below Diamond (Diamond is a special case since it is the first league where the league above it only has 1 tier. This could come into effect when the system promotes you, because as soon as your moving average breaks the Diamond-Master barrier you are eligible for a promotion, whereas if you break, say, the Bronze-Silver barrier, the system still has to wait for your moving average to stabilize within a Silver tier before promoting you. This could affect the numbers Blizzard chose to share with us regarding the 'points promotion lines'. I certainly believe that the numbers we calculated from their numbers for Silver-Platinum are a big over estimation of Silver-Platinum leagues sizes).
I don't see any Platinum games in the example you provided, but according to the skill distribution curve it makes sense that most players' uncertainty ranges would span the equivalent of a part of Silver, all of Gold, and a part of Platinum. At the time of our Part 2 analysis post, we believed that the promotion criterion was 3*sigma (meaning if 99% of your curve fits within a league boundary, you'll get promoted), but at Blizzcon the systems designer said that wouldn't be a useful measure for league changes because most players' curves will never shrink that much, so they use an exponential moving average instead. And, now that matchmaking has been loosened a bit for the majority of players, such ranges are undoubtedly even more common today.
The "overlap" of Gold and Silver also isn't very surprising, given that we know there's a confidence buffer that works in conjunction with the exponential moving average requirement. Perhaps as a result of determining offsets we'll also find the confidence threshold. I suppose the moving average equation will be the final piece of the puzzle =)
Are you taking into account the fact that bronze-diamond leagues will aim for you to have 70-90 adjusted points regardless?
A diamond player with 150 AP won't lose more than 15 points to anyone, event o a true bronze. A platinum player with 75 points won't lose more than 12 points, even against another true bronze. A gold player with -70 AP won't win less than 16 points after a victory, even if against a bronze player.
That said, there is a cap on the numbers (bronze-diamond) that make the data almost useless for us.
And before Excalibur says that he doesn't know if that's true, I rerererere confirmed it, it exists.
On May 22 2012 05:20 Excalibur_Z wrote: I don't see any Platinum games in the example you provided, but according to the skill distribution curve it makes sense that most players' uncertainty ranges would span the equivalent of a part of Silver, all of Gold, and a part of Platinum. At the time of our Part 2 analysis post, we believed that the promotion criterion was 3*sigma (meaning if 99% of your curve fits within a league boundary, you'll get promoted), but at Blizzcon the systems designer said that wouldn't be a useful measure for league changes because most players' curves will never shrink that much, so they use an exponential moving average instead. And, now that matchmaking has been loosened a bit for the majority of players, such ranges are undoubtedly even more common today.
The "overlap" of Gold and Silver also isn't very surprising, given that we know there's a confidence buffer that works in conjunction with the exponential moving average requirement. Perhaps as a result of determining offsets we'll also find the confidence threshold. I suppose the moving average equation will be the final piece of the puzzle =)
We are not talking of a little overlap. The 73 i take as overlap so far is to small.
i think best silver is near EQUAL worst gold! This means leagues are a big scam!
Also i loose the faith that offsets are just numbers you have to add. With this assumption you run into logic mistakes. Perhaps i do some mistakes and i have to work with inaccuracy, but i think by now, offsets follow an function that is not as simple as addition!
On May 22 2012 05:50 SDream wrote: Are you taking into account the fact that bronze-diamond leagues will aim for you to have 70-90 adjusted points regardless?
A diamond player with 150 AP won't lose more than 15 points to anyone, event o a true bronze. A platinum player with 75 points won't lose more than 12 points, even against another true bronze. A gold player with -70 AP won't win less than 16 points after a victory, even if against a bronze player.
That said, there is a cap on the numbers (bronze-diamond) that make the data almost useless for us.
And before Excalibur says that he doesn't know if that's true, I rerererere confirmed it, it exists.
server id league division name adjusted changepoint US 465568 diamond Overlord Delta 226 -17 i have several thousand games that say otherwise!
Btw guys we are on TL teamspeak very often. I think we are the only 4 guys who really care so much about mmr. Join us and discuss if you have some time...
226 adjuted points that lost 17 points, is that what you are saying?
Because that's exactly my point.
226 - 138* = 88 AP 226 - 172* = 54 AP
And what am I saying?
This player couldn't lose more than 17 points, this was his cap, he would lose 17 points even to the lowest bronze player the system had, because there is a cap here at 70-90 AP for dia-bronze leagues.
On May 22 2012 06:51 SDream wrote: 226 adjuted points that lost 17 points, is that what you are saying?
Because that's exactly my point.
226 - 138* = 88 AP 226 - 172* = 54 AP
And what am I saying?
This player couldn't lose more than 17 points, this was his cap, he would lose 17 points even to the lowest bronze player the system had, because there is a cap here at 70-90 AP for dia-bronze leagues.
* = These numbers come from Elo F Graph.
i dont get your point AP = mmr or adjusted points because we dont call it adjusted after you put the f into it. From there on we call it mmr. Also thats not his that the mmr of the opponent than.
can you join teamliquid teamspeak?
take this game League , Adjusted Point , Change Points , MMR , League , Adjusted Points , Change Points , MMR silver, 226 , 18 , 282 , gold , 270 , -12 , 400 or more in general take my newest datafile: V 1.7.1 and above
On May 22 2012 06:51 SDream wrote: 226 adjuted points that lost 17 points, is that what you are saying?
Because that's exactly my point.
226 - 138* = 88 AP 226 - 172* = 54 AP
And what am I saying?
This player couldn't lose more than 17 points, this was his cap, he would lose 17 points even to the lowest bronze player the system had, because there is a cap here at 70-90 AP for dia-bronze leagues.
* = These numbers come from Elo F Graph.
i dont get your point AP = mmr or adjusted points because we dont call it adjusted after you put the f into it. From there on we call it mmr. Also thats not his that the mmr of the opponent than.
can you join teamliquid teamspeak?
take this game League , Adjusted Point , Change Points , MMR , League , Adjusted Points , Change Points , MMR silver, 226 , 18 , 282 , gold , 270 , -12 , 400
It's easier for me to write/read than speak/hear, but we can PM if you don't want this discussion to continue in this topic.
I won't call it MMR, maybe DMMR (division "mmr"), but definitely not MMR, MMR will take into account the division tiers and represent the whole league in itself, probably going from -1500 to 1500 (or 0 to 3000).
Oh well, I feel that my bad English is making it excessivelly confusing, but I still am 100% sure that what I am trying to say ("meaning") is true.
The game you posted above still agrees with my theory, you won't find a game that doesn't, I need to explain what I mean better somehow...
On May 22 2012 06:51 SDream wrote: 226 adjuted points that lost 17 points, is that what you are saying?
Because that's exactly my point.
226 - 138* = 88 AP 226 - 172* = 54 AP
And what am I saying?
This player couldn't lose more than 17 points, this was his cap, he would lose 17 points even to the lowest bronze player the system had, because there is a cap here at 70-90 AP for dia-bronze leagues.
* = These numbers come from Elo F Graph.
i dont get your point AP = mmr or adjusted points because we dont call it adjusted after you put the f into it. From there on we call it mmr. Also thats not his that the mmr of the opponent than.
can you join teamliquid teamspeak?
take this game League , Adjusted Point , Change Points , MMR , League , Adjusted Points , Change Points , MMR silver, 226 , 18 , 282 , gold , 270 , -12 , 400
It's easier for me to write/read than speak/hear, but we can PM if you don't want this discussion to continue in this topic.
I won't call it MMR, maybe DMMR (division "mmr"), but definitely not MMR, MMR will take into account the division tiers and represent the whole league in itself, probably going from -1500 to 1500 (or 0 to 3000).
Oh well, I feel that my bad English is making it excessivelly confusing, but I still am 100% sure that what I am trying to say ("meaning") is true.
The game you posted above still agrees with my theory, you won't find a game that doesn't, I need to explain what I mean better somehow...
1)This topic is for this kind of discussion! 2) Thats clear that its without tier offset. your right we should give it a diffrent name.Dmmr sounds good.
Joint ts. notthat is here too if you dont have mic we can chat.
On May 22 2012 07:41 Not_That wrote: Is this data point a counter example to what you're saying SDream?
EU, player1, Silver, 40 adjusted points before match, lost 22 points, calculated player2 MMR -382.5 +- 48 player2, Silver, 173 adjusted points before match, won 11, calculated player1 MMR 143.5 +- 14
Maybe come to teamspeak so we could have a more back-and-forth about it? What you're saying is news to us. edit: even just come to have insta-typed chat capabilities. Forum posts take a while to formulate and we can understand each other quicker live.
EU, player1, Silver, 40 adjusted points before match, lost 22 points, calculated player2 MMR -382.5 +- 48
Yes, that's probably wrong data, he couldn't lose more than 11 points! He probably was promoted/demoted somewhere and you made the math wrong because you didn't take this into account, or something! :D
On May 22 2012 05:20 Excalibur_Z wrote: I don't see any Platinum games in the example you provided, but according to the skill distribution curve it makes sense that most players' uncertainty ranges would span the equivalent of a part of Silver, all of Gold, and a part of Platinum. At the time of our Part 2 analysis post, we believed that the promotion criterion was 3*sigma (meaning if 99% of your curve fits within a league boundary, you'll get promoted), but at Blizzcon the systems designer said that wouldn't be a useful measure for league changes because most players' curves will never shrink that much, so they use an exponential moving average instead. And, now that matchmaking has been loosened a bit for the majority of players, such ranges are undoubtedly even more common today.
The "overlap" of Gold and Silver also isn't very surprising, given that we know there's a confidence buffer that works in conjunction with the exponential moving average requirement. Perhaps as a result of determining offsets we'll also find the confidence threshold. I suppose the moving average equation will be the final piece of the puzzle =)
We are not talking of a little overlap. The 73 i take as overlap so far is to small.
i think best silver is near EQUAL worst gold! This means leagues are a big scam!
Also i loose the faith that offsets are just numbers you have to add. With this assumption you run into logic mistakes. Perhaps i do some mistakes and i have to work with inaccuracy, but i think by now, offsets follow an function that is not as simple as addition!
Wait, you're surprised that the best Silver is near equal to the worst Gold? But that's entirely how the ladder is structured.
To use arbitrary values, if the top Silver division spans MMR ranges 900-1000 and the bottom Gold division spans 1001-1100, then of course the best true Silver would be 1000 and the worst true Gold would be 1001. Then you factor in some flux where the slope of a player's exponential moving average is not close enough to 0 to warrant a league change (for example, a Silver with 1010 who hasn't been promoted yet).
The point reset after a league change doesn't constitute an MMR reset. You still have the same MMR, you just have a new reset point value to use as a baseline.
I don't think the offsets themselves follow any kind of complex function. However, I don't think the numbers "63" and "150" were necessarily arbitrarily chosen either. Let's follow this scenario: it's possible they correspond to points along the skill curve. For example, if the entire MMR scale is 2800, and it was determined that between the 80th and 98th percentiles covered 30% of the x-axis, then 0.30*2800=840. If we assume that division tiers each cover the same skill range (x-axis) then we'd divide that 840 evenly into however many tiers are needed, so let's say 10. We add a confidence buffer of 100, then (840-100)/10 = 74 point offsets per tier.
It could be that Master is the anomaly and that lower leagues may have different buffer sizes. If the tier offsets are indeed derived from a percentage of the MMR scale, then the offsets may not be uniform from league to league, either.
On May 22 2012 07:41 Not_That wrote: Is this data point a counter example to what you're saying SDream?
EU, player1, Silver, 40 adjusted points before match, lost 22 points, calculated player2 MMR -382.5 +- 48 player2, Silver, 173 adjusted points before match, won 11, calculated player1 MMR 143.5 +- 14
Maybe come to teamspeak so we could have a more back-and-forth about it? What you're saying is news to us. edit: even just come to have insta-typed chat capabilities. Forum posts take a while to formulate and we can understand each other quicker live.
EU, player1, Silver, 40 adjusted points before match, lost 22 points, calculated player2 MMR -382.5 +- 48
Yes, that's probably wrong data, he couldn't lose more than 11 points! He probably was promoted/demoted somewhere and you made the math wrong because you didn't take this into account, or something! :D
I will think about teamspeak later =3
your right. I checked this packet. Its something wrong with the match history of this guy, the webpage dont show a result he just say: "left" instead of the correct "Loose -12" and the league page did not update so i put the -12 on last game that was only -10 and come up with the wrong -22. i will fix that.
Excalibur, I'm somewhat surprised it's possible 100 adj points in high Silver is almost identical to ~70 adj points in gold. BTW you mentioned not seeing Plat opponent in the graph, click it to see the whole 14 games.
On May 22 2012 08:56 Not_That wrote: Excalibur, I'm somewhat surprised it's possible 100 adj points in high Silver is almost identical to ~70 adj points in gold. BTW you mentioned not seeing Plat opponent in the graph, click it to see the whole 14 games.
On May 22 2012 05:20 Excalibur_Z wrote: I don't see any Platinum games in the example you provided, but according to the skill distribution curve it makes sense that most players' uncertainty ranges would span the equivalent of a part of Silver, all of Gold, and a part of Platinum. At the time of our Part 2 analysis post, we believed that the promotion criterion was 3*sigma (meaning if 99% of your curve fits within a league boundary, you'll get promoted), but at Blizzcon the systems designer said that wouldn't be a useful measure for league changes because most players' curves will never shrink that much, so they use an exponential moving average instead. And, now that matchmaking has been loosened a bit for the majority of players, such ranges are undoubtedly even more common today.
The "overlap" of Gold and Silver also isn't very surprising, given that we know there's a confidence buffer that works in conjunction with the exponential moving average requirement. Perhaps as a result of determining offsets we'll also find the confidence threshold. I suppose the moving average equation will be the final piece of the puzzle =)
We are not talking of a little overlap. The 73 i take as overlap so far is to small.
i think best silver is near EQUAL worst gold! This means leagues are a big scam!
Also i loose the faith that offsets are just numbers you have to add. With this assumption you run into logic mistakes. Perhaps i do some mistakes and i have to work with inaccuracy, but i think by now, offsets follow an function that is not as simple as addition!
Wait, you're surprised that the best Silver is near equal to the worst Gold? But that's entirely how the ladder is structured.
To use arbitrary values, if the top Silver division spans MMR ranges 900-1000 and the bottom Gold division spans 1001-1100, then of course the best true Silver would be 1000 and the worst true Gold would be 1001. Then you factor in some flux where the slope of a player's exponential moving average is not close enough to 0 to warrant a league change (for example, a Silver with 1010 who hasn't been promoted yet).
The point reset after a league change doesn't constitute an MMR reset. You still have the same MMR, you just have a new reset point value to use as a baseline.
I don't think the offsets themselves follow any kind of complex function. However, I don't think the numbers "63" and "150" were necessarily arbitrarily chosen either. Let's follow this scenario: it's possible they correspond to points along the skill curve. For example, if the entire MMR scale is 2800, and it was determined that between the 80th and 98th percentiles covered 30% of the x-axis, then 0.30*2800=840. If we assume that division tiers each cover the same skill range (x-axis) then we'd divide that 840 evenly into however many tiers are needed, so let's say 10. We add a confidence buffer of 100, then (840-100)/10 = 74 point offsets per tier.
It could be that Master is the anomaly and that lower leagues may have different buffer sizes. If the tier offsets are indeed derived from a percentage of the MMR scale, then the offsets may not be uniform from league to league, either.
Agree! Had the same idea, i even coded exactly what you said already. But the data was against it. BUT: the data that was against it, was also against sdreams rule! If i take player out who have under 73 mmr it can be just addition. I know for sure now that the buffer is lower for lower leagues. Smaller than 50 for most.
On May 22 2012 08:56 Not_That wrote: Excalibur, I'm somewhat surprised it's possible 100 adj points in high Silver is almost identical to ~70 adj points in gold. BTW you mentioned not seeing Plat opponent in the graph, click it to see the whole 14 games.
I wasn't understanding it either!
And I am glad I could help here, I brought bad news, but it's the truth at least. Reliable data > illusions :D
On May 22 2012 08:21 Not_That wrote: You're right it's bad data point. The guy has been Silver since March 2011 so it's not promotion, strange. We'll look into it.
It's great that you bring this up SDream, we weren't aware of it. Thank you.
This was something that was observed in the past but was difficult to explain. I suppose it still is. If you look at a player who tanks his games in order to fall down to Bronze, his match history will look like this:
(starting league Diamond) -12 -12 -11 -11 -10 -10 -9 -9 -9 -8 -8 -8 -11 (league change to Platinum) -11 -11 -10 -10 -9 -9 -11 (league change to Gold) -11 -11 -10 -10 -9 -9 -11 (league change to Silver) -11 -11 -10 -10 -9 -9 (league change to Bronze) etc.
It's counter-intuitive behavior given that MMR is supposed to travel faster than points, and if you're losing 100% of your games, your MMR should be moving very quickly indeed. The expected result is that your points lost should increase with each consecutive loss because that would move your points more rapidly toward your MMR. However, that's not what happens in reality. Consistently, point changes would start at -11 and gradually fall off until -8 or until they lost all their points, and this would reset after a league change. One possible explanation is that there is a phantom point value that exists which influences your point change in addition to the staple "adjusted points versus opponent MMR" formula, as SDream suggests. If true, then the higher your points drift away from this phantom value, the more you are capable of losing. Or, there could be something else at work.
On May 22 2012 08:21 Not_That wrote: You're right it's bad data point. The guy has been Silver since March 2011 so it's not promotion, strange. We'll look into it.
It's great that you bring this up SDream, we weren't aware of it. Thank you.
This was something that was observed in the past but was difficult to explain. I suppose it still is. If you look at a player who tanks his games in order to fall down to Bronze, his match history will look like this:
(starting league Diamond) -12 -12 -11 -11 -10 -10 -9 -9 -9 -8 -8 -8 -11 (league change to Platinum) -11 -11 -10 -10 -9 -9 -11 (league change to Gold) -11 -11 -10 -10 -9 -9 -11 (league change to Silver) -11 -11 -10 -10 -9 -9 (league change to Bronze) etc.
It's counter-intuitive behavior given that MMR is supposed to travel faster than points, and if you're losing 100% of your games, your MMR should be moving very quickly indeed. The expected result is that your points lost should increase with each consecutive loss because that would move your points more rapidly toward your MMR. However, that's not what happens in reality. Consistently, point changes would start at -11 and gradually fall off until -8 or until they lost all their points, and this would reset after a league change. One possible explanation is that there is a phantom point value that exists which influences your point change in addition to the staple "adjusted points versus opponent MMR" formula, as SDream suggests. If true, then the higher your points drift away from this phantom value, the more you are capable of losing. Or, there could be something else at work.
They dont want to make it easy for us ... Oo I loose track of all "special cases" i have in my program now ...
We are quickly making progress at narrowing down the league modifiers. We have the infrastructure down and excel all fired up and ready to go. Now it's mostly a matter of getting more data points from people playing games with the plugin. We already know we were on the wrong direction trying to use the numbers Blizzard posted (still no idea how they came up with them).
We will release an update with much more accurate offsets and league promotion lines soon.
Here's what we do with the data: For the time being we don't try to estimate MMR change after a win/loss. What we know for certain is that MMR doesn't decrease after a win or increase after a loss. Since we know F, for each win or loss we know exactly a minimum or maximum value for the player's MMR in the next game.
We need two consecutive games to make an observation. There are 6 cases: ('low', and 'high' league refer to the league of opponent in the first match compared with the league of opponent from the second match)
1) Beat opponent from a high league. 2) Lose to opponent from a low leaue.
These two cases are the same in that they both give us a maximum value. We want this value to be as low as possible (which is the case when comparing the highest tier from the low league to the lowest tier of the high league) because then we can narrow down the possible offset between them.
Example: Gold player beat Platinum player in game one and we calculated Gold player MMR to be 100 +- 14. In next game Gold player played a Gold player (win/loss irrelevant) and we calculated the first player MMR to be 83 +- 14. Since the player had at least 86 MMR in some tier of platinum before his first game and has at most 97 MMR in some tier of Gold before the second game, we know that the biggest difference possible between Platinum and Gold is no more than 11. And this is super conservative, because we don't even assume that the player gained any MMR from beating the Platinum player.
3) Lose to opponent from high league. 4) Beat an opponent from low league.
These 2 cases are the exact opposite than the first two. Instead of getting a maximum point for the minimum difference between the leagues, we get a minimum difference for the maximum difference between the leagues. We want this value to be as big as possible. I won't make this any messier with another example, I'll simply say that using this method we can determine that the difference between low Silver and high Gold is no less than 390, so that's a minimal size for both leagues combined. Together with the first 2 cases this helps create a picture of the offsets.
Finally 5) Beat opponent from same league then see MMR decrease. 6) Lose to opponent from same league then see MMR increase.
Both these cases give you a minimum offset between tiers of the same league. For example the difference between the two Gold tiers on EU are minimum 84. The difference between low Plat and High plat is minimum 170. Generally we're looking for the biggest value here that we can find in our data.
From 2594 game results thus far, here is what we've been able to compile: (click on pictures for full version)
For example, on EU we can see that the offset between low Silver and high Gold is no less than 390, and the offset between high Silver and low Gold is no more than 23.
From these minimum / maximum results, here is our current best estimates for the offsets:
Keep in mind these will get much better the more results we have, and some minimum / maximum values are sorely missing / lacking. At the moment Europe offsets are the most accurate, followed by US. Sea has very little data and for KR server we have a grand total of 0 games collected thus far. Unfortunately since it appears each server has it's own offsets, we won't be able to estimate Korean offsets without this plugin being used by Korean players. If anyone here have a hand in a Korean community and can spread the word of this tool it would help a lot.
For the future: Beside getting more and more data and constantly narrowing down the results towards the real numbers, we could start estimating how MMR changes from games. This should help us narrow down each offset by a good 20-40 points and overall make life easier. TODO.
As mentioned ,expect more accurate stats in the plugin soon.
On May 22 2012 13:01 Peleus wrote: That's strange, I have the plugin and I'm playing on the Korean (tw version) server. Im sure many others are also. Why would you have zero datapoints?
Saying that I think I remember seeing some errors and games not recording. I'll see if I can look at the log when I get home.
Perhaps you're using one of the old versions? I was referring to the data file of 1.7.1+ versions. There were a lot of changes and fixes since the earlier versions and they're hard to work with by now.
I feel like my lack of math ability is hindering me in understanding all this. I'm trying to figure out what seems to be the range of MMR in Masters league and where I fall in it. For instance, it appears that I've been hovering around ~400 MMr for the past two days, but I'm really not sure what that means without a solid basis for comparison.
Maybe there is a bug in the korea sites. Maybe it gets confused with the non-english stuff. Personally, sometimes when I try to go to a korean profile with hangul as the nickname, I get into the account login page instead. I have no idea why this happens, but that might be happening to the plugin. Maybe you should test it more, I'd bet the hangul is bugging somewhere indeed.
Also, I only played 2 games with the plugin, but you said in the front page that if we allow it, it would send the data to the server, how do I allow the plugin to do it and how do I know if you are getting my data? (Edit: found it, it is marked to do it automatically)
I still prefer the names I and Exc used to use in the past. Rank S (closest to masters) for the highest tier, then A for the second highest, till F (closest to bronze), but in this thread I will do my best to follow your standard.
Question: If I am at a US Tier1 Platinum division and I aim to diamond (tier0 is fine) next season. Does that mean I'd need 115 adjusted points only? It feels so wrong, specially when it's standard to have at least 73 points.
I have 230 adjusted points right now at plat tier 1, so, if I convert it to Diamond tier1, I'd have 52 points, which is lower than the 73 "cap", so do I deserve a tier1 spot or not?
If you don't know the answer yet, what you'd guess?
On May 22 2012 14:00 SDream wrote: Maybe there is a bug in the korea sites. Maybe it gets confused with the non-english stuff. Personally, sometimes when I try to go to a korean profile with hangul as the nickname, I get into the account login page instead. I have no idea why this happens, but that might be happening to the plugin. Maybe you should test it more, I'd bet the hangul is bugging somewhere indeed.
Also, I only played 2 games with the plugin, but you said in the front page that if we allow it, it would send the data to the server, how do I allow the plugin to do it and how do I know if you are getting my data? (Edit: found it, it is marked to do it automatically)
I still prefer the names I and Exc used to use in the past. Rank S (closest to masters) for the highest tier, then A for the second highest, till F (closest to bronze), but in this thread I will do my best to follow your standard.
Problem with s and a and so on is that i program this in lists and array and t0 is just first entrance of my array. way easyer to handle if you dont have to translate all the time.
[ Question: If I am at a US Tier1 Platinum division and I aim to diamond (tier0 is fine) next season. Does that mean I'd need 115 adjusted points only? It feels so wrong, specially when it's standard to have at least 73 points.
harder to get than you think. you have to do the same work to get the 115 adj in your tier than the other guy have to do to get his 300 in the other tier. Thats why we do all of this. Look at the graph of my tool and you see how far you are away. if its work correct And dont forget this is all shadow and smoke. Diamond , Platinum that are some random offsets. If you have 1 mmr more you have a dia icon , less a platinum icon. Sometimes you even have more and a platinum. Its all just icons... Btw i need min 5 games so the guess of your tier is correct.
I have 230 adjusted points right now at plat tier 1, so, if I convert it to Diamond tier1, I'd have 52 points, which is lower than the 73 "cap", so do I deserve a tier1 spot or not?
depends on your Dmmr not your adjusted...
Play some games and see. I can not tell my numbers are allways correct but i can tell that you see after 5-10 games how far away you are from dia.
On May 22 2012 13:15 Zennith wrote: I feel like my lack of math ability is hindering me in understanding all this. I'm trying to figure out what seems to be the range of MMR in Masters league and where I fall in it. For instance, it appears that I've been hovering around ~400 MMr for the past two days, but I'm really not sure what that means without a solid basis for comparison.
I'm pretty satisfied with the speed at which I can integrate new data into the numbers now. My excel fu must be improving. I prefer not say how much time it took the first time...
We're up to 3064 results. I thought since we still missing some numbers for the regions, might as well combine EU and US numbers while we get our bearings in the league offsets. EU and US are almost certainly a bit different, but I think it's very worth it while looking for the rough numbers and we can worry about finding minute differences later. Here's what the data looks like for both regions:
click for full image.
My observations: It's still hard to say how big is Bronze league. So far we can only pin it at minimal size of 380 which should be grossly underestimate. Most certainly Bronze is bigger than at least Diamond. ~550-560 is my estimate. Silver, Gold and Platinum are very small. Put together they can all fit within Diamond league. Diamond league is about 530 and Master league about 750, with GM from entry level into #1 spot about 460.
One thing to note is that Bronze tiers do not behave similarly to Diamond. Diamond has ~150 offset between high Diamond and Master which appears to be unique to Diamond (I wonder if this has anything to do with what SDream brought up, that Master is the first league that will not try to push a player adjusted points towards 73 should he fall below it in MMR?) High Bronze comes very close to Low Silver, no more than 30 points away, possibly almost identical.
Silver league is no more than 200 points across, comes very close to both high Bronze and low Gold.
Gold is the smallest league in MMR range it covers, a mere 100-110 points or so (no more than 130). High Gold is basically identical to low Plat.
Plat appears somewhat similar to Silver, with minimal size of 170 and maximum distance between high Plat and Low Diamond of 76. I've Got to wonder if this distance will reveal itself to be smaller and High Plat will be very close to Low Diamond, or will there always be a Diamond Tier's worth of difference between the two.
Nothing to add about Diamond than what Excalibur described in his post.
Master and GM are pretty big, at around 750-800 and 460. Between the both of them they're bigger than Silver-Gold-Plat-Diamond combined. Not a bad skill range for leagues that supposed to have 2% of the players in them (closer to 4% of players in reality).
I remember the threads asking how many tiers of players are there in SC2, with a tier being defined as being able to 10-0 the other player or some such. Well, between these league ranges and the F formula, now we can know. Simply let the ladder system calculate it for us:
Let's take an expected score of 90% to represent a tier difference (with player A predicted to win 9 out of 10 games vs player B). Using elo, Expected score 0.9 = 1/(1+10^((MMRb-MMRa)/400)) we get 382 MMR difference. Assuming Bronze size to be 550, we get a total ladder size of 550+200+100+200+535+800+460=2845. Divided by 382 we get 7.4 tiers. Keep in mind this is for EU & US players, and that if Korean pros flocked into EU or US servers these servers will likely see a stretch in skill levels (ignoring MMR cap) adding more tiers.
It's strange to me how some of the determined values are pretty close to the Blizzard-reported "promotion numbers" but others are not. Corrected for adjusted points, we get the following values from Blizzard's chart:
Bronze, Diamond, and Master are pretty close to the collected data, but Silver, Gold and Plat aren't.
If each division tier is about equal size across all leagues -- and I understand this is an enormous assumption -- and that size corresponds to 63 points, we would expect Silver and Plat to cover 3 tiers' worth of skill because they have 3 tiers compared to Diamond's 7, and it seems that they are (collected value around 200). Gold has 2 tiers and we would expect about a range of 130 or so, which apparently it is.
What's strange is how far those values are from the Blizzard chart of 435 for Silver, Gold, and Plat. Obviously we know that Gold can't cover the same MMR range as Silver and Plat without the population of Gold being intentionally larger than 20% because of the player distribution curve, so the 435 value is already called into question right away. It's still odd that Silver and Plat are off by the degree that they are.
One thing to note is that Bronze tiers do not behave similarly to Diamond. Diamond has ~150 offset between high Diamond and Master which appears to be unique to Diamond (I wonder if this has anything to do with what SDream brought up, that Master is the first league that will not try to push a player adjusted points towards 73 should he fall below it in MMR?) High Bronze comes very close to Low Silver, no more than 30 points away, possibly almost identical.
It has nothing to do with the rule.
The rule exists in order for bronze players to not reach a bug that used to exist, where some players are so bad (sorry players) that they could reach into the negatives. There were bronze players with -300 DMMR at bronze in season 1 and 2, that in turn made them forever 0 points, they weren't able to even spend their bonus points... that's why they fixed that in S3 and they extended it till diamond for the same reason they don't show the losses till diamond.
The reason diamond Tier S is 150 points away from Master is because there wasn't a master league in the begging. Tier S Diamond was somewhat supposed to be the "master" league in a way, the highest tier, and that's it.
When they brought master league and made the math to make the cut into 2% of the population, they could have added 2 more tiers into diamond, but they simple decided it wasn't necessary.
The reason that bronze -> silver doesn't have 150 points in between them is pretty obvious to me, let me try to explain. The thing is, if there was a paper league, where only the 2-4% of the worst players would be allocated, then yes, the difference between bronze tier F and this paper league (with no tiers) would be like 150 (or more!).
You need to think about the league as beginning at the gold level. Gold till bronze mirrors the gold till GM (but bronze = diamond + master + GM) at design, so you cannot compare bronze -> silver with diamond -> master, you need to compare bronze <- silver to platinum -> diamond, that is the correct correlation!
Edit: that said, the reason for the rule I found is that there are several bronzes with MMR lower than "0".
Also, I'd like to rewrite something I found at S1 and S2, while analysing region LA data (which was really easy to analyse it!).
Most platinums players that get promoted to diamond mid-late season would be promoted to a Tier E, skipping a tier F completly. Probably 85%, but I am just guessing, I didn't make the math. the others 14% would then be promoted to the tier D. Players on rank F are 99% players that have been placed there at the beginning of the season.
At the beginning of a season, most players would be placed at rank F though, then E, then D... just like following the graph Exc made in his guide.
The same was true for gold -> platinums, most gold players would be promoted to tier A. Platinum rank S was the tier that got the less people from promotion and also the tier that got the less people for placement.
Gold tier was different though, it seemed al the time like both tiers of gold were mirrors, always with the exact same number of people, I could never tell which tier is which looking at the number of divisions from each tier, they are like mirrors and that proves that gold is the "0" for me.
Ps.: rank = tier in my mind, so I bet I made the confusion hundred times just in this post >.<
There's something peculiar with the 73 DMMR cap. For a player below Master, his opponents DMMR will be capped at 73. I initially expected this to mean that due to the range F provides, we would expect players with 73 - ~89 (73 plus half the deviation of F for about even games) or so to be actually capped. In the data however what I'm seeing is players that are 73 -103 to be capped.
First, here's the DMMR distribution of opponents of Master players:
No cap here.
Here's the DMMR distribution of the opponents of players in Bronze-Diamond leagues:
73 cap clearly visible. Let's zoom in on relevant part:
Notice how the line breaks at around 102. This is because the 73-102 range has players that are capped and their DMMR has been artificially boosted for points calculation.
At first I thought this may be due to the league tiers, but a similar graph is seen in all leagues below Master.
Now that I gave it much thought, it makes sense. If an opponent has 72 DMMR and the player was supposed to win 12 points for beating him, Blizzard will instead give the player 13 points for beating him. When we extrapolate the opponent DMMR based on the player winning 13 points, we come up with 102 and not 72.
Edit: This makes my method for finding offsets have less usable data, sigh...
Capped on the low end, not the high end, right? That is, 73 is effectively the baseline.
So what does this mean? After every league change, points are reset to 73 + spent bonus pool, or 73 adj.pts. If a player has less than 73 adj.pts, the points they earn for a game are based on if they had 73? I'm confused about what is being reset to 73 here, and not sure what DMMR represents (though I've seen the definition, I don't follow). If 73 is their new MMR value relative to their given division then that's even more bizarre.
If you are below master league, and your opponent has DMMR < 73 in relation to your tier offset, then Blizzard will add on points to your win amount (or lower points taken in case you lost) until it appears as though your opponent has DMMR >= 73. I'm sure they use a simpler rule than this on their side, I'm pretty sure the rule is: "if DMMR < 73 then DMMR = 73" and it just appears the way it does on our side since our only way to observe DMMR is through reversing F function.
Edit for clarification: This does not only affect players with adj pts below 73. You could have 200 adj pts and play an opponent with 0 DMMR in relation to your tier offset. You won and were supposed to win F(0-200) = 6 points, but instead Blizzard will give you F(73-200) = 8 points.
From what I understand this is a change to the system introduced at season 3, and the reason for this change is to help players use up their bonus pool. The idea is that if your MMR is low in comparison to your tier offset, then you will get similarly low opponents. Beating these opponents will award you little points for a win and therefor you will have to play a significant amount of games in order to use up your bonus pool. Bonus pool grows large -> players get discouraged -> players stop playing. Another possibility is that Blizzard doesn't want players too close to 0, but I doubt this the reason due to bonus pool keeping ladder points sufficiently above 0 anyway.
It's a pity this 73 DMMR bottom cap hurts our quest to finding the offsets. It's pretty significant actually.
I completely gave up on the min/max method I've been trying out. After accounting for the fact that DMMR between 73-~103 is all possibly capped, I have no more 'maximum' data points remaining in nearly 5k games. This is due to the fact that when players play opponents from 2 different leagues, the opponent from the higher league usually has low DMMR rating. Using the min/max method taking 73 DMMR cap into consideration, this is what I have left:
Not enough to work with.
It's time for plan B.
I'm currently trying to see if I can find the function which adjusts MMR. If we can figure out how MMR changes after a game, we would have a simple way to find offsets. I'm testing glicko system to see if I can come up with RD values that make sense, but there are a few problems:
1) We only know the MMR of the player down to a certain range - Solvable by looking at enough consecutive games of the player. 2) We only know the MMR of the opponent down to a certain range - Should not be too bad I hope, since +-14-20 MMR points may not be that much. Not sure. 3) We don't know the RD value of opponent. This may be a problem IF the ladder system uses an uncertainty value that grows larger after an inactivity period. I suspect this may be the case, but not sure.
BTW Excalibur (or anyone else who knows), how did you guys get the Diamond offsets using the +12/-12 method? How many +12/-12 games did you have to work with? Seems like it would take quite a lot, because every +12/-12 game has upwards of the variance of both players combined in it, which should be +-14 twice so upwards of 28 difference. If you were able to just look at enough data and average the variance and come up with 63 (which I believe statistically should be possible with little game count due to noise cancelling itself out on average), then the same should also be possible using non +12/-12 games now that we know F. Anywhere from +8 to +16 points is nearly indistinguishable from +12 in terms of variance of the opponent DMMR. +12 gives you +- 14, while +16 gives you +- 16
If anyone has ideas on good ways to analyze the data please do share. The more heads we put on the problem the better. Feel free to post ideas here, PM me, find me on teamspeak. You can use the current file that I'm working with here, it should be easier than to use the CSV version.
The 63 and 150 values were proven based on the old weekly Top 200 posts on the Battle.net blog. They posted a list of the Top 200 along with their wins/losses and the timestamp, and I copied all the player names in order into a spreadsheet. The player names were all linked for convenience, so I logged their division names and worked backward along their match history until their wins and losses matched what was reported on the timestamp, then I recorded their points at that time. Some players had a tied ranking (say, two #25s), so I knew that if I worked backward and those players had different point values at the time of the snapshot, the difference between those values would be the tier offset. Eventually, patterns emerged and certain players in one tier were consistently X points higher than players in another tier, and from there I was able to narrow down which division belonged to which tier. The 150 value was found a couple of weeks after Master league came out, where Master players were in the same Top 200 list as Diamond players (so their offsets could be easily determined). The offsets were not determined using the +12/-12 method, and I didn't log nearly the amount of data points I needed to in order to craft reliable results (certainly not the 5k+ you're working with).
Ok, so the cap is actually 88, isn't it? You don't need to exclude 89-103 (if they are the minimum number you find thanks to F).
The reason that it appears to be 73 is because that is the minimum range from F for 88, am I wrong? Originally I thought it would be 85 (73+12), so I thought it weird that the cap would be exactly 73 when you said it.
When we calculate dMMR, F makes it so we have a minimum and maximum value. If this value doesn't reach 88, then it doesn't actually reach the cap in any way and we can use this number, no?
I really don't understand all the formulaes you are using, so I could be so wrong, but I always had the feeling that the cap was closer to 85 than 73, 88 could be the answer.
Also, the plugin ignores some logic. Our MMR only decreases after a losing streak, but I lost 8 in a row 2 days ago and the graph didn't adjust to that simple logic. should he readjust the tiers knowing that? I am no programmer, so I have no idea if that's even possible to do.
Maybe we should focus on finding which division is what tier first and make a list. Can't you cross all the data, so, if you are sure that division X is t0, then if that division appears again it already know for sure the tier of that division and then maybe it discover everything fast? If we have the tiers for sure we can work with the data way better.
It can't be that hard to find out which division is which tier, I did that for LA region it's easy.
How divisions are born?
A division is born when a fitting player is placed/promoted/demoted to that skill/MMR range.
If that division reaches 100 players and a 101 player required placement/promotion, then a new division will be born.
If we have 5 Code E Diamond divisions with 100 players, but some of them lose players to promotion/demotions, one having 90 players, other 98, other 99, other 2 100, then the new players that need to be placed in that skill will be first allocated at the division with 90 players, till it reaches 98, then it will distribute the players in these 2 divisions till they reach 99 players, then finally they are full and a new division will only be create if every division in that tier is 100% full.
At LA region, there was only 3 rank S platinum divisions and they would all of the 3 have only 80 players. Because, for some reason, 2 of them has once reached 100 players and the 3th one was born, then, after some point, people there were promoted way more frequently then people getting into that tier and the end result was these 3 divisions of the same tier having only 80 players each! That was pretty interesting to see.
Do you realized what I am talking here? NA, EU, KO moves too fast to keep track, but we can easilly keep track of SEA region and discovery 100% of the tiers just by watching sc2ranks site and the increasing of the divisions.
I think we can explore a lot more than we are doing, it there a way to track the creation/born of new divisions so we could automatically know for sure which tier was it?
Let's take plat divisions. If we know we only have 3 rank S and they have only 80 players each, then we have 5 rank B and they have 96 players each, then finally we have 10 rank A with 100 players each, that means that the next division being born must be a rank A, can't we make a way to have this automated?
If we know the tiers, it will be so easier to especulate on everything else.
On May 25 2012 03:49 SDream wrote: Ok, so the cap is actually 88, isn't it? You don't need to exclude 89-103 (if they are the minimum number you find thanks to F).
We see in the data that 73 DMMR is the first value that appears (ignoring 18 data points that have less, probably mostly / entirely due to bad data that slipped by). This is when calculating the middle of the range using F. This means that Blizzard does the same, and 73 is the first number that they don't modify, hence the cap is there. These 73 numbers all have +- uncertainty values attached to them, from +- 14 (minimum for +12 adj pts games) to +- 17.5 (for +7 game). However we know that for these numbers only the + part is possible. I made a graph of the uncertainty values and it looks like this:
You can see that all the ranges are centered around the DMMR that we calculate. We don't see a flock of the minimal amounts to 73 or anything like this. I hope I made things clearer.
About your second post, a question:
Suppose we knew all the divisions in SEA, what would be the next step? I'm asking because in a way we are already in a similar scenario. We know the offset of Master because it's one tier (we can define Master offset to be whatever we want). How do we use Master known offset to calculate Diamond offsets? It's not that clear how do we go about it. Estimating a player's division tier is doable with reasonable accuracy given enough games. The question is how do you use that to determine offset.
Using SEA as a control may produce strange results because haven't we already seen from some initial scraping unexpected information? Even in the days of discovering division tiers, SEA had a larger-than-expected collection of F-Rank Diamond divisions, if memory serves. I'm sure it would be a bit faster to pick up on trends happening there since it's smaller, but will the information we get be easily translated to other regions?
If a player with 69 adjusted points wins 13 points in his victory, don't that tell you that the cap isn't 73? Wouldn't he win 12 points instead? Edit: well, the cap doesn't matter here >.> anyway, I am pretty sure this number I found is based in the cap though.
If a player with 106 AP wins 11 points in his victory, don't that tell you that the cap isn't 103? If it were, would he win 12 points instead?
To me it is obvious that the number here is only one, it's 88, and that a range. In our data it appears as a range, because we rely on F.
As for SEA data, well, it's like science, you can't just want to find the good stuff, you need to investigate stuff and hope to find something cool there.
Remember all the bugs I would find with LA region Excalibur? And that would turn out to be true on NA region as well, I think that COULD help, or not. But I think it's an approach that could potentially help.
Not necessarily. If a player with 69 adj pts wins 13 points, that means the opponent DMMR was 84-112, which is above the 73 cap. If a player with 73 adj pts wins 12 points, the opponent DMMR was 59-87. Just because this includes numbers below 73 DMMR in the range doesn't mean one of them is actually possible considering the cap. A player with 72 adj points can't win 12 points though (vs opponent below Master), because that would mean his opponent DMMR is given as below 73 by F. The middle of the range can't be below 73.
I think we may be thinking of the same thing but calling it by a different name. The reason I consider 73 as the cap instead of 87 (the minimum number that can have a +- range entirely above 72) is that I think of the value that F gives as the middle of the range and throw a +- range on top of it. If we defined F as returning maximal or minimal possible DMMR value then we would have been calling some other number as the 'cap'. Is that what Blizzard does? Possibly. But I think I'll stick with my convention until I see a good reason to change it. And unless we have a mistake somewhere in F, the only difference it makes is semantics.
My points is that someone that gets dmmr of ex: "85-120" is bad data, because it reaches the 88, it's very small chance of it being bad data, but we can't rely on chances, but a guy that reaches the dmmr of "89-150" is 100% good data, because there is no chance it can reach the center of the cap.
I gave the matter more thought and you are right SDream. 88 is the DMMR cap and not 73. Indeed any DMMR we calculate by reversing F that has 88 DMMR as a possibility is a potentially capped value.
Anyone who wishes to be convinced this is the case just enter adj pts and DMMR values into an F function (not the reverse), and then reverse it and you will see similar data as we have in our data base.
Do your tabled values change if you plug in 88? 88 is a weird value to choose... maybe it used to be 0 and it was a sweeping change put into effect to prevent the old problem low Bronze players had with getting stuck at 0 points?
What needs to be the new criteria for discovering offsets? Exclude all games with players who have <88 adj.pts? Filter non-+12/-12 games from that list?
88 could also be statistically significant if it was a change put into place to resolve Bronze Zero. What if that's the difference between -24 and -20 (or maybe -21, I forget if a zero MMR player earns a minimum of 3 or 4 adj.pts for a victory now)?
Until now I considered DMMR values that are <= 103 to be potentially capped. Now I consider DMMR values that have 88 in their range as potentially capped. It's about the same but the latter is more accurate, especially if a game comes up that has a big variance.
Example: Player with 161 adj pts beats opponent and gets 10 points. We calculate using reverse F DMMR value of 102 +- 14.5. Both methods capture that this DMMR value is potentially capped.
Player with 461 adj pts beats opponent and gets 3 points. We calculate using reverse F DMMR value of 120 +- 32.5. This is a bit of an extreme example but it should be clear why the second method is more accurate. This DMMR value is potentially capped and the old method didn't spot it.
+12/-12 games are no different than any other game in this regard. One player may be capped, both or none.
Whether or not 88 is derived from an offset I don't know. Maybe some data from the coming league lock period will tell us additional information.
There is one thing left that I really want to understand but I get confused among all that data o.o
Fact:
A Rank S (t6) Diamond Player at S1-S2 that has a solid 50% win ratio and is not in a winning nor losing streak and is pretty active (a solid number of games)... if that player had 150 adjusted points, that would put him at the exactly border of diamond and master league.
Now the question is, at current season, what would this player (Tier S diamond) need to stand at the exact same point (0 master dmmr)? 150 AP ou 150+88 AP? Or something different?
If we can answer this one question, chances are this will show true for every other league/tier (bronze-dia) and it will make it easier to understand the offsets.
------------------------- Additionally, I've forgot about the league lock. There's always someone at bronze-platinum that suddenly gets good and reach master league, if he could use the plugin for us, this data would help so much *-*
Another good data will be S8 placement. If my MMR is X and I get placed into diamond, then we can understand that the offset was lower than we thought. The placement phase could be pretty interesting, any way to get this data in the database?
Good question. Here's a graph from our data of the DMMR of Diamond players who play against Masters opponents. Keep in mind when playing against Master the Diamond guy's DMMR is uncapped and in relation to the Master offset, so it's all 1 tier.
-40 DMMR average.
Around 120-124 DMMR seems to be the highest populated area, with few dots above it in rare cases. If we keep in mind the system waits until your moving average MMR has passed the promotion line into masters, I think 73 may be the barrier and soon after your MMR passes it you get promoted into Master. Then again you could ask from the other angle how far does a Master player have to drop in order to be demoted into Diamond. It's a bit trickier to calculate the DMMR of the master players in relation to Master offset, but if we assume for a moment the Master players are generally close but slightly higher than their Diamond opponents, then it's possible 0 may be the number. Or it may even be a single number, but I doubt it, a range seems more likely to me.
Master demotion will require his MMR moving average to stabilize in any of the diamond tiers. A Master player losing on purpose will probably start losing to platinums till he finally is demoted to a rank F (t0) tier diamond. Diamond players only need to cross the buffer, as master has no tier to get "confused" where you belong to, you are just master.
Guys, my last opponent was in his placement match.
He lost to me and he was placed at diamond, probably rank F (t0).
Then he lost to another one and he is demoted to plat! 2 losses, 1 placement and 1 demotion, pretty interesting. Also, I won 12 points from him, so it almost feels like I just played THE guy to understand where is the border to plat - diamond, can you updata de data so I can download this one game and have another look at it? o.o
It seems that the plat-dia border is 60+/- points lower than what you have in the plugin if that's true and I am sitting at the border right now.
Latest file with 6221 games. This one has the games with from the pre 0.9 versions as well. We're still getting data from that version, so if anyone still uses an old version please update :D
I'm afraid I think your game isn't there SDream. When you play against someone in his placement match he doesn't win/lose points, thus we can't calculate your DMMR from the match and consider it a bad data point.
One thing to note about the other guy: I believe in the first X games you play on bnet your uncertainty value is unusually very high. His MMR may be shifting wildly from match to match (probably few games' worth of change each match). Having said that if you're interested you could stalk him for a bit until he plays another game. Then check the points change of his opponent and calculate his DMMR manually.
On May 26 2012 06:23 Not_That wrote: Latest file with 6221 games. This one has the games with from the pre 0.9 versions as well. We're still getting data from that version, so if anyone still uses an old version please update :D
I'm afraid I think your game isn't there SDream. When you play against someone in his placement match he doesn't win/lose points, thus we can't calculate your DMMR from the match and consider it a bad data point.
One thing to note about the other guy: I believe in the first X games you play on bnet your uncertainty value is unusually very high. His MMR may be shifting wildly from match to match (probably few games' worth of change each match). Having said that if you're interested you could stalk him for a bit until he plays another game. Then check the points change of his opponent and calculate his DMMR manually.
That's correct. The initial 5 placement matches use a special "placement MMR" which probably is prone to more dramatic changes after each game, in order to quickly get you to roughly where you should be.
One thing is strange though. Allegedly, an exponential moving average of MMR is used over your past X games to gauge volatility, and when the slope falls within a certain threshold, that's when you get promoted. However in SDream's opponent's case, he was demoted after only 1 game which means the slope would certainly have been -1 (assuming his live MMR equals his placement MMR after the 5th game). In what situation would only two data points (the game concluding placement and the game after placement) allow for a league change? Obviously we've seen this happen numerous times, but why? Does the slope requirement only matter after a minimum number of games have been played?
EDIT: Oh wait, SDream didn't specify if his opponent was playing the last of his initial 5 placement matches or his inter-season carryover placement match. That's important to know because it's possible the match history persists from season to season, which would have carried over his moving average data as well if he were playing his carryover match.
Your adj pts before the match equal some MMR value in lowest tier Diamond +- 14 seems like a reasonable assumption. If t0 is 63 MMR wide + up to 14 points if we're unlucky, we're looking at Diamond tier 0 lying entirely within {your adj pts - 77, your adj pts + 77} range. Then there could be the slight possibility that he wasn't t0 Diamond. And you need to know your Plat tier.
On May 26 2012 08:00 Not_That wrote: Your adj pts before the match equal some MMR value in lowest tier Diamond +- 14 seems like a reasonable assumption. If t0 is 63 MMR wide + up to 14 points if we're unlucky, we're looking at Diamond tier 0 lying entirely within {your adj pts - 77, your adj pts + 77} range. Then there could be the slight possibility that he wasn't t0 Diamond. And you need to know your Plat tier.
Your plugin says I am t1, plat A, he has enough data now, should it be accurate I guess? My AP right now is 225, so it was 213 before this game.
I really doubt he was a higher tier than t0 diamond if he was demoted that fast.
213 within a range of +/- 63 is probably the difference from t1 plat and t0 diamond, unfortunatelly it's still a huge range to work with.
Thanks to everyone who have been uploading data. It's a huge help.
Back to focusing on known tiers for the moment.
I'm looking only at consecutive games vs Master and consecutive vs GMs. This way the tier of the opponent is guaranteed to be the same in both matches, so the DMMR calculated for the player is consistent.
Let MMR1 be the DMMR value of the player calculated from the first game. Var1 be the +- uncertainty range of MMR1. Likewise MMR2 and Var2 for the second game.
Some stats: - Wins 444, losses 203, 68.6% win ratio.
- On average, MMR increased by 16.26689 for wins and decreased by 15.8916 for losses.
- On average, player MMR - opponent MMR = 9.98 for wins, and -59.4 for losses.
- Avg adj pts change for win = 12.05, and for losses = -10.216
Some observations: - The win ratio and adj pts change for losses being much smaller than adj pts change for wins require explaining. The win ratio is easily explainable by players not using ramscanner. When you lose a game and not use ramscanner, more often then not your DMMR can not be determined and I don't use your game for this calculation. The adjusted points change being close to -10 for losses whereas 12 for wins is more strange.
- Seeing how 16 is the average MMR change for wins and losses, I think it's a good value to use. If opponents are about even, 16 MMR change for both players seems like a reasonable assumption. If one player's uncertainty value is very high he will probably experience a higher change, and his opponent will probably experience a smaller one. If we can find the rating system the ladder system implements, this value should come in very useful. Also note it's higher than the average adj pts change of 12, so I think we can now finally say with confidence that MMR is indeed more volatile than adj pts.
- I think F may be off by a point in some of the cuts. Otherwise I'm seeing results that don't make much sense. I'm looking for the highest MMR increase/decrease I can be certain of, by looking at MMR2-MMR1-Var1-Var2 when first game is a win, and MMR2-MMR1+Var1+Var2 when first game is a loss. I'm getting some values as high as 42 which I'm sure are F errors / data errors, because they're not even against players much higher / worse and the game count of the player isn't that high, so their uncertainty is probably normal. The highest results I would get behind of right now and that I feel are reasonable considering the MMR difference of the players are +20 and -19.5. That's not to say MMR can't change by a greater amount from a single game, just that perhaps we require additional data to be sure. Keep in mind the stars have to align just right for us to see this value, because we are basically waiting for the value to lie at the top of the uncertainty range in the first game, and at the bottom of the uncertainty range in the second game after a loss (and vice versa after a win).
This is the best I could come up with using Glicko calculation for 90 of my games:
I entered my MMR at the first game, picked 76 as the RD value that I used for myself and all my opponents, and let it calculate 90 games forward with no intervention. The green bar is my what Glicko calculated my MMR to be. For my opponents' MMR I used the middle of the range. The graph can be improved somewhat if I manually adjust each opponent MMR within it's uncertainty range, but I don't believe getting a hit for all games is possible.
Unfortunately the fact that every opponent also has his own uncertainty RD value which affects your MMR change after game may be insurmountable. I think this is a dead end.
One thing though: If your RD value increases whenever you stop playing for a certain amount of time, it could help explain some things.
SDream, I think you may be on to something. What if 88 adj pts is DMMR 0? Remember this from way back:
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
Well what is 150 from Master? Where does it come from? I'll tell you where it comes from. It comes from 63+88. Diamond is divided evenly into tiers, and Master is located exactly 1 Diamond tier size higher than the highest Diamond tier. Note that these numbers are old, which brings me to...
It's time for new offsets... Here they are:
- Master is still 1 Diamond tier up from highest tier Diamond, plus 88 points, at least for EU. For EU 51 Diamond tier size, and 51+82 is distance between highest Diamond and Master (hmmm, this makes a good point actually that Diamond tier should actually be 50 instead of 51, that way it'll be 50+89 which is almost 88). For US it's more off, 53 tier size and 53+77 distance from Master. This is worth looking more into.
- Bronze has insufficient data, thus should not be read much into.
- Due to 88 acting as a cap (and I dare say now, "zero"), finding the offsets between leagues is more difficult than finding the offsets between tiers of the same league. The problem is that so many inter league games have the opponent from the higher league capped. As a result I am more confident about, say, the difference between Platinum tiers, than I am about the difference between high Plat and low Diamond. Diamond-> Master is an exception because Master has no 88 / "zero" cap.
- These are the offsets, not promotion numbers. I would guess the moving average MMR needs to stabilize at 88 points above the offset numbers to be eligible for promotion into leagues below Master.
I wouldn't read too much into how #1 US and #1 EU match. Any errors in the numbers are probably more than enough to separate the two.
- Master -> GM modifier estimate raised to 452 from 430, however no tight numbers in the data, so who knows.
- It may yet be possible that Blizzard's numbers are meaningful. Looking at their old EU numbers, if we subtract 88 from all of them we get 697, 317, 257, 317, 437. My numbers for Europe are 490, 200, 135, 270, 439. Diamond is very close all by itself (same for US). It could still be that for the other leagues they grouped up the league of the player plus part / all of the next league to get their line to make sure they won't get any "I reached the points Blizzard said where is my promotion?" comments. For example Silver+Gold comes out 335 vs their 317 number, and Bronze+Silver comes out 690 vs their 697 (even admittedly my Bronze number is not accurate enough to be used to make such conclusions).
My methodology: Seeing as how players on average get 16 MMR for wins and lose 16 MMR for losses, I decided to use that for estimating new offsets. I looked at pairs of consecutive games and calculated the DMMR of the player for both games.
Let DMMR1 be the DMMR of the player before the first game, var1 be the uncertainty range for the DMMR1 of the first game, and likewise DMMR2 and var2 for the DMMR calculated from the second game (so it's the DMMR after the first game has been played). By adding / subtracting 16 from DMMR1 depending on win or loss, and then comparing it with DMMR2, I expect to get the difference of offset of the two opponents, plus-minus up to var1, plus-minus up to var2, plus whatever was the difference in actual MMR change from 16. Here's what it looks like for US Diamond league:
The bars are the absolute value of the difference between DMMR1 (+16 for wins / -16 for losses) minus DMMR2. Red lines are averages of tiers. I grouped games into tiers by eye and they are not necessarily accurate. However when averaging many games the errors become smaller. Black lines are my chosen tier offsets.
Diamond is a big league with many tiers. How does a smaller league look like?
It seems as though the 88 DMMR cap when playing against opponents below Master league was recently removed (or at least significantly lowered). Here's a graph from our data of DMMR vs opponents below Master over time:
Edit: Problem on our end in version 3.0 of the tool. Nevermind.
I like that DMMR + tier offset concept for Master league's offset, since I believe you mentioned Master doesn't carry DMMR with it. Instead, it must be built into the gap between top tier Diamond and Master.
We already know that 73 is the reset point for adjusted points, but if a separate DMMR exists that's slightly higher than that, it means that points can't reliably be compared between leagues or divisions even if offsets are factored out. The reason is because the DMMR influences points higher than the reset point up to a certain minimum value. That doesn't inherently mean the reset point is 0 nor that the DMMR point is 0, rather that these are just elements that exist which drive up points somewhat. There could be several reasons for this: maybe the DMMR always existed at 73 but was changed to drive up points a little higher so that players would have a reason to play after being promoted, maybe this helps drive points up higher (up toward that DMMR) in the event that you're really sucking and anchored at 0. Remember that as long as the DMMR exists, players you face will always appear to be at that DMMR value for the purposes of awarding points, but this doesn't inherently tell you anything about what their actual MMR is if they are below that DMMR value.
This 88+63 seems to be just a coincidence. We found this number at season 1 (thanks to top 200!) and this 88 cap was born at S3.
The 88 cap exist for the reason you already known (low DMMR bronzes mainly), the 150 points from S to master exist just because they need to make the cut in a way that the top 10% of diamond only would get into that league. If they need the top 1% the cut would be higher and the difference between Dia S and Master would be like 800, that is simple as that, they have no connection.
That doesn't mean the 88 can't be the "zero" when looking at DMMR, but the zero could as simple be 0, therefore, only players with more than 88 DMMR (unless opponent is master) would be available to our data.
To answer this question all we need is some games between master players and diamond tier S. The problem is we have no idea who are in the tier S for sure, all we do have is games between diamond and masters.
There is a way to be placed in a rank S for sure, if you are plat and you start winning almost 100% of your games till you start facing master, you will be promoted to a tier S before getting promoted to Master. (the same is true for other leagues)
Edit: BTW, does anyone know a way for me to discover the character code (to add as a friend) of a profile?
Let's say I want to stalk this player: http://us.battle.net/sc2/en/profile/693604/1/EGIdrA/ Is there a way for me to add him? Does anyone know? If there is and you don't want everyone to know, PM me. I don't want to stalk Idra, but top diamonds that I find using sc2ranks.
On May 29 2012 02:46 Excalibur_Z wrote: I like that DMMR + tier offset concept for Master league's offset, since I believe you mentioned Master doesn't carry DMMR with it. Instead, it must be built into the gap between top tier Diamond and Master.
We already know that 73 is the reset point for adjusted points, but if a separate DMMR exists that's slightly higher than that, it means that points can't reliably be compared between leagues or divisions even if offsets are factored out. The reason is because the DMMR influences points higher than the reset point up to a certain minimum value. That doesn't inherently mean the reset point is 0 nor that the DMMR point is 0, rather that these are just elements that exist which drive up points somewhat. There could be several reasons for this: maybe the DMMR always existed at 73 but was changed to drive up points a little higher so that players would have a reason to play after being promoted, maybe this helps drive points up higher (up toward that DMMR) in the event that you're really sucking and anchored at 0. Remember that as long as the DMMR exists, players you face will always appear to be at that DMMR value for the purposes of awarding points, but this doesn't inherently tell you anything about what their actual MMR is if they are below that DMMR value.
Yeah I didn't mean to imply that all the leagues offsets fit nicely with DMMR values. It was always pretty clear to me that promotion MMR numbers and leagues offset are not necessarily equal.
Why 88 and not 73 or any other number I do not know. And yes we can only observe DMMR through the points change. I am hoping (and I believe) that capping it at 88 is the only thing Blizzard is doing with it, so any number above 88 we can trust, and the others may be 88 or lower but we can't tell.
SDream, no easy way I'm afraid to know character codes. Several times I wanted to see a player's match history but couldn't due to no way to find him in game. T.T
I don't understand what you are looking for in Diamond tier S vs Master games? We can probably identify some such games in our data right now, but what exactly are we looking for from them?
Thanks warblob. Hopefully we can walk these last few steps. As always, anyone reading this is more than welcomed to join along and help us figure things out. You can find me on teamspeak quite regularly these days. If not, feel free to PM me, or post here.
Good news, I think the offsets are the same across servers (EU and US, anyway). If not the same, they are very close. I think I missed it due to preconceived notions, and the Blizzard numbers from November. But already from my second offset numbers you could tell there was something going on with the offsets and their eerie similarity. Blizzard themselves released uniform promotion numbers for all servers for the end of season 6. I assumed they just decided to post a single chart so it'll be less confusing, but they may have been accurate after all.
This is good for us because it means more data can be analyzed together.
First, the new offsets which are my current best estimates based on some 10k games:
- Bronze still missing a lot of data, so Bronze numbers are less accurate than the others.
My methodology was the same as in last time. Assume win awards 16 MMR, a loss decreases MMR by 16. Look at pairs of games against players and note the difference of the calculated DMMR from both matches with my calculated value.
To demonstrate the degree of accuracy (and inaccuracy) my method produces, let's look at the Master / Master graph. Since Master is a single tier, all games must include 0 in their uncertainty range.
As you can see some games do not have zero included in their range, particularly at the higher uncertainty ranges. This could be due to the player MMR changing by more than 16 either way, especially considering these matches are matches where the players received very much or very few adjusted points for. Less likely is a slight error in F. Overall I am pleased with the accuracy.
Also keep in mind that we expect 75% of the data points to fall within the middle 50% of the range, due to each game having plus-minus half the uncertainty (on average), and we add the two together.
Let's start with the easy leagues first, Silver, Gold and Plat:
These leagues are easy because the number of tiers is low.
Now let's look at a harder league, Diamond. First let's look at the chart derived from pairs of matches against Master and against Diamond:
Even though Diamond has 7 tiers, we can still get a good match. This is due to all of them being compared on the chart with a single tier of Master. But what would happen if we didn't have Master league to compare to? Let's look at the Diamond / Diamond chart:
This is much less pretty. You need to make sure you're reading this chart correctly. This is NOT the seven tiers laid in order. These are the individual offset gaps between 2 consecutive games against Diamond opponents. So at the bottom we see all the pairs of games that were played against 2 guys of the same tier. Followed by all the games that were played against 2 guys one tier apart, then two tiers apart, etc. Finally at the top we see games that were played against highest tier player followed by lowest tier player (or vice versa). Obviously this is much more rare. Therefor it is not surprising that the bottom portion of the chart is most populated. If this was the only chart we had and did not have Master / Diamond chart, we would have harder time.
Last of the inner league offsets, Bronze league, the hardest of them all:
Not only does it not have an adjacent league with a single tier, but it also has a small amount of games. I got, at most, a single pair of games against a highest Bronze tier player followed by lowest Bronze tier game, and I believe I got 0 such pairs.
This is how I got all the tiers within the leagues. To get the offset between highest tier in one league and lowest tier in next league, I did the same. Unfortunately this has much less data than the same league cases, due to me having to throw out every game against opponent below Master where the calculated DMMR has 88 in it's possible DMMR range, due to the DMMR cap of 88. Once again, Diamond-Master offsets are easiest and most accurate by far. Keep in mind these charts are more hectic due to them having all the tiers from both leagues combined in them. Easiest is to simply looking at the minimal offset, which is what we care about.
Platinum Diamond:
Platinum Gold:
Gold Silver:
Bronze Silver:
Master Grandmaster:
Now what?
- I'm curious whether we can now figure out how Blizzard reached the numbers that they published. I'm still thinking along the lines of league_size + next_league_size = their numbers, or possibly next_league_size minus 1 tier.
- As always with more data, these numbers can all be adjusted slightly, but I think they're pretty good. These are based on some 10k games.
- GM -> Master offset is now 454
- Even though the offsets are the same, keep in mind MMR across multiple servers can not be directly compared due to different player pool.
You're getting closer to the correct offsets, that's good. How confident are we in the 88 DMMR value? What are some other factors that could conceivably muck up our current offset-gathering data? How sure are we that F is correct?
Bizarrely, Gold appears from this chart to be much wider per tier. That seems like an anomaly to me, but it could be true after all.
I don't know that the offsets are the same across all the servers. That may be the case for EU and US and maybe even KR, but I have a feeling SEA will forever be an outlier.
- I'm curious whether we can now figure out how Blizzard reached the numbers that they published. I'm still thinking along the lines of league_size + next_league_size = their numbers, or possibly next_league_size minus 1 tier.
The numbers provided in the chart are by Blizzard's own admission estimates and guidelines. In the past I thought we could reverse-engineer those values by factoring out the bonus pool for the season and dividing the tiers evenly, but that's probably not the right move. We need to keep in mind that the numbers selected are, first and foremost, clean round easily processed numbers and that the inner workings of the ladder itself are Not_That
I still believe there is some meaning behind those numbers but we can't read too deeply into them either. For example, if the given Bronze -> Silver number is 1100, then why did they not choose 1000 or 1200? As for how they were derived, bottom tier to next league's top tier sounds plausible to me, maybe with an extra tier's worth as a buffer? If you're anywhere in Bronze and you jump ten plus one tiers in points, pretty safe bet you won't be Bronze anymore next season.
F had some calculation errors. Here's F corrected:
I've been trying to mimic capped DMMR behavior with a formula but I'm running into difficulties. There are 73+-14 and a lot of 102+-14s in the data, which may lead one to believe the cap is at ~87-88. However if that were the case then we should have also been seeing 69.5+-17.5s and 61+-26s and the likes. It's possible we just didnt get any such numbers in our data, but with 10k games I find it hard to believe. The only alternative I can think of is that Blizzard uses a different representation of F than we do. Perhaps minimum value + range? So +12 pts games would be represented as -14 +0-29. If that were the case, then the cap would go back to being 73.
We had a problem that our DMMR cap couldn't explain the results we were seeing. If the cap was at 87 or 88 then how come we didn't get DMMR results of 72 +- 16 in our data, but were seeing many 73 +-14 and many 102+-14. I found a way to explain it.
You see, it's not DMMR that's capped. It's the amount of points won based on the adj points. We were just seeing it as DMMR cap because we assumed that's what Blizzard does ... It's a valid way to approach it. It's just not what Blizzard does.
Here's a graph of players adjusted points and their points change after the game (master/gm not included as they are not capped):
When you look at the steps size you quickly realize they remind you of something... They look exactly like F^-1 shifted 73 points and reversed. If we define the cap function to take minus adjusted points of a player as input, we can plot it along side F^-1.
For the record, this is F: F(MMR, adj) = round_nearest(24*(1-1/(1+10^((MMR - adj)/400))))
This is F^-1, along with CAP(-adj):
I'm sure Blizzard does something simpler on their side, some sort of formula using 73, min/max and F. If I look at it more I can probably find it, but for now it doesn't matter. All we care about are the values.
Note that 1 is built in to the CAP function. This is why it's not possible to get less than 1 point for a win.
Let's look at the data with CAP function on top of it:
Major props to my CPU for not dying on me while making this graph. It was close.
So now that we know the cap, looking at our data: 3307 games are possibly capped with the CAP formula vs 3343 games possibly capped with the DMMR-var<=88 method 31 games are reported possibly capped with the CAP formula and not with the DMMR-var <= 88 method 63 games are reported possibly capped with the DMMR-var <= 88 method and not with the CAP formula.
Using the CAP formula can reproduce the abundance of 73+-14 and 102+-14 games whereas DMMR can not.
This also explains fully the behavior people have been seeing when you lose a lot of games your points loss starts decreasing.
Best news, now we can forget about 88. 73 plays pivotal role again. 73=0 anyone?
You guys are at a math level that I can't take ;_;
Anyway, gratz for you guys and your computer for not dying on us!! :D
73=0 anyone?
It will be easier if 73=0 I guess, so I will cheer for it. If 73 isn't zero, then Diamond tier F players would theorically never leave the 73 AP "zone" if they'd never actually increase their skill level/game play.
73 is not 0 but it does have significance. Adjusted points (within a division listing, that is) cannot go below 0. If you look at F, the gap between a -10/+12 and a +14/-12 is +/-73 on the high and low end. This means that the Favored display will show Even when a 0 player plays against a 73. 73 represents the widest possible gap before venturing into Slightly Favored (+15/-9) territory. Therefore, 0-point players can play against newly-promoted players and still be Even.
Note that this doesn't mean that 73 is the DMMR or "minimum MMR" point. We've already seen values as high as 88 for that.
I think you mean ladder points can't go below 0. Adjusted points can go negative provided the player has used up some bonus pool. But I don't understand what the favored system has to do with this.
Regarding DMMR 'cap' I'm not sure there's much point referring to it anymore, seeing how it's not the DMMR that's capped but the points change. We could calculate the lowest DMMR values we could see while still being sure they're uncapped, and we'll get to 87 +- 14 at the lowest I believe. Anyway it doesn't matter anymore as we don't use the actual DMMR value to determine cap-ability :D.
- To get promoted into GM right now requires about 901 adjusted points on US, 972 adj pts on EU, 852 on KR and 178 on SEA.
- For some leagues I analysed US and for some all servers, depending on the amount of data. Generally US / EU seem close, with Master-GM being ~8 points bigger on US.
- US has the most data, followed closely by EU. SEA has much less data, KR barely has any at all, and China is China.
- Offsets can change whenever Blizzard feels like it, possibly as early as next couple of weeks when season 8 comes.
What changed since last offsets:
- 16,609 games - F slightly corrected - Removed +1/+2/+22/+23 matches from calculation - Using my new cap calculation by adjusted points instead of DMMR 'cap'. As far as I can tell it's 100% accurate.
There's still a rare problem with the data. Here's what it looks like:
Unfortunately it's not always this clear. The problem is caused due to bnet web page sometimes failing to update a game within a reasonable amount of time from it's end. Sometimes the delay is so big that another game will be finished and the last one isn't updated yet:
That "left" match (in this case a loss) is a late comer and causes problems with some of our data. This produces these strange results clearly visible on the Master/Master graph.
Unfortunately it's not always this clear. The problem is caused due to bnet web page sometimes failing to update a game within a reasonable amount of time from it's end. Sometimes the delay is so big that another game will be finished and the last one isn't updated yet:
This is a bug that I have experienced myself =(
Player 1 leave and lose the game, then player 2 leave, but the system still thinks the player 1 is there and results disagree. The system then takes its time to confirm that player 2 wins. Or something like this, it's just my theory, not an official statement. I've seen this happen with me, that's why I made a theory about it
I think results disagree is something completely different. As I understand things bnet depends on the SC2 clients to report the match result. If they report conflicting results due to a bug or a hack then bnet can't determine a winner. Of course if someone is hacking and abusing this then his results will disagree often and they'll ban him.
This I believe is just some data base lag from whatever reason. The player's points end up changing eventually.
Oh, wow... This will come extremely useful. Thank you.
In the example picture the opponent (whose match history is in picture) won on Ohana and our tool calculated +3 adjusted points change. If the "left" is -12 adjusted points, then this seem to indicate he won 15 adjusted points and 2 bonus points for the game. Putting +15 for the game makes the user's DMMR fall right in place. Nice!
Any idea whether or not these games appear as losses for the player's games lost count? Or what's causing a player to get 'left' result?
On June 03 2012 17:41 Powerstrike wrote: Do u have any idea what's the average MMR of a low EU grandmaster, I'm rank 1 masters with 642-674 and im just wondering how far am I from gm t.t
This is a hard question. The problem is, as longer the session as harder to get into gm. So there are some guys in gm that would not come in today. On the other site there are many high master who would get a gm spot back then.
So give you some numbers. Some guys in gm are 600-700, but we call them the old gms. They would not get a spot with this mmr today. Several master guys have ratings from 800-1000 and waiting for a spot. Last gm promotion on eu was around 1050 but with this value you are automatic top 10 gm. So: 650 is not enough to get promoted at the moment. However, if you have a "run" at the 1 week of new session and have a temp mmr of 700-800 you can get a spot. Many gm guys cheat by push their mmr in the 1 week with wins, than stop playing and play only 1 game a on promotion day. Overall you need a little bit of luck.
Ballpark number to make it into GM when it unlocks next season I would say high 700's to 800 above Master offset, which would be 2670-2700 MMR for Europe. Of course back when GM opened in season 7 we didn't have our tool yet thus no data. If we can get a lot of high Master and low GMs to use our tool at the time GM unlocks in season 8 we should get much more accurate with our estimates.
On June 03 2012 17:41 Powerstrike wrote: Do u have any idea what's the average MMR of a low EU grandmaster, I'm rank 1 masters with 642-674 and im just wondering how far am I from gm t.t
If this is not just a feature that is not yet implemented in the beta, it could mean the end of this project. Because if they take down the ability to check others' ladder divisions via SC2 client, they will most likely take down the division ladders in their webpages too.
They removed the loss and total games counters from people lower than masters in a similar way too. The counters were removed in a larger PTR patch that brought changes to the SC2 Bnet UI and they did not mention it in the patch notes. And later on they just introduced the PTR patch as an official patch, even if there were complaints about the removal during the PTR testing process.
If this is not just a feature that is not yet implemented in the beta, it could mean the end of this project. Because if they take down the ability to check others' ladder divisions via SC2 client, they will most likely take down the division ladders in their webpages too.
They removed the loss and total games counters from people lower than masters in a similar way too. The counters were removed in a larger PTR patch that brought changes to the SC2 Bnet UI and they did not mention it in the patch notes. And later on they just introduced the PTR patch as an official patch, even if there were complaints about the removal during the PTR testing process.
if they do this ...Oo. I just dont get it. Why are they so afraid that people see their rating? they put so much energy into hiding this information. If they have to much time, they could use it to improve bnet ...
I agree. If that goes into the live version, it will make it virtually impossible to collect data. League badges alone are already confusing enough for players because they must be viewed within a certain context. Typically what happens is something like this:
1. Player posts a forum thread asking "I'm only SILVER and I'm being matched against DIAMONDS what the heck is going on??" 2. I investigate by looking up the player's match history to determine whether: a) the guy is talking about team games and is confusing a player's Best Team with the Actual Team he was matched against, or b) he is close to promotion or the other player is close to demotion. 3. I post the adjusted points for all opponents in the player's match history and the associated point gains/losses so the player has a better idea of why he was matched against that player in the first place, and I also include the opponents' opponents if that information is statistically interesting or otherwise relevant. 4. The player is thankful to receive the information and/or rails against Blizzard for the confusion.
If that change goes live, I won't be able to provide step 3 anymore, and maybe not even step 2. People do understand when you tell them "you've got 1000 adjusted points and that Diamond you fought was -200, and before that game you played against a 100 point Platinum and a 400 point Gold, so the Diamond wasn't as much of an anomaly as you might have expected" because it puts things in context. Without that additional layer of research, things become much cloudier.
On June 05 2012 08:17 Excalibur_Z wrote: I agree. If that goes into the live version, it will make it virtually impossible to collect data. League badges alone are already confusing enough for players because they must be viewed within a certain context. Typically what happens is something like this:
1. Player posts a forum thread asking "I'm only SILVER and I'm being matched against DIAMONDS what the heck is going on??" 2. I investigate by looking up the player's match history to determine whether: a) the guy is talking about team games and is confusing a player's Best Team with the Actual Team he was matched against, or b) he is close to promotion or the other player is close to demotion. 3. I post the adjusted points for all opponents in the player's match history and the associated point gains/losses so the player has a better idea of why he was matched against that player in the first place, and I also include the opponents' opponents if that information is statistically interesting or otherwise relevant. 4. The player is thankful to receive the information and/or rails against Blizzard for the confusion.
If that change goes live, I won't be able to provide step 3 anymore, and maybe not even step 2. People do understand when you tell them "you've got 1000 adjusted points and that Diamond you fought was -200, and before that game you played against a 100 point Platinum and a 400 point Gold, so the Diamond wasn't as much of an anomaly as you might have expected" because it puts things in context. Without that additional layer of research, things become much cloudier.
I think there is still a way to find out the players mmr. But this way would need me to read way more out of the sc2 client than i already do and would produce way less accurate results. ( working with only the player data = opponent dmmr) And to be honest i dont think i would do this. Its a fight i can not win. In the long wrong they will hide more and more information until only the league icon is left. And i start to ask myself if its worth it to put so much work into a game that moves so far away from what i enjoy.
It's hopefully a bug, I already reported it as a bug in the forums for arcade beta.
I found that just unbelievable. Will we lose sc2ranks? There won't be any reason for us to even have a division, they could just give us a league badge and then give us a star if we are active enough!!
The worst problem is that you can't even get people to protest enough, however that will have an impact in the game in the future, as people get bored of being league X with a star for 1 year, they won't just be happy with that forever >.>
As I said, hopefully it's a bug and will get fixed soon (before it hits live regions).
I don't believe Blizzard will go on with this. It will hurt their franchise too much and they still have at the very least 2 expansion packs to profit from, not to mention the benefits of having SC2 as a large esport game.
I think Blizzard mentioned they were planning on implementing in HOTS a non-ladder mmr matchmaking system for people who were afraid of knowing their ranking. I am hoping that means they will actually give us real statistics for people in the ladder matchups. Unfortunately that might mean all the great work you have done might be for nothing anyways.
Oh I couldn't be happier than if Blizzard starts showing MMR in game. That's the reason we're working on this so much. I'd prefer if they would've shown it from the get go, but late is better than never.
Sadly I don't think they will ever show it. It's a decision they made while developing SC2 and nothing changed in this regard between then and now.
Excalibur has had the most cogent explanation for blizzard's byzantine system I've heard to this date (and that includes out of blizzard people themselves), but I have to overwhelmingly agree with Not_That... MMR and the standard deviation should be displayed, or at least some closer approximation. The obfuscation around points and leagues is ridiculous. And placement after 5 games makes no sense.
Another thing I've noticed recently, is that I think the sigma measure is much more relevant in Blizzard's system than it is in TrueSkill. I've tried to implement my own TrueSkill, but I don't think I'm doing it correctly, but I've been amazed how new accounts tned to be matched against other new accounts, both in placements and in early games. That effect diminishes as games get played, but Blizzard has obviously tweaked their implementation. That's part of what makes modeling the bnet ladder so difficult.
I'm in the same boat with skeldark, i've thrown up my hands on this issue more than once. I think there is still value in modeling the bnet system, but the ladder match making is the biggest blackbox of all.
On June 07 2012 11:33 celeryman wrote: Excalibur has had the most cogent explanation for blizzard's byzantine system I've heard to this date (and that includes out of blizzard people themselves), but I have to overwhelmingly agree with Not_That... MMR and the standard deviation should be displayed, or at least some closer approximation. The obfuscation around points and leagues is ridiculous. And placement after 5 games makes no sense.
Another thing I've noticed recently, is that I think the sigma measure is much more relevant in Blizzard's system than it is in TrueSkill. I've tried to implement my own TrueSkill, but I don't think I'm doing it correctly, but I've been amazed how new accounts tned to be matched against other new accounts, both in placements and in early games. That effect diminishes as games get played, but Blizzard has obviously tweaked their implementation. That's part of what makes modeling the bnet ladder so difficult.
I'm in the same boat with skeldark, i've thrown up my hands on this issue more than once. I think there is still value in modeling the bnet system, but the ladder match making is the biggest blackbox of all.
What you mentioned (new accounts vs new accounts) is something we've noticed as well, but it just doesn't make sense. If I'm a ladder designer, I want new players to be placed as accurately as I can so they don't just get frustrated and quit. After all, I have only 5 games to figure out where a new player should go. The fact that new players tend to play against other new players is weird because absolutely nothing is known about either player, so it's actually one complete unknown playing against another complete unknown, so what kind of information can you get from that?
As it turns out, it may not matter. If you pit a "kinda new" player against a "kinda new" player and the first player loses, then you'd maybe match him against a "kinda Silver-ish" player and see what happened. Remember the uncertainty values and K-values during placement are huge, so after 5 games, you should have a "good enough" representation of a player's skill. If you overestimated and placed a player in a division that was too good for them, "minimum MMR" would kick in and the player would still be able to earn points up to a certain extent, even though his MMR would steadily be falling until he was inevitably demoted. As long as the player is earning points and interested in continuing to play, that's good enough because the proper skill definition will eventually be determined. If you underestimated and the player was placed in a division weaker than his actual skill, no big deal there either because he'll earn even more points and probably get promoted after a time, which is also a positive result.
Has anyone been tracking their mmr from game to game? Mine seems to fluctuate incredibly wild distances, win or loss. This doesn't make any sense to me, and it's really hard to track progress. Maybe I'm doing this wrong, but by my math, some games I'm in the 18th-19th or even as low as the 16th tier, and other times I'm in the masters tier/the one below that. I've been promoted and demoted to and from masters 3-4 times since it's release. The account I'm playing on has ~5200 league games played. Surely blizzard's system can't still be this confused about where I belong, after that many games?
Are you using the MMR calculator plugin for sc2gears or are you referring to some manual calculation? What do you mean by 18th-19th tier and a tier below master? Can you give an example what you mean by wild fluctuations? Are you on SEA server?
I just skimmed the thread, so it's entirely possible, and I've been doing calculations by hand. I'm on NA server. Let me double check my calculations with what your plugin has, give me a couple of minutes.
I want to thank Insane for getting this data and for his huge help.
Click picture for full version.
The blue line is adjusted points. The red line is MMR approximation. Bars are opponents DMMR in relation to Insane's offset color coded by opponent's league. Light red bars are opponent whose league is missing (the high red bar near the left is someone still in his 5 placement matches).
For some games it's impossible to determine opponent DMMR due to Insane's adj points to opponent DMMR relation being capped. These opponents have pink bars extending below them to demonstrate the DMMR may lie anywhere from minus infinity to the top of the bar.
A reminder: adj pts can go below 0 to a minimum of minus the total bonus pool the player has used. In this graph Insane's adj pts start from -8.
If we take his Master opponents starting from the last Diamond opponent he played and average (their DMMR minus Insane's DMMR) we get 1462.7, which should be close to the Master offset minus Insane's offset. We're still trying to determine whether Insane is highest tier in Bronze or second highest.
Ok guys, I have a feeling that we have the cap at a number and additionally we have the "zero" at another number.
Something like, the cap is 73+ and the zero is at 150+/-.
What does that mean? That means that an active platinum player in a tier S (t2) division with 210 adjusted points tends to be just barelly under the diamond F line, because he actually has only 60 "points" in the tier S plat and the offset to the diamond F is like 65 or something. If he is active, this number should be pretty close to his moving average.
I can't prove it for you right now, but I have a strong feeling about it.
That also means that a diamond S (t6) player with 300 AP equals a master with 0, but that doesn't mean the offset is 300, nor 300-73, because the "zero" for bellow master is actually a number close to 150, maybe 150 indeed, so the offset to tier S and master is 150, not 300 (nor 227).
That's why I wanted to know and stalk a diamond tier S player. Such a player will play against maters from time to time and we could know for sure if this is true or not. I doubt it isn't true and I think the number 150 is a close number for that.
I recommend you guys to think about this possibility seriously, I am pretty positive it is true!
I'm not sure what you're saying. Let's take Diamond league and, because the final offsets haven't been discovered yet, I'll use 50 in my example and 88 as the minimum MMR value.
Let's say the lowest skill tier of Diamond covers MMR range 1000-1050. That means that its "zero" point is 1000 because the offset is 1000. However, "minimum MMR" dictates that any opponent who is below 1088 will award points as though they were 1088. This causes points for anyone in the 1000-1088 range to drift toward 88 points over time. This will cause some point overlap because if you suddenly took away all of the offsets, you still wouldn't get the exact MMRs of players below 1088.
Now let's say the second-lowest tier covers MMR range 1050-1100. The "zero" point here is 1050 because displayed points can't go below 0. Due to "minimum MMR", any opponent who is below 1138 MMR will award points as though they were 1138, causing points to drift upward toward 88 points for this tier.
This "soft point floor" is set such that a player who is actually stable and whose MMR remains within the range of his assigned division tier will earn enough points to make it feel like he's actually in the next tier. Basically we can think of it like a pool where 88 is the water's surface and 0 is the floor, because even if you touch the floor, buoyancy will push you back up toward the surface.
The confusing part for me is how division tier offsets factor into this. In the examples given, the second-lowest tier would have a -50 point offset from the lowest tier. However, minimum MMR ensures that 88 is the "soft floor" for both tiers, effectively masking the offsets entirely. Maybe this is only a concern at the low end, though.
On June 16 2012 03:36 Excalibur_Z wrote: I'm not sure what you're saying. Let's take Diamond league and, because the final offsets haven't been discovered yet, I'll use 50 in my example and 88 as the minimum MMR value.
Let's say the lowest skill tier of Diamond covers MMR range 1000-1050. That means that its "zero" point is 1000 because the offset is 1000. However, "minimum MMR" dictates that any opponent who is below 1088 will award points as though they were 1088. This causes points for anyone in the 1000-1088 range to drift toward 88 points over time. This will cause some point overlap because if you suddenly took away all of the offsets, you still wouldn't get the exact MMRs of players below 1088.
Now let's say the second-lowest tier covers MMR range 1050-1100. The "zero" point here is 1050 because displayed points can't go below 0. Due to "minimum MMR", any opponent who is below 1138 MMR will award points as though they were 1138, causing points to drift upward toward 88 points for this tier.
This "soft point floor" is set such that a player who is actually stable and whose MMR remains within the range of his assigned division tier will earn enough points to make it feel like he's actually in the next tier. Basically we can think of it like a pool where 88 is the water's surface and 0 is the floor, because even if you touch the floor, buoyancy will push you back up toward the surface.
The confusing part for me is how division tier offsets factor into this. In the examples given, the second-lowest tier would have a -50 point offset from the lowest tier. However, minimum MMR ensures that 88 is the "soft floor" for both tiers, effectively masking the offsets entirely. Maybe this is only a concern at the low end, though.
That is the question, how exatcly does this works, we still don't know.
Now, my hipothesys:
Let's say we have Platinum Tier S division.
It covers mmr from 950-1000. After 1000, you are effectivelly diamond F, less than 950 though, platinum A or worst.
Let's say the cap is 50. Every player has 50 "dmmr" in a plat tier s, they can't go lower, however, a player with 100 "dmmr" on plat rank S is actually a player with 900 MMR, because the "zero" is 150, not 0, not even 50, it's 150. Players with 150 DMMR, they have 950 MMR. Players with 100 DMMR have 900 and players with 50DMMR are capped, so, bad data.
Let's say I am a diamond player in an unknown division and I want to know my MMR. For some reason I know I only face platinum tier S and I see that my DMMR at plat S is 200! Then the question is, what is 200 in the MMR table? Well, 200 is 200 - 150 (the zero) + the offset, so 950 + (200-150) = 1000. I am at 1000 MMR, I am at diamond tier still, but only when I have 200 DMMR+ from plat S.
I am pretty sure this is the case because of my data, I was a plat tier S last season with 200-220 dmmr in my division. How come that wasn't enough for diamond? The answer is that 220 DMMR is something like "40-60" DMMR, it didn't cross into the diamond mmr just yet, not because the offset from plat S to diamond F is that big, but because the zero is 150, the offset is right, the "zero" is the problem that we didn't figured out it!
Also, I have a friend that was low master last season, he was pretty active and I knew he would barelly be demoted to diamond this season, I even told him so. In the end, he is indeed at a diamond division, with almost 100% chances of being in a tier S Diamond division. I am trying to stalk the players there and it seems obvious to me that "0" isn't the real zero. Right now I bet it is 150, but they aren't playing much, he already is using the plugin though, so I hope to have enough data at the end to the season to have a more solid number about the true "0". Hope he plays enough ^^
It covers mmr from 950-1000. After 1000, you are effectivelly diamond F, less than 950 though, platinum A or worst.
Let's say the cap is 50. Every player has 50 "dmmr" in a plat tier s, they can't go lower, however, a player with 100 "dmmr" on plat rank S is actually a player with 900 MMR, because the "zero" is 150, not 0, not even 50, it's 150. Players with 150 DMMR, they have 950 MMR. Players with 100 DMMR have 900 and players with 50DMMR are capped, so, bad data.
This is the part I don't understand. I'm not seeing the connection. If the soft point floor is 50 in a division spanning MMR 950-1000, then the amount of points for a given player will be 50, which will appear to equate to 1000 MMR. However, we know that to be an illusion. The player with 100 points would appear to equate to 1050 MMR, I don't know where you're getting 900 from.
I do see what you're trying to say though, which is that there is a particular mean which exists for points to hover around. That should be 73 (or 88) though.
When you say "zero", do you mean minimum average MMR required for a promotion? If so, a t6 ("rank s") diamond player with 300 adj pts would be about even to a master player with 171 adj pts (300 - (master offset - t6 diamond offset)).
Our offsets are fairly accurate we think. The average MMR required for a promotion we are less clear about. We know it's around 70+ ish by looking at the DMMR of low master and diamond opponents of master players and seeing the diamond players up to DMMR of around that in master league, and above 70+ ish it's generally master players. Whether or not it's the same for other leagues we aren't sure.
I have 2 tier S diamond divisions to stalk, so several players.
I failed in the math with the F function before, so I focused on the 11-13 points win/lost to make it simple.
Zero is "0", simple as that. And the offset seem to still be 150 btw.
Which makes me sad, how couldn't I get into diamond with 200 AP at plat tier S division in neither account =3
Btw, where are the terrans? I was eager to try the new 6 queens strategy with them =( Oh, ZvP all day, at least I am closer and closer to get my mass roach before 12 minutes <3
Which makes me sad, how couldn't I get into diamond with 200 AP at plat tier S division in neither account
Same for me. If I understand well the ladder mechanism, I had 152 AP at plat tier S division. And I stay Plat again.
I thinks, this is only because the edge of each league are changing at the end of each season (or maybe everytime) because of the 20% population rules by leagues.
And the edge to get into Diamond raise a little to high this season.
The main possible reasons is (I think) a lot of bronze/silver/gold/plat players becomes inactive players.
but if you wish to tell whether or not you improve as a player it is meaningless.
Why do we need a number to tell us if we've improved as a player or not? Surely only we know when we feel we've improved, which is then reflected in tournament progression, ladder win rates, and how we win? Since anyone can 4gate/3rax/6pool to masters (or above).
When looking at the mmr stats in SC2 gear, we should hope promotion once we reach the middle of the next badge? I'm in plat & my MMR is 1687 line separating diamond from plat is 1540 & seprating diamond from masters is 1990, so I should be promoted when I'm at 1775 or there is no real rule to be promoted?
On June 24 2012 04:46 Disastorm wrote: does this thread still apply since blizzard has loosened the matchmaking system?
Nothing discussed in this thread has changed.
On June 24 2012 03:03 nojok wrote: When looking at the mmr stats in SC2 gear, we should hope promotion once we reach the middle of the next badge? I'm in plat & my MMR is 1687 line separating diamond from plat is 1540 & seprating diamond from masters is 1990, so I should be promoted when I'm at 1775 or there is no real rule to be promoted?
Promotion should come when your average MMR has stablized within a tier in the next league, or has passed into two leagues up, whichever comes first.
I've rewritten the OP to succinctly and clearly explain what we discovered about the ladder system so that new comers won't have to search through 17 pages. From now on I can simply direct people to the OP.
On July 31 2012 00:54 etherealfall wrote: How many games do you mean by stabilized?
From the experience of my users i would say 4-10 games in this area but this is only a guess.
We don't know the real algorithm for it yet. The stabilized function is the last open question.
Regarding personal experience and some others that I know I would say stabilization often requires much more games than that. Of course the data collected by the MMR plugin may generally say otherwise and would provide much more accurate info.
Pre-v1.5 (SC2) for at least 2 people (or 3) I know it took 10-20 matches (usually closer to 10) to rise to masters after their MMR rose over the 'master line' (and stayed over) shown in the tool. But the master league has only one skill tier. It may take much more games to rise to other leagues that have more skill tiers. For which I have a personal example: In the end of season 7 I had bad last two days with my EU random account. My MMR dropped just below diamond line (little less than 1500) and was placed in platinum. After my MMR rose over diamond line it took around 65 games before I was promoted. For 45 first games MMR changed quite a lot inside range of ~180 MMR points (after 32 games it dropped near or just below 'diamond line' for few games). The promotion to diamond finally happened when my MMR according to the tool had been for 18 games inside range of 60 MMR points (avg for those 18 games was ~1650).
Skeldark & NotThat: Have you taken a look of data collected by the MMR tool regarding promotions? It would be interesting to get more info how long it generally takes for promotion after people rise over league barriers and is there often a visible stabilization period like in my example. Also after SC2 v.1.5 there have been lots of promotion reports in TL, Bnet forums and some other SC2 communities (and some MMR tool users claim that their MMR points just reached (moving average would be slower) the promotion line or were little lower when promotion happened). I have a feeling that promotion offsets for different leagues could have been lowered, but I have no solid data to back this up. Is there a visible surge of new promotions in data collected by the MMR tool after v.1.5?
On July 31 2012 00:54 etherealfall wrote: How many games do you mean by stabilized?
From the experience of my users i would say 4-10 games in this area but this is only a guess.
We don't know the real algorithm for it yet. The stabilized function is the last open question.
Regarding personal experience and some others that I know I would say stabilization often requires much more games than that. Of course the data collected by the MMR plugin may generally say otherwise and would provide much more accurate info.
Pre-SC2-1.5 for at least 2 people (or 3) I know it took 10-20 matches (usually closer to 10) to rise to masters after their MMR rose over the 'master line' (and stayed over) shown in the tool. But the master league has only one skill tier. It may take much more games to rise to other leagues that have more skill tiers. For which I have a personal example: In the end of season 7 I had bad last two days with my EU random account. My MMR dropped just below diamond line (little less than 1500) and was placed in platinum. After my MMR rose over diamond line it took around 65 games before I was promoted. For 45 first games MMR changed quite a lot inside range of ~180 MMR points (after 32 games it dropped near or just below 'diamond line' for few games). The promotion to diamond finally happened when my MMR according to the tool had been for 18 games inside range of 60 MMR points (avg for those 18 games was ~1650).
Skeldark & NotThat: Have you taken a look of data collected by the MMR tool regarding promotions? It would be interesting to get more info how long it generally takes for promotion after people rise over league barriers and is there often a visible stabilization period like in my example. Also after SC2 v.1.5 there have been lots of promotion reports in TL, Bnet forums and some other SC2 communities (and some MMR tool users claim that their MMR points just reached (moving average would be slower) the promotion line or were little lower when promotion happened). I have a feeling that promotion offsets for different leagues could have been lowered, but I have no solid data to back this up. Is there a visible surge of new promotions in data collected by the MMR tool after v.1.5?
I looked into the promotion problem but not very deep. I have all the data but never thought about a way to analyse it. I could write an analyser who checks the gamecount in an area before an promotion. But this is a lot of work and im busy at the moment.I only upadate my tool with bugfixes and stuff i can program in 1 h.
Promotion lines are a guess by us any ways. We guess : promotion line is T0 offset +73. We can not back this up but we think its a good guess because the way the system works this would make sense.
The offsets could have changed a little bit ( not big i would notice that ) . I agree its time to calculate the offsets again. We have way more data by now. i can watch all users at the moment but dont calculate data over all users at once (only for my race-avgmmr value.) This kind of analyse is normally NTs part. However he is busy at the moment healing me from headcrubs in "Alien Swarm "
I am at a point where I feel comfortable saying "I'm X MMR player" rather than "League Y player with X MMR". To me by now league promotion lines are entirely irrelevant. Skill is best described by MMR rather than league anyway. What's the difference if you're 2023 MMR player in Diamond or 2023 MMR player in Master?
I realize many players still don't speak the MMR lingo and don't use the tool or even know about it. TBH, they should. The league system gives almost no information. I cringe whenever I hear a player describe himself as "top X" or "rank 5" in his league. Usually he doesn't even realize how meaningless that is (especially so if they go "I got promoted into rank 4 in my new league"). It's not his fault either, it's the way the system was built. I try to introduce as many players as I can to the MMR tool.
Regarding possible change of tiers offsets recently, that is something I'll look into, because that affects much more important things in the tool than league promotion lines, that affects the calculation process itself.
On August 14 2012 05:10 Not_That wrote: I am at a point where I feel comfortable saying "I'm X MMR player" rather than "League Y player with X MMR". To me by now league promotion lines are entirely irrelevant. Skill is best described by MMR rather than league anyway. What's the difference if you're 2023 MMR player in Diamond or 2023 MMR player in Master?
I realize many players still don't speak the MMR lingo and don't use the tool or even know about it. TBH, they should. The league system gives almost no information. I cringe whenever I hear a player describe himself as "top X" or "rank 5" in his league. Usually he doesn't even realize how meaningless that is (especially so if they go "I got promoted into rank 4 in my new league"). It's not his fault either, it's the way the system was built. I try to introduce as many players as I can to the MMR tool.
Regarding possible change of tiers offsets recently, that is something I'll look into, because that affects much more important things in the tool than league promotion lines, that affects the calculation process itself.
But I went from rank 3 in my old league and was demoted to rank 9 in my new league! Why wouldn't it at least put me in rank 1? I was rank 3 before, now it's saying I'm worse than a rank 3 in this lower league?
Also I ended one season at rank 2 in my league but then I played my inter-season placement match and now I'm rank 96??? That is so not fair!
On August 14 2012 05:10 Not_That wrote: I am at a point where I feel comfortable saying "I'm X MMR player" rather than "League Y player with X MMR". To me by now league promotion lines are entirely irrelevant. Skill is best described by MMR rather than league anyway. What's the difference if you're 2023 MMR player in Diamond or 2023 MMR player in Master?
I realize many players still don't speak the MMR lingo and don't use the tool or even know about it. TBH, they should. The league system gives almost no information. I cringe whenever I hear a player describe himself as "top X" or "rank 5" in his league. Usually he doesn't even realize how meaningless that is (especially so if they go "I got promoted into rank 4 in my new league"). It's not his fault either, it's the way the system was built. I try to introduce as many players as I can to the MMR tool.
Regarding possible change of tiers offsets recently, that is something I'll look into, because that affects much more important things in the tool than league promotion lines, that affects the calculation process itself.
But I went from rank 3 in my old league and was demoted to rank 9 in my new league! Why wouldn't it at least put me in rank 1? I was rank 3 before, now it's saying I'm worse than a rank 3 in this lower league?
Also I ended one season at rank 2 in my league but then I played my inter-season placement match and now I'm rank 96??? That is so not fair!
By all joke. I did not even think about how the system looks to someone without any background-knowledge, that 1:1 believes the information . The average TL guy knows at least a little bit (mostly because of you).
In the beginning i did not like it because it doing a bad task: hiding information and show you fake information. By now i think it even do a bad job in executing this bad task. The only thing that they wanted and that works flawless is : Most players think they are way higher than they are. What is to be honest kind of an achievement. Its not so easy to tell one group the same lie and after that, most of the group think they are the top of the group. "I am top in points in the list" and "If i just play more i would be the guy in top of the list, i was it before"
I really don't understand this addon, it keeps changing my older stats as I go, yesterday I won against a master toss (I am diamond) and I got a huge boost in mmr. Today not only has my entire graph been shifted down 100 mmr but the win against the master toss has now changed into a 40 mmr loss. How can I lose mmr if I win against a player of several hundred mmr more than me.
I started this season as Platinum zerg after playing terran since the beginning of the year. Was just promoted 2 games ago to diamond. Rank 14 312 points in my new league.
I had something very similar, although another error occurred some time ago (at the same time as the jump in MMR)
- My opponents MMR was seen as exactly the same as my own for a couple of weeks (fixed after yesterdays update). - Yesterday it suddenly decided to increase my MMR by ~300 points (jumping back to the point where mine and my opponents MMR coincided for 50 games in a row).
EDIT:
Any way to reset the MMR it calculates? It keeps jumping up and down, so I'm not sure what my true MMR is when it will increase or decrease 100-300 randomly -_-.
Hi guys, I am quite confused as to how the offset values are determined / whether they are still a factor in the equation after the season 9 patch. Would be very happy to get an answer from y'all
On September 10 2021 22:13 Neyfaerie wrote: Hi guys, I am quite confused as to how the offset values are determined / whether they are still a factor in the equation after the season 9 patch. Would be very happy to get an answer from y'all
Hello. Please open a new thread. This one is very old and outdated.