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 2. Thanks > 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.
Order by total 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 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.
Order 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 and referencing the below screenshot:
- Points for Signing up: When a user submits your Prefinery form or gets added to the campaign in some other way (e.g. via API, importing, etc.), that counts as a signup (by that user). In the example, when a user signs up they get 1 point;
- Points for Shares: When someone visits a user's unique referral link and lands on your website, a share will be recorded and attributed to the owner of that referral link. With the example, 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 even if the click is from another visitor); and/or
- Points for Referrals: Through a successful share, when the visitor after arriving at your website eventually signs up, that's recorded as a referral, credited to the owner of the referral link they followed. In the example, when a friend follows the referral link and signs up 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 100 bonus points for every 10 new referrals the user earns.
You can also sort and filter users by points value from the Audience > All Users page.
Points will also show up in CSV exports, webhook events, and API responses.
Skip ahead N positions after referral
For the benefit of your users, we've deprecated this option so you won't see it on your end anymore. We recommend that you do NOT use this algorithm (here's why), and instead reward people for their efforts in referring friends by choosing either the "Order by total referrals" or "Order by most points" algorithm.
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 3 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 2. Thanks > Settings from your project dashboard menu and with this algorithm selected input/edit the value on the # of positions to skip ahead for every referral.
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.