Greedy Goblin

Monday, November 21, 2016

League of legends data analysis (spoiler: it's rigged)

Hanura delivered again. He crawled lolking.net for leaderboards. http://www.lolking.net/leaderboards#/eune/1 provides the top 10 players. http://www.lolking.net/leaderboards#/eune/2 gives the next 10, up to #1586542, though some are missing due to page turns. All together 1536014 player data downloaded.

My first thing was to check my theory that low game count strongly correlates with bad performance. While it's obvious, lot of players questioned it, since if we accept it, we must also accept that large amount of low-game players in Silver league are suspicious. So first I checked how many games players played:

The below-10 games players, who flooded my Silver 2 league were just a small minority in the total playerbase. Suspicious indeed. But let's move on and see the correlation. On the next chart every point is the average rating of the players who have the same amount of games:
Well, it's pretty convincing isn't it? Average low game count players should be in bronze and Silver 5. Sure, a few exceptional ones are higher, but remember, most of people I saw in Silver 2 were such. But let's zoom the low-game segment:
What is that strange bump at start? I'd guess it's because of the highly placed newbies who did not have enough games to fall to their proper rating. If you are placed gold and lose the first 10 games, you are still not in bronze where you belong.

Finally the smoking gun: the distribution of players by rating. We expect a smooth graph, as there is no reason for the number of players on 985 rating and 986 rating to differ. Well, it does:
See those huge spikes at certain ratings? Let's see the first one:
Rating Players
840 571
841 717
842 630
843 447
844 320
845 337
846 204
847 284
848 254
849 306
850 1471
No one is on 851-869 rating
870 13252
871 724
872 831
873 907
874 890
875 829
876 936
Probably the reason of manipulation is because this is the limit between Bronze 4 and 5 and some players are not meant to drop, no matter how bad they are. Please note that leagues could be managed without tempering with matchmaking rating. Yet MMR is messed with. Sure, you can claim it's some marketing trick to help players feel better, but if we accept that they mess with MMR to make players feel better, it's not a wild guess that they'll mess with MMR to make paying players feel much better.

I told you it's rigged!


PS: extra evidence that rigging things is bad! In this wikileaks e-mail shows that the Clinton campaign ordered the mainstream press to rig the Republican pre-election by giving lots of free air-time and favorable opinions about Donald Trump and Ted Cruz. If one of those guys become the Rep candidate, Hillary will easily win the election, right? Right?

32 comments:

Carson 63000 said...

Did you actually read that wikileaks e-mail? The one that is a memo being circulated within the Clinton campaign planning their strategy, and not actually even remotely "ordering" the mainstream press to "rig" the Republican primaries or indeed do anything at all?

I guess not.

Smokeman said...

Well of COURSE it's rigged! Why wouldn't it be rigged? Their business model is to sell skins and champions, not provide a 100.0% even playing field.

The big question is where does the rigging stop? If the higher echelons are not rigged, then meh... the divisions that count are fair.

It never ceases to amaze me how far people will twist themselves to not see rigging. Look at the WoW token system. You know it has to be rigged, and likely rigged in the direction of gold sales.

How to tell if a thing is not rigged:

Question 1: Is it completely transparent?
Question 2: would rigging this be a felony?

If both answers are yes, then there is no way it's rigged. If both are no? If it isn't rigged now, it will be in the future.

Skeddar said...

Not quite sure if I understand your analysis here.

You are using the elo numbers displayed at Lolking, right? As far as I know these numbers are calculated by Lolking itself depending on your division and LP. So someone in Bronze II with 0 LP always has a 1010 rating on Lolking, but that doesn't tell you anything about the hidden mmr Riot uses for their matchmaking. As you probably know you gain/lose more/less LP depending on your hidden mmr, and you are matched solely depending on your hidden mmr.
I might be wrong about Lolking calculating their own elo ratings, but as far as I know noone can use Riot's true elo numbers and every site just creates their own ones. You might want to check on that.

About your findings that noone has a rating of 851-869, it seems the Bronze IV switch to Bronze V happens on this page: http://www.lolking.net/leaderboards#/eune/153235

The highest rated Bronze V player with 850 is this one here:
http://www.lolking.net/summoner/eune/44434905
Not sure if it has any meaning, but this player is in his promotion games to Bronze IV with 1:0 stats. Maybe Lolking would use the skipped numbers if he is 2:0, 2:1 or 2:2 in his promos, but that's just a guess.

About the increased numbers of players exactly at Bronze V 100 LP and Bronze IV 0 LP, I think it makes sense that these are the spots more people 'gather'. If you are at 0 LP in Bronze IV you might stop playing as you are afraid of getting demoted, and as you probably know you can lose a few games till your elo drops low enough so you get demoted, so your rank 'tanks' a few losses. Same with Bronze V 100 LP, if Lolking doesn't differentiate between people in their promos no matter their stats, you suddenly have more people sharing that exact rating (every one with 0:0 to 2:2), while not in promotions every single LP difference might change your Lolking rating.


The main point is: I don't think the Lolking numbers present the numbers Riot uses, especially not the hidden mmr. And if we're only talking about the shown mmr (division + LP turned into a number), in this case it would 'just' prevent players from dropping from Bronze IV to Bronze V, right? That doesn't necessarily mean a team is favoured to win a game (like it was in your WoT analysis).

maxim said...

It is actually a stretch to assume that anyone who handhold newbies will necessarily encourage pro athletes to buy dope.

I'm glad you feel encouraged in your search, but what you found is hardly proof positive after anything except that there is some sort of matchmaking barrier at 851-69 level.

There are a multitude of reasons why that barrier might be there, many of them perfectly wholesome.

So far the only thing you have done is accusing game designers of actually implementing a design.

Anonymous said...

Those two high peaks are s5 and g5. Nothing rigged about that. People want borders and stop playing to not drop. Will read your post 2nd time to see if there is anything that would be rigged.

Skeddar said...

Not quite sure if I understand your analysis here.

You are using the elo numbers displayed at Lolking, right? As far as I know these numbers are calculated by Lolking itself depending on your division and LP. So someone in Bronze II with 0 LP always has a 1010 rating on Lolking, but that doesn't tell you anything about the hidden mmr Riot uses for their matchmaking. As you probably know you gain/lose more/less LP depending on your hidden mmr, and you are matched solely depending on your hidden mmr.
I might be wrong about Lolking calculating their own elo ratings, but as far as I know noone can use Riot's true elo numbers and every site just creates their own ones. You might want to check on that.

About your findings that noone has a rating of 851-869, it seems the Bronze IV switch to Bronze V happens on this page: http://www.lolking.net/leaderboards#/eune/153235

The highest rated Bronze V player with 850 is this one here:
http://www.lolking.net/summoner/eune/44434905
Not sure if it has any meaning, but this player is in his promotion games to Bronze IV with 1:0 stats. Maybe Lolking would use the skipped numbers if he is 2:0, 2:1 or 2:2 in his promos, but that's just a guess.

About the increased numbers of players exactly at Bronze V 100 LP and Bronze IV 0 LP, I think it makes sense that these are the spots more people 'gather'. If you are at 0 LP in Bronze IV you might stop playing as you are afraid of getting demoted, and as you probably know you can lose a few games till your elo drops low enough so you get demoted, so your rank 'tanks' a few losses. Same with Bronze V 100 LP, if Lolking doesn't differentiate between people in their promos no matter their stats, you suddenly have more people sharing that exact rating (every one with 0:0 to 2:2), while not in promotions every single LP difference might change your Lolking rating.


The main point is: I don't think the Lolking numbers present the numbers Riot uses, especially not the hidden mmr. And if we're only talking about the shown mmr (division + LP turned into a number), in this case it would 'just' prevent players from dropping from Bronze IV to Bronze V, right? That doesn't necessarily mean a team is favoured to win a game (like it was in your WoT analysis).

Gevlon said...

@Carson: the actual order probably won't be found because the media management was done by Donna Brazile who weren't using hillaryclinton.com or gmail but brazileassociates.com and there is no indication that it was hacked. So the internal memo is the best we'll probably get.

@Skeddar: the complicated system you described is rigging in itself.

@maxim: "handhold newbies" is happening at the expense of veteran - though not so good - players who experience this as "ELO Hell". I'm not sure that they mess with Challenger ratings, but since only 1% of the players are there, it's not really relevant either.

@Anonymous: if the company is giving "borders" to players because they "want it", is it a wild guess to assume that they give more "borders" to paying players?

maxim said...

@Gevlon
Only 1% of players are Olympic athletes, therefore it must be irrelevant

I'd say that challenger-level players are the only players that matter. The rest can just be milked for all the money they can give, as long as it doesn't interfere with the game's ability to produce challenger-level players.

Gevlon said...

@Maxim: Only the Olympics matter, so it's fine if the national championships allow doping and referees rig the outcomes.

Note that you are now weasel-defending. You claim that while Riot is rigging 99% of the games they MAY not rig the challenger games that "matter".

Anonymous said...

lol has a developer interface. you should be able to use it directly instead of going via lolking.
https://developer.riotgames.com/

maxim said...

@Gevlon
LoL ladder is not a championship - national or local.

It is more like a constantly ongoing game in the street, only with stats being kept. It is perfectly fine to meet people of widely ranging skills in the yard. Heck, i still remember the days of SC1 when we didn't even have an official ladder and did most matchmaking manually through chatgroups. Ranked play was managed through third party websites back then. Current ladder system is the same idea, only slightly more streamlined. Nobody really expects much more from it.

Heck, you can't even train properly on ladder. To get really good you need focused training against specific strategies on a specific execution level for multiple games in a row, not a random assortment of stuff the ladder throws at you.

The reason challenger level players matter is because their "street play" does actually affect the strategies used in competitions (which are entirely separate events).

The rest are in simply for the fun - however they choose to define it.
Google youtube funday monday :D

maxim said...

@Gevlon
Even if you manage to prove that Riot rigs 99% of their non-challenger games, it is not proof-positive that they rig Challenger games. This is just not how logic works.

It is, however, how tinfoil works :D

Gevlon said...

@maxim: My point is NOT that "if they rig Silver, they must rig World Championship" (though I believe so). My point is "you are in Bronze, Silver or Gold. Riot rigs Bronz, Silver and Gold games. Riot fucks with you. Stop giving them money."

Philosophically: I strongly disagree the idea that the 99% of the people are worthless and can be treated as crap. I believe that only the M&S (approx bot 20%) are worthless and we must help the rest to rise higher.

Anonymous said...

What's the next step then? Are you quitting LoL just as you quit WoT?

Personally, I quit LoL about 2 years ago, but when I played, I felt the rating system worked exactly as it should. I started in low silver, stayed there while I kept blaming my losses on my team, climbed up when I improved my game and plateaued mid-gold where I was pretty much the definition of average-performance player almost every game with my mechanical skill stopping further progression.

Was the matchmaking rigged against me (I didn't spend any cash)? Maybe, but as far as I'm concerned, the matchmaking did exactly what is was supposed to do - put me in games appropriate to my skill. Doesn't matter if the starting line was supposed to be in Silver 4 instead of 5

Alexey L. said...

You should have marked leagues thresholds on your graphs.

Anonymous said...

Well looks like you found a bug in lol King score. How does that relate to Riot matchmaking?

Gevlon said...

Lolking gets score from the Riot API. It's very unlikely that a bug on Lolking would produce a systematic distortion.

maxim said...

@Gevlon
Your philosophy breaks down when you dig into the specifics of how exactly to help people to rise above. For example, most players simply don't survive actual fair matchmaking and participate much more enthusiastically in a rigged system instead.

Also i am not entirely sure how you justify telling people not to pay for exactly what they want to buy (the kind of rigged fun they are having). Those who don't want to pay to play LoL simply don't do it and are mostly fine.

Renfiri said...

Riot never showed up formula for MMR and never (after implementing Division/League ladder system) allowed to get it through API. Lolking points, OP.GG MMR etc. are just aproximations. Current system is messy af but is encouraging people to play ranked due to 'sense of progress' they don't need rigging system, you started to looking for "rigging" with presumption and adjusted facts to theory. As much older player I would look for possible evidence in aspect of dropping beetwen leagues as sometimes its only one/two games lost in row at 0 points, sometimes even 10 games are not enough. About random people starting their journey in rankeds at silver level. After conversion form old system to new one Silver 3 was old 1200 MMR, this mean 1200 should be averange amount of points between whole commuinty if not, matchmaking system would broke due to inflation/deflation of points(At lolking 850 was (is?) minimum value what isn't true). ATM new players less often play against players in same division but with many more games (it still happens,but at start there was no difference beetwen 1200mmr player with 1k rankeds and brand new ranked player). To conclude, if LoL matchmaking is rigged it is for new players to dont mess more already messed silver matchmaking.

Anonymous said...

The riot API provides your division and LP number. They don't provide MMR. The ranking number on lol king is something lol king calculate themselves. You can read API doc's here: https://developer.riotgames.com/api/methods#!/1215/4701

Anonymous said...

"Lolking gets score from the Riot API. It's very unlikely that a bug on Lolking would produce a systematic distortion."

No, they do not! Lolking computes their "score" from tier/division/lp. Their score is not a number that comes from Riot API.

Another artefact of that analysis. A median of 121 games played strongly hints that you have only counted _ranked_ games of the _current_ season. You did not count normal games and you did not count the games of the previous season. That is a plausible reason for the invasion of low game players into your league. To check that hypothesis what you could do is to compare the rating of players with a low amount of games with their rating in a previous season (preferably obtained by plaing many games)

Gevlon said...

@Maxim: players are already placed in bronze and don't stop playing. I see no reason why 855 MMR sounds worse than "bronze". If everyone would be eventually placed gold if you play long enough, than your argument would be true (which is basically welfare rating). I believe the rigging is implemented to allow them all PAYING players to rise to gold unless they are absolutely terrible.

@Renfiri: then why does op.gg shows an MMR which changes as I play and can be much higher than of the others of the same league? But even if "MMR" is just a lolking approximate, - unless they have a serious bug - it means that the data they use (leagues and lp) shows the same pattern: lots of players at Silver 5 0lp who are not allowed to drop. Which is rigging.

@Anon: of course I'm talking about ranked last season. Normal games are not indicative as it's flooded by totally clueless players, so winning normal means nothing else than you are not totally clueless. Year old data is also useless as you probably lose your muscle memory over a year of not playing.

Anonymous said...

That wikileaks link shows no such thing.

The wikileaks shows standard strategy information for a political candidate. I am very sure Donald Trump had an identical one drawn up.
Can you point to the quote from the wikileak which shows that Hillary Clinton was controlling the media output, or even attempting to do anything other than standard spin?


shamus said...

I wonder whether the discrepancy is due to hysteresis. I wouldn't expect there to be a hard threshold between ranks (the bronze/silver) but for there to be an overlap area where you get to stay in current league until you advance through the overlap into the other league. I can well imagine that wouldn't be a published thing from Riot and might lead to the gaps you're seeing with high data points each side of the gap?

maxim said...

@Gevlon
What % of people that are stuck in bronze keep playing for long? Because i don't think the evidence will bear our the notion that a significant chunk of people keep playing happily in bronze.

The 855MMR thing is indeed interesting. However, it can be the result of a great many things, including something as mundane as a simple technical limitation, involving MMR numbers between 851 and 869 being very bad for whatever tech reason. It is strange and merits further investigation, but i don't think it is a proof of anything in itself.

Interesting investigative points for further clarification would be questions such as what happens if you earn enough MMR in a match to put you in the blocked zone? What happens if you lose enough MMR in a match to put you in the blocked zone?

In any event, just having the blocked zone alone is not sufficient proof that anyone who is paying automagically becomes gold.

P.S: Incidentally, the very rating-to-games graph in your article seems to support the idea that anyone who plays enough games reaches ~1700MMR, which i understand is gold. So maybe we do have welfare rating here. Or maybe you get better at a game while playing it, to a point, and that point plateaus around mid-gold.

Anonymous said...

Gevlon, the MMR is hidden.

I know this because I used to play Dominion when it first came out. Initially you could get the MMR directly from the API, so they blocked it. Then it became possible to get the MMR from another method, also got blocked.

The last I heard you could fetch MMR while in a lobby by linking to the API for that specific lobby. I don't know if they patched that, but it was the last way you could get the actual MMR number.

If op.gg is getting MMR from an active game, then that may explain why it works, but there is no way lolking can get MMR for all those players as they won't have that access to the active games.

It sucks that MMR is hidden, but this is why the lolking data looks so dodgy.



None of this is to say there is NO rigging in the Lol matchmaking. But it is to say that trying to draw a conclusion from clearly incorrect data is not even slightly proof. It is as bad as saying "I found this list of random numbers, and it correlates to the weather, therefore the weather is 100% random"

Skeddar said...

"lots of players at Silver 5 0lp who are not allowed to drop. Which is rigging."

Well, if rigging means players might have a displayed higher rank than they currently play at based on their hidden elo... then yes, maybe the displayed ranks are 'rigged'. I still don't understand what the problem is with 'demotion immunity' for a few games, or if you are in a Ver tier (Gold V, Silver V) you only drop to the lower tier if your hidden mmr approaches the Ver tier of the next lower one (so if you are Gold V, you only drop to Silver I if you have a hidden elo of Silver V).

Let's see if you can find a correlation between ranks and payments.

Hanura H'arasch said...

"Lolking gets score from the Riot API. It's very unlikely that a bug on Lolking would produce a systematic distortion."

I don't know how exactly they get the MMR, but it sure as hell isn't from Riot's API (or I'd have gotten it from there as well). My theory would be that they fetch the last 10 games from each summoner (available from the Riot API) for each player every 6 hours or so, and calculate the MMR from that.

Regarding lolking's algorithm being bugged, there are lot's of pages which contain less than 10 entries, like this one.

Maybe they are the cause for this gap? I haven't had the chance to look into it further yet, and sadly I'm busy till at least friday.

Anonymous said...

I haven't been involved with the league community for quite a while, but IIRC op.gg uses a system that checks who you are matched with and their league and division etc. (and who they are matched with and those players' league and division, and so on) in order to guess players' mmr. Whereas, lolking, as other commenters have mentioned, directly uses the league and division and LP without checking who a player is matched with. Neither uses MMR data from Riot since that information hasn't been publicly obtainable for quite a while.

For the kind of research you want to do, op.gg might be useful (though not as much so as Riot's own MMR data which we can't get), but lolking is completely useless.

Anonymous said...

I still don't understand, how paying to Riot correlates with anyone's ranked performance. You don't have to pay a dime to get into Challenger, heck some players even got there by playing one champ exclusively. (that means spending IP just on the champ and runes).
All I see, are just an excuses of M&S, why they can't get into higher divison and why others can.

Gevlon said...

I didn't claim it does. I claim that the system is rigged and this opens up the possibility to rig according to payment, which would be very profitable. Of course they might just rig for fun.

maxim said...

@Gevlon
The case is usually that game designers rig systems for fun, which is how they earn their payment :D