Of Karma Grinding

by JochoiJochoi

Introduction

The wikidot karma system is of a mechanism unknown to users of wikidot. Rumours are heard that karma4 (very high, abbreviated "k4" below) and karma5 (guru, abbreviated "k5" below) requires 2000 revisions and 8000 revisions respectively.

In order to find out how such mechanism works, a series of data collection is carried out.


Concept

There is a speculation about wikidot karma system as follows:

The portion of k5 members out of total number of users is constant. Wikidot promotes the top k4 members to k5 when new users join wikidot and the number of k5 members had been raised according to the portion, and that new k5 slots are available; or when a k4 member has surpassed the relative threshold corresponding to said portion by their activity calculations.

Wikidot source code

The wikidot source code for karma calculation is available here with relevant rules here, which can be read.

First-hand data

A karma grinding script is developed and executed with karma level being monitored.

Second-hand data

The revision count and forum post count for accounts known to have k5 are extracted.


Method

Karma grinding script

A karma grinding script is developed in NodeJS, and executed on Karma PoCKarma PoC.

The code is not disclosed to prevent abused usage, but the concepts are as follows:

  1. The script logs into the said account.
  2. The script sends an edit and save edit request every 3 seconds to a particular page that can be discarded easily.
  3. The script sends requests to post a forum post every 60 seconds to per page discussion of the said page.
  4. The script retrieves the karma level status of the said account every 60 seconds, and stops steps 2 & 3 from executing after k5 is reached.

Counting guru revisions and forum posts

A revision and forum post counting script is developed in NodeJS.

The code is as follows:

The code is also usable as a service at https://zh.xjo.ch/wd/userinfo , with query string parameters userId or user_id for wikidot user id, or username for wikidot username if user id is not provided.

Try using user id and avoid using username if revision amount is over 20000 or forum posts amount is over 10000 because converting username to user id takes an additional 10 seconds or so.

If revisions or forum posts are too many then the tool may error out with gateway timeout on server end.

Many thanks to UnihedronUnihedron for advice on using exponential search algorithm.


Results

Wikidot source code

As the wikidot source code is over 10 years old and may not reflect the current process of karma calculation accurately, it serves for reference purposes only.

By reading the wikidot source code, it can be observed that there are certain minimum activity scores that has to be reached in order to qualify for different karma levels, however the division of user karma levels are done according to proportions of the overall wikidot userbase. This confirms the speculation put forth in the concept section, at least for wikidot 10 years ago.

Karma grinding

Karma PoCKarma PoC reached k4 at around 2000 revisions and 0 posts.
Said account reached k5 at 11631 revisions and 101 posts.

A possible error: wikidot may be slow to update karma level, such that the script stops well after the threshold had been surpassed.

Statistics of current gurus

Sorted in alphabetical order
All data retrieved are of 03:30 10th May, 2020, UTC+8
Retrieved data may be inaccurate as deleted revisions and forum posts are not counted

User No. of revisions No. of forum posts
7happy77happy7 29917 653
djkaktusdjkaktus 6871 2463
feitagfeitag 9346 3244
Helmut_pdorfHelmut_pdorf 19940 8590
Ihp does not match any existing user name 8472 2716
Karma PoCKarma PoC 11631 101
Lt FlopsLt Flops 10702 700
M ElementM Element 15108 2699
NatVoltaicNatVoltaic 11197 1404
notgullnotgull 5629 1752
pokmpokm 5685 2285
RounderhouseRounderhouse 11272 713
Sekai_sSekai_s 5489 629
WoedenazWoedenaz 8355 353
ZynZyn 8410 48175

Conclusion

First, the 8000 revisions rumour is considered false, as it does not take into account the other factors that affect karma levels. Examples include pokmpokm and Sekai_sSekai_s at under 6000 revisions. As for first-hand example, k5 is only reached at about 11000 revisions and about 100 posts.

Second, regarding how exactly the karma system works, it can be said that the "proportional karma" speculation was true for the open-sourced wikidot source code from over 10 years ago, however there are no conclusions that can be drawn as of current, as there are multiple possible errors.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License