Fnirk1 wrote: ↑Wed Feb 23, 2022 1:59 pm ... How do you want to solve the problem? Do you have some ideas?
I proposed an new algorithm to put into the site, that would limit XP farming and 'bot' pirating. This was a few years ago.
The way I would set it up, would not "knock" them out of their place in the leaderboard, and the algorithm only would apply to the top three in a leaderboard. So whether the user is an obsessed XP farmer or a crazed XP bot/script pirate, if they reach the top three in a league, the system would 99.999% of the time keep them there.
My theory was, that it is not so much that all the users who hate seeing these obscenely high XP numbers really object to another user getting higher scores than them. What we object to, what we find so annoying and also demoralizing, is being beat by a score that is several multiples of what a normal score should be.
I'm basing a "normal" score, say for the sake of argument, on this: 50XP is the maximum daily goal that a user can set up in Duolingo's system. So, let's say that the top "normal" score, per day, is 10 times that - which would be 500XP by my calculations. At the end of the week, such a user would be earning - 7 days x 500XP = 3,500XP per week.
So, in the forum, DigitalDoughnut says that this user has scored more than 15,000XP in two days, which is an average of over 7,500XP per day. I looked at DigitalDoughnut's Duome profile, and for the last two days, DD has earned 665XP & 804XP, an average of 735XP per day (a pretty healthy score, even higher than my 10 fold example). My argument would be, if the 15kXP user had beaten DD by 1,000XP instead of 6,800XP, maybe he would not be so annoyed. Maybe even he would have been inspired to work even harder, and maybe he would feel competitive.
My feeling is that the issue, is NOT that users are losing the top spots on the leaderboard, since every one of us knows that this is just a part of participation in a league. Every user is not going to go to the top spot. That is just obvious. The issue is, these scores are abnormally high and are throwing off the entire game. The idea is to inspire others to work harder. What is happening now is, users are being demoralized.
So - to answer your question, yes, I had an algorithm that could solve this. The algorithm sets a daily XP "ceiling," that penalizes the top three XP scorers - kind of like a grading curve, the ones they used to use in public school. But this curve would only affect the top three scorers in the leaderboard. And the top three would still remain the top three. The only difference would be, instead of beating the other users by, for example, in Doughnut's case, 10 times (approximately - he actually is getting beaten 10.2 times his average) he would be beaten by a score that is a maximum of triple his score. Much less demoralizing. So the top three could never earn more XP per day than triple the average score of the bottom seven users (of the top ten) of any leaderboard.
Using the above scores of DD and XPP (XPPirate), XPP's score would be limited to a maximum of 2,205XP per day. This is triple DD's average: 3 x 735XP = 2,205XP. Now, XPP is still beating DD, but this time, XPP is only 1,470XP ahead of him (2,205XP - 735XP = 1,470XP). Before the algorithm kicked in, XPP was more than 6,700XP ahead of him. That's a heartbreaking defeat. We are only changing a heartbreaking, demoralizing defeat, into a healthy, competitive setback.
My idea, my "algorithm" still preserves the XPP's ability to dominate the leaderboards, but not in such a demoralizing, heartbreaking way.
I've posted about this before. I laid out the above in an oversimplified manner, but in my previous posts in the old site forum (on Duolingo), I laid out the entire algorithm a few times. There were a few people who disagreed with it, but everyone who didn't agree with it being a good idea presented arguments that did not actually apply to the algorithm, they argued against things that my algorithm was not actually doing.