- Annual revenueA$3,600
- Gross margin38%
- Given back as discount28%
- Return rate40%
- True contribution-A$187
Orders constantly, only on codes, sends a lot back. Your program gives them more perks for it.
Your loyalty program and your RFM report both call them VIPs: high spend, frequent orders. Net of the discounts they wait for and the returns they make, several of them cost you on every order. And you reward them for it. Here is how to find them.
Loyalty tiers and RFM rank customers by how much and how often they buy. A customer who orders constantly, always on a code, and returns a third of it, sails to the top of that list. So you give them early access, bigger discounts, a concierge. You reward the behaviour that is costing you.
The number that would stop you, contribution after COGS, shipping, fees, discounts and returns, is nowhere on the tier. So the loudest spenders look like the best customers, and the quiet full-price regular who never asks for a discount goes unnoticed, even though they are the one actually paying your bills.
The fake VIPs, high spend, negative margin, drop off the top and stop getting rewarded for losing you money. The quiet full-price regulars rise to where they belong. And your loyalty perks, your discounts and your concierge time go to the customers who actually pay you back.
Frequency and spend look like value. But contribution is revenue minus COGS, shipping, fees, discounts and returns. Pile on enough discount and enough returns and a high-spending customer nets below zero, and no spend-based loyalty score can see it happen.
Tops the tier on spend. Once the discounts and returns come out, there is nothing left, or less than nothing.
Further down the spend list, but nearly all of it is profit. This is who the perks should protect.
Same two customers, ranked by the first bar and then by the second. Who deserves the VIP treatment flips completely.
You can catch a fake VIP by hand, once. Keeping the whole list honest, and acting on it, is where a spend-based tier runs out.
Shopify shows you spend and order counts, not net contribution per customer after discounts and returns. Loyalty apps tier on spend, not profit. You can net it out once in a spreadsheet, but keeping every customer's true contribution current, and wiring your perks to it, is not something a tier or a report will do.
Or the shortcut: Blufire scores every customer on true contribution and flags the fake VIPs automatically.
Orders constantly, only on codes, sends a lot back. Your program gives them more perks for it.
Less than half the spend, and worth A$844 more to you. Your program has never heard of them.
By spend, the first customer is a Platinum VIP and the second barely registers. By profit, one costs you A$187 a year and the other makes you A$657. The tier has them exactly backwards.
The loyalty tier reacts to their spend by handing them a deeper discount, doubling the loss.
The same attention, spent on the profitable regular, defends real margin instead of deepening a loss.
A spend-based tier does not just misjudge the fake VIP, it actively makes them worse, because it answers high spend with a bigger discount. Ranked on profit, that perk goes somewhere it is earned.
Enter each one's revenue, gross margin, how much they get back as discount, and how much they return. It nets them down to what they are actually worth, and often the VIP is the one in the red.
The customer with the higher spend is worth -A$187. The quieter one is worth A$657, a swing of A$844. Your loyalty program is probably rewarding the wrong one.
A simple net-down. Blufire scores every customer on true contribution and flags the fake VIPs automatically. Nothing you type here leaves your browser.
It reads your store in contribution margin, revenue minus COGS, shipping, fees, discounts and refunds, reconciled to your ledger to the dollar, and nets every customer down to what they are really worth. The loud money-losers get flagged, the quiet profitable regulars surface, and your rewards can finally follow the profit. The list your loyalty tier had upside down, turned the right way up.