Let's take a different business: a cosmetics shop in Almaty that sells both in store and with delivery. A shopper has 10,000 ₸ of goods in her basket and opens her points balance on the phone: 500 points. The cashier explains that some of the items are excluded, although nobody mentioned that at sign-up. The customer argues, the queue waits, and the owner asks the marketer to come up with another promotion. First, the shop needs clear rules for the one it already has. The shop's numbers are made up.
A loyalty programme gives customers a reason to return: a discount earned with points, a useful service or access to something outside the usual purchase. The marketer has two responsibilities: make the benefit usable and establish how the shop will pay for it.
A benefit that gives people a reason to return
Before choosing software, name the behaviour the programme is meant to encourage. A customer might make a second purchase, add a useful consumable to an order or choose the shop for regular purchases. Each calls for a different reward. A reward on the sixth purchase reaches people who get that far; a problem between the first and second purchase belongs on the retention map.
Points make sense when customers can earn and spend them within their buying cycle. A status tier might offer early booking, help choosing a product or service without a queue, but the shop needs enough capacity and staff to deliver it. A promise of priority support still has to hold on a sale day. Cash back suits people who want to spend the money elsewhere; discount points can be used under the programme's rules.
Understanding the next benefit matters more to a member than learning three tier names. For our shop, the promise is: "500 points take 500 ₸ off an eligible order; they cannot be withdrawn as cash." Calling it cashback without an explanation leaves customers guessing where they can spend their balance.

Rules that fit beside the balance
The owner has decided to keep points and write down the mechanics before the next launch. These are proposed rules for the shop, still to be implemented at the till and in the customer account.
| Rule | The programme's proposed terms |
|---|---|
| Earning | 5% of the amount paid in money for goods, excluding delivery; fractional points are rounded down |
| Availability | Once the customer receives the order |
| Redemption | One point takes 1 ₸ off the payment; points can cover up to 5% of eligible goods |
| Exclusions | Delivery and goods with another discount are excluded from redemption; this is shown before payment |
| Expiry | Points do not expire under this proposal |
| Full order return | Points earned on the order are cancelled and redeemed points restored; the monetary refund is handled separately |
| Errors | Support locates the transaction through the order and shows the correction in the customer's history |
Take the same 10,000 ₸ receipt under the new rules: it has no goods with another discount and no delivery charge. The 5% redemption limit is 500 ₸, and the customer has exactly 500 points, so they pay 9,500 ₸. Once they receive the order, they earn 9,500 × 5% = 475 new points. Awarding points on the full 10,000 ₸ would be wrong here: the rule uses the amount paid in money.
The history needs separate entries: 500 points redeemed, 475 pending, then confirmation of the award. On a full return, the shop restores the 500 redeemed points and cancels the 475 awarded. If the customer has already spent the new points, staff need an agreed way to resolve the case; the system should not silently change another order. Partial returns and combinations with promo codes also need a trial run before launch.
The chosen service may handle points movements separately from coupon status. Smile, for example, has instructions for cancelling a points redemption. Use those and a test order to establish what can be done with an issued coupon and one already used. A "points restored" message is only part of the check: staff need to see the final payment and both transaction records.
What remains from an order
The goods, packaging and other variable fulfilment costs for this order come to 6,500 ₸. Without points, contribution is 10,000 - 6,500 = 3,500 ₸. After redemption, it is 9,500 - 6,500 = 3,000 ₸.
That 3,000 ₸ still has to cover fixed costs and profit. Subtracting the same 500 ₸ again counts the discount twice: it already reduced the payment from 10,000 to 9,500 ₸. The calculation 9,500 - 6,500 - 500 therefore understates contribution at 2,500 ₸.
The programme's software, setup and support work are separate costs. A product reward costs the business the product and its fulfilment; a discount is already reflected in the payment. This calculation supports management decisions. The shop agrees the accounting treatment of points issued, redeemed and outstanding separately with its accountant.
More orders can still leave the shop worse off
For a monthly plan, take 200 repeat orders without the programme. At 3,500 ₸ contribution each, they bring in 700,000 ₸. The owner hopes points will lift orders to 240 and budgets 30,000 ₸ a month for the system and its operation. This is the shop's budget, not a vendor's tariff.
To model the cost, assume that 500 points are redeemed on each of the 240 orders: every shopper has enough points, and basket value and contents match the order above. The calculation is:
| Plan | Orders | Contribution per order | Total contribution | Programme costs | Remainder |
|---|---|---|---|---|---|
| Without the programme | 200 | 3,500 ₸ | 700,000 ₸ | 0 ₸ | 700,000 ₸ |
| With the programme | 240 | 3,000 ₸ | 720,000 ₸ | 30,000 ₸ | 690,000 ₸ |
Orders are up 20%, but the remainder is down 10,000 ₸. Preserving the original 700,000 ₸ requires (700,000 + 30,000) / 3,000 = 243.3, or at least 244 orders. That is 44 extra orders, a 22% increase. Shared fixed costs are unchanged between the two plans and are left out of the table.
At 244 orders, the remainder is 732,000 - 30,000 = 702,000 ₸. The buffer above the original 700,000 ₸ is only 2,000 ₸: a change in basket mix or more support requests could use it up. This is a planning threshold. The calculation cannot tell us that the programme will produce those 44 orders. Customer value helps set an affordable budget; the actual increase still needs to be measured.
In a real month, redemptions will vary. The analyst takes payment after discounts and variable costs for each order, adds up contribution and subtracts programme costs. The outstanding points balance belongs beside the result: customers may redeem it later. One profitable month before widespread redemption is a weak basis for judging the entire launch.
Separate the programme from existing buying habits
Regular customers may join first and already buy more often than newcomers without any rewards. Comparing members' average order value with everyone else's mixes that existing difference with the programme's effect.
For a new launch, one option is to randomly assign an invitation to some eligible customers in advance and compare the full assigned groups, including people who decline the invitation. That tests the programme offer in its chosen form. Existing members keep the rewards already promised. Set the period, group sizes and final reading date in an experiment plan before invitations go out.
The shop's main result is incremental contribution after programme costs. Track repeat orders, returns, complaints and reward use alongside it. Cards issued show the scale of membership; judging payback requires money. With a small customer base, a pilot can first establish that earning and redemption work, while giving a limited estimate of a modest sales effect.
Compare redemption across awards with the same observation period: for example, the share of points made available to one group in one month that are spent over the same following period. Mixing old balances with newly issued points in the denominator can make redemption fall simply because awards are younger. If few people use their rewards, walk through checkout with them and review support requests.
Exercise: a programme brief for a client
Choose an existing programme or an owner's proposal for your project. Produce one page of rules with a calculation alongside it.
For the shop in the example, the calculation starts at 3,000 ₸ contribution after redemption. A figure of 2,500 ₸ means the discount was subtracted twice. A plan claiming payback at 240 orders has lost either the 30,000 ₸ operating cost or the discounts on orders that would have happened anyway.
The exercise also produces a list of unresolved cases. Who handles a dispute about points expiry, what does the cashier see on a return, and who resolves two accounts belonging to one person? Each case needs an owner and an outcome the customer can understand. The next promotion can wait until the till can honour the promise already made.