Smurfs: The Good, the Bad & the Ugly - Q&A

API REPORTS METHODS

I’ll keep there a trace of the methods I’ve used to sample and detect smurfs in other leagues than my own.


V1.1

Research Q°: How many smurfs are there at gold MMR ?
= What’s the proportion of smurfs are encountered by gold players ?

  • Randomized MMR sample (within the MMR boundaries of studied tier) for every player).
  • The players from a same MMR are randomized once again, depending on the numbers of players, to determine which one will be screened, from the top to the bottom (for example if the random number is 5, the 5th player from the top will be selected).

Players with less than 8 1v1 in recent game history are discarded. If a player is discarded, then only the player is randomized once more, not the MMR.

For example for gold 1 EU :
→ Randomizing and MMR from 2720 to 2839 : 2727
→ if 10 players at 2727, randomizing from 1 to 10 : 2
→ second 2727 MMR player’s profile from the top analyzed
→ repeated for each player.

  • Profile analysis

    Criteria for non freelosing smurfs :

    Career games < 40 gold, < 80 plat, < 160 diam (MMR reached)
    More than 70,0% ratio with ≥ 20 games played
    ≥ 2 leagues compared to current ≥ 2 times with same race
    ≤ 2 leagues of opponents with ≥ 25 games played (≈ equivalent of provisional placement)

  • Games history analysis :

    Criteria for freelosing smurfs :

    ≥ 3 freeloses in recent history (24 games for web API, 48-80 games for ingame profiles).

  • FL if ≤ 150s from previous match for web API checks(estimated waiting (queuing + loading time) ≈60s, FL if left ≤ 1:30 + waiting time).
  • FL if left before opponent attack for ingame checks.

Players without freeloses nor profile inconsistencies => regular players
Players with minor profile inconsistencies => undefined

Discussion :

  • I had to define a minimal career amount for reaching gold league MMR, as I had done for platinum and diamond.
  • Slightly tweaked the values of those minimal career games, and of the maximum unsuspicious winrate, as those weren’t satisfactory. I partly based myself on a Reddit thread where players exchanged about after how many games they reached X league, and mad sure to stay below those while providing values that seemed likely to me for extremely gifted + coached players. Those are still comparable to the ones I used in my player-experience report in P1-D3.
  • Rephrased the definition about deliberately playing with a displayed league lesser than the opponent, since that kind of smurfs often makes in fact sure never to reach the 25 games ending the provisional MMR state.

For future versions, I’m considering randomize up to two players by MMR sample (instead of one), to speed things up while keeping the randomization procedure.


V1.1b

Same than 1.1, but for small details :

  • Users with < 8 1v1 played are only discarded if match history is needed to define their category.
    If a player is randomized twice the same day, the second randomization is also discarded.
  • Players whom usable data is too scarce to assess with acceptable confidence are categorized undefined (same than those with minor inconsistencies).

V1.1c

Same than 1.1b, but for some details, mainly defining procedures regarding extreme MMR zones (where there are less players than MMR points) :

  • If a player is randomized twice the same week, the second randomization is also discarded (=> better screening power).
  • If no suitable user can be found at the randomized MMR (all discarded, no players at that MMR), the MMR is randomized again.
  • For extreme leagues (≥ M1 and ≤ B3) if there are no users at the randomized MMR, the closest MMR where there are players is selected instead. If there are two equally close MMRs available, the choice between the two is picked at random. For example if there are no users at 1500 MMR, but there are at 1499 and 1501, the choice between the two will be random.

Websites & tools used :