How is a User’s Position on the Waitlist or Leaderboard Calculated?

Prefinery allows you to customize how users are ranked or positioned in your waitlist (e.g. for a pre-launch campaign) or leaderboard (e.g. for a referral campaign) in the form of scoring algorithms. 

You can find this setting by navigating to Referral Page > Settings from your project dashboard menu. 

Waitlist/leaderboard positions are dynamic and may be constantly changing (in the case of highly active campaigns), so they're not something static that is stored in the database on which a query can be run nor can be adjusted arbitrarily. Instead, they're automatically calculated using the algorithm you've set for your project. It would not be possible in any way to set a specific position for a particular user, nor manually adjust it for them. User #456 right now may automatically become #567 in a second for a very active campaign as an example.

You can choose from four different waitlist/leaderboard scoring algorithms to best fit your campaign:

Order list by most referrals

Your default setting with every new campaign. Users are ordered in descending order by their number of referrals. 

In cases of a tie their signup timestamp is taken into consideration. 

This algorithm is the most fair to your users, so that they are rewarded for their work in referring friends, as opposed to jumping up the queue a fixed number of positions upon each referral earned.

Moving up the queue by a fixed number of positions ( e.g. move up 3 spots for every referral) would lead to someone who signed up late, but referred many friends, to still be placed behind someone who simply got in line weeks or months earlier. 

With this algorithm, you reward users for work in referring their network to your product, not for simply getting in line first. 

Order list by signup time

The first person that signs up first would be first on the list, and the last one that signs up would be at the bottom of the list. 

Skip ahead N positions after referral

You can set how many positions a user can skip to rise in the rankings with every referral. 

This algorithm is similar to "Order list by signup time" in that each new user is initially ranked by their signup date (so last to sign up is last in the list). What makes it different is that the user can override their ranking (by date) and move up the ladder by simply increasing their referral count. 

Here's a scenario where the number of positions to skip is 5 for every referral: 

In the screenshot above, the user in position #1 applied last and by default should be last in the list. But, because of that one referral, they were able to move up the rankings regardless of their signup date. 

To set the number of positions you'd like the user to skip through for every referral, navigate to Referral Page > Settings from your project dashboard menu and input/edit the value on the Skip ahead option. 

Note: Moving up the queue by a fixed number of positions can lead to someone who signed up late, but referred many friends, to still be placed behind someone who simply got in line weeks or months earlier as it is difficult to overcome a head start when dealing with long waitlist queues.

Order list by most points

You can associate points for activities such as signing up, shares, and referrals so that the user is awarded points for doing them. 

With this, you can set a point value for signup, share, and referral activities. For example: 

  • When a user signs up they get 1 point; 
  • Each time their referral link is clicked they get 3 points (limited to one award per network e.g. when shared the first time on Facebook they get 3 points, additional shares of the same link on Facebook get 0 points); and/or
  • When a friend is referred they get 5 points

The waitlist/leaderboard will be ordered by most points. 

You can also manually award bonus points to users from their profile page. 

For example, you can give 100 bonus points to User A. That would change User A’s position based on their new point total. 

On the Points tab of their profile you can find a detailed list of where these points came from with the option to Delete such points. 

Points can also be awarded as part of a Reward. 

For example, you could set up a single-sided reward that gives a t-shirt and 500 points when the User performs a custom event (e.g. subscribes to your newsletter). 

You can also filter and sort users by points value from the Users page. 

Points will show up in a CSV export, webhooks, and API responses.

What happens when you change algorithm settings

If the algorithm is changed, a rebuilding of the waitlist/leaderboard occurs so that everyone is moved to the correct position based on the new algorithm. 

For example with the points algorithm, points will be retroactively awarded to users for past activities (signups, shares, referrals) which occurred before this particular algorithm was enabled. 

Still need help? How can we help? How can we help?