How does promotion and demotion on event leaderboards work?

I have a few questions about how the tiers work:

  1. what is the difference between change_zones and tier_change in reward_tiers?
  2. how does promiton and demotion work? is this logic implemented or should it be implemented by dev in RPC?

Change zones are defined per tier - so you can have different rules for each tier as needed. They define how participants to an Event Leaderboard are promoted or demoted based on their placement by the end of the event, expressed as a percentage. Each change zone has 3 components: promotion percentage, demotion percentage, and a flag to indicate if idle participants should be demoted.

  • The idle participant demotion flag is straightforward, it indicates if players that have joined a cohort but never submitted a score should be demoted as a result. This would be independent of their placement among the cohort, and is useful if a cohort might have a significant number of idle players.
  • Promotion percentage indicates what proportion of participants should be promoted based on their placement among the cohort. For example on a 100 player cohort with a promotion percentage of 0.2, the top 20 players would be promoted.
  • Demotion percentage is the opposite, indicating what proportion of participants should be demoted. On a 100 player cohort with a demotion percentage of 0.3, the bottom 30 players would be demoted.

Promotion and demotion results in a +1 or -1 tier change, tiers cannot be skipped using change zones.

When it comes to promotion/demotion rules, change zones take precedence over reward tier change wherever specified. Change zones may sometimes be a more flexible way to define these rules if needed, as they can express promotion/demotion without the need for an associated reward.

Reward tiers can also specify a “tier change” value alongside the usual economy or inventory rewards. This value indicates if a tier should go up (equivalent to a promotion, +1 or +2 tiers for example) or down (equivalent to a demotion, -1 tier or similar) for the player(s) granted that particular reward. For example you might say players ranking 1-5 inclusive should be promoted +2 tiers, while 6-10 inclusive might be promoted +1 tier, and so on.

Every player starts at the lowest tier, usually tier 0. Promotion and demotion are calculated when the event begins its next iteration. Taking a weekly event as an example if the user places well in their tier 0 cohort this week and the rules indicate they should be promoted +1 tier, then next week when their new cohort is assigned they will be placed in a tier 1 cohort.

If a user misses an iteration, the “max idle tier drop” rule is applied. This is a value per Event Leaderboard, rather than per tier, and indicates how far the player’s tier might decay if they miss event iterations. Going back to the same weekly Event Leaderboard example, with a “max idle tier drop” value of 1:

  1. Player plays week 1, starts at tier 0 and is promoted to tier 1 for next week.
  2. Player plays week 2, starts at tier 1 and is promoted to tier 2 for next week.
  3. Player misses week 3.
  4. Player misses week 4.
  5. Player comes back for week 5, they will be placed in a tier 1 cohort due to the drop penalty.

The Event Leaderboard apples a 1 tier penalty for each missed event iteration, but only up to the “max idle tier drop” value if this is configured.

All the logic detailed above is built into the Event Leaderboards system, and does not require any custom logic on your part.