question

Ben R. avatar image
Ben R. asked

Leaderboard positions wrong / duplicated when viewing multiple leaderboards

This is for title 9D6C. I'm using GetLeaderboardAroundPlayerRequest() to get leaderboard entries.

I believe this issue was reported previously here: https://community.playfab.com/questions/4604/wrong-leaderboard-position.html but not actually solved at the time.

I'm seeing the same issues from that previous report mentioned by my players - their stat values are correct but their positions are completely wrong.

Often their ranking in different leaderboards are (erroneously) shown as being the same place.

https://imgur.com/a/eMSRA and https://imgur.com/a/8bSbe were helpfully captured by two different players (

8EC2FE15E29E2426, 5A74F452D6961889 respectively

) around the same time.

In the first set of images you can see the positions for 4 different leaderboards are being reported as 2881 which is extraordinarily unlikely (game has hundreds of thousands of players).

In the second set two positions match (2888) and the others don't (but are close).

Comparing these is interesting to do as well because the two players should be massively apart on the actual leaderboards. Looking at the 'gold bugs captured' leaderboard, for instance, Plasmaxyz has a rank of 2888 with 310 and Orcmors has a rank of 2881 with 179 captured.

Looking at current values the ranking for Plasmaxyz looks possibly correct at the time of capture, the one for Orcmors is clearly very wrong.

If I test this in Unity by creating a new Playfab account each time I hit play with 179 gold bugs captured then pull the PlayFab leaderboard I see a wildly different ranking each time (11784, 2946, 5892, 5892 again, 20622, 5892 again, 5892 again, 11784 ...) ... so that's super-wierd, keep getting not just a variety of obviously wrong numbers but the *same* wrong numbers repeatedly.

Leaderboards and Statistics
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
pfnathan avatar image
pfnathan answered

This is by design, where this behavior can be explained by the rank estimation algorithm that is enabled for very large leaderboards for players who are not near the top of the leaderboard, this means that two players with the same score might get slightly different ranks back from the API. But they will both get the same rank back every time they call it, so ordinarily, they would not notice the difference. we will document this in more detail soon and posted on our documentation site.

20 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Ben R. avatar image Ben R. commented ·

The entire *point* of a leaderboard is to compare your progress versus others ... you're telling me that the leaderboard system *by design* give false positions? And that positions can be wrong by tens of thousands of positions?

What about sometimes being the exact same position across 4 different leaderboards?

I'm kind of amazed this is viewed as acceptable.

0 Likes 0 ·
brendan avatar image brendan ♦♦ Ben R. commented ·

No, the leaderboard provides a consistently reproducible position for each player, which is a reasonable estimate of their actual position, on a per-player basis. The only way I could see a player being off by the margin you describe, would be if you had a relatively small player population (a few thousand, say), in which you didn't have any kind of bell curve to the player scores (that is, that player scores are more often at the high and low ends, rather than being largely average). What you're seeing is that comparing the leaderboard results sent back to two different players, that players past position 1,000 in the leaderboard aren't going to be exactly the same. So for most games, player 1 might see player 2 as being in position 210,892, while player 2 might see themselves as being in position 210,633. Recalculating every position, for every player, each time any player in the game submits a score, would be incredibly expensive. That's why services that provide global leaderboards use estimation past a certain point in the leaderboard. Players are highly sensitive to position when they're near the top of a leaderboard. They're not when they're nowhere near the top.

0 Likes 0 ·
Ben R. avatar image Ben R. brendan ♦♦ commented ·

> The only way I could see a player being off by the margin you describe, would be if you had a relatively small player population (a few thousand, say)

Ok, so ... I have hundreds of thousands of players. All of my leaderboards are for 'thing accumulated over time' ... so the distribution will be a diminishing curve with many players at the lower end with duplicate scores and significant differences between the scores of the players at the top end rather than a bell curve.

So is this a failing of the PF assumption it's a bell curve? And how does this explain that a player might see themselves in the same position across 4 different leaderboards?

The way this is working at the moment is causing my players to report it as broken.

0 Likes 0 ·
Show more comments
schweizerbenjamin97 avatar image schweizerbenjamin97 commented ·

@Brendan: Is there a range that does not include estimation? So are the places between 1 and 5000 (or more?) the same for all players?

0 Likes 0 ·
brendan avatar image brendan ♦♦ schweizerbenjamin97 commented ·

The first 1,000 are not estimates.

1 Like 1 ·
teemosoft2 avatar image teemosoft2 brendan ♦♦ commented ·

https://community.playfab.com/questions/28816/leaderboard-error.html

but wrong position rank 828 "못난이"

getaroundplayer api is estimate

0 Likes 0 ·
Show more comments
Show more comments

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.