Every loyalty program based on the earn and burn process faces a major challenge in reducing the number of points earned by users. This is due to mandatory financial provision set up for the whole value of virtual currency held in the accounts. Depending on the size and popularity of the program, we are talking about thousands or millions of euros / dollars.
There are two basic approaches to loyalty points cancellation:
At this time, we will present the latter one which advantages over the first one are as following:
But it also comes with some challenges, especially when you call yourself a modern digital company.
What are the main challenges?
Let’s have a look how we can do it with Synerise.
Use case: batch cancellation of loyalty points for 5 million users within 6 hours, followed by communication send via email.
HOW TO:
Thanks to the expressions logic, which allows us to use advanced mathematical rules for calculations in the user context, we can set up specific rules for counting points. For example, we can summarize all up-charging events, resign from cancelling points earned last month to be more user-friendly and not giving away points that the user has not had time to spend.
Such an expression is built of aggregates that sum up points in specific time intervals - each of them is separately configured and summed up at the end, for example:
2. Create a segment of users that needs to be included in the process based on the expression from the previous step that shows the number of points to be cancelled greater than 0 and some additional conditions if necessary:
Keep in mind that the segments in Synerise are dynamic and change in real time, so your information will always be up to date.
3. Create an analytical dashboard that will track the entire process in real time and show the final results.
Such a dashboard can be built of an initial segment, a segment of users who have completed the automation process, a segment of users that failed the process, the number of points cancelled, comparison of users on input and output, users who received a confirmation email, etc.
4. Prepare an automation workflow which will take care of the rest.
Such automation is triggered on a schedule (most likely at a certain night time) with the segment set in step 2. Then we need to lock users’ point balance (which will automatically expire after a configurable time) for the duration of the process so that they cannot change it by manually activating and deactivating promotions, completing quests, etc.
Before we proceed, we need to wait for an event that confirms the lock. If we do not receive such an event, we move users on the "fail" path and finish the journey. Later, we can easily find such cases, and both analyse the cause of the failure and collect them in the second round of the deletion process.
The next step is the client filter, in which we distinguish two types of customers: with currently active promotions and without. If customers do not have active promotions, we simply send them an event that deducts points from their point balance, so they complete their journey successfully. If they have such promotions, we will deactivate them beforehand (to add points "hidden" in these promotions but not yet redeemed to find the real balance), wait for the confirming event, send the event by subtracting points from the balance and then finish the journey.
Now having a point deduction event along with the number of these points, we can easily send a personalized campaign to the entire segment using jinjava inserts (https://help.synerise.com/developers/inserts/automation/,https://help.synerise.com/developers/inserts/email/ )
What is also crucial is the fact, that thanks to our real-time analytics based on expressions (https://help.synerise.com/use-cases/loyalty-programs/ ), the balance for each user changes at the time the user receives the event.
Summing up:
All of that with synerise.com