While checking the lower end of the reputation league on Worldbuilding, I think I have found a bug in the ranked positions:
I would expect a 400 to come after 399.
It appears when viewing the top 400 users by Year but not By Month or All Time.
While checking the lower end of the reputation league on Worldbuilding, I think I have found a bug in the ranked positions:
I would expect a 400 to come after 399.
It appears when viewing the top 400 users by Year but not By Month or All Time.
This bug has existed since Leagues began, and it is fascinating to me that it was found today. It was found for a preposterously silly reason - I don't think anyone would have noticed, were the length of the leaderboards not fixed.
The reputation leagues have never had a tiebreaker. The order of users with the same earned reputation in a given league was completely arbitrary, determined by random chance. It was determined randomly every time the cache expired, which means your rank on historical leagues isn't stable. In other words, if you checked your historical leagues position every week, you'd get a different rank.
So why the jump from #399 to #426? Because the numerical ranks are assigned before the top 400 are selected. Users who had the same reputation change could be assigned any random rank among users who had the same rep change - but only some, chosen randomly and separately, would appear on the leaderboards. There were a decent number of users with 50 reputation change - and the ranks were assigned before the top 400 were selected. This part of the bug is new. But the root cause is the lack of stable sorting.
The answer, of course, is to provide a stable and consistent way of ranking accounts on the network in any given league. This way, users receive exactly the same rank every time the query is run. So we made a quick decision. When users have the same reputation change in a given period on the Leagues...:
Not sure exactly when this will deploy, but it should be soon.