Decisions · Program mechanics and currency
When to expire points
Do not launch with expiry. Introduce activity-based expiry once balances held by members inactive for a year or more exceed roughly a fifth of your liability, set the window to at least twice your median purchase interval, give 90 days of notice, and never apply the rule retroactively without a full notice cycle.
Launch without expiry, and add it only when your own ledger says the dormant share is worth its trust cost. A workable trigger: introduce activity-based expiry once balances held by members inactive for twelve months or more exceed roughly a fifth of total points liability. Below that line, the release you would book is too small to justify teaching active members that the currency can vanish.
That fifth is a working rule, not a market statistic. No published benchmark establishes where the dormant share typically sits, so the trigger has to come from your own data: segment liability by months since last activity, and watch how the tail grows quarter over quarter. A program younger than two years rarely has a tail worth acting on, and should wait.
## The window must cover at least two purchase cycles
Set the inactivity window at no less than twice the median interval between purchases, with an absolute floor of twelve months. A grocery program with a weekly cycle can defend eighteen months without controversy. A tyre retailer whose median customer returns every thirty months cannot defend twenty-four, because that policy expires the balances of people behaving exactly as the category predicts. Any qualifying activity should reset the clock, earning or redeeming alike; a rule that resets only on purchase turns redemption into a trap for members trying to protect their balance.
## Ninety days of notice, delivered twice
Give at least ninety days between the first warning and the void, and send a second message inside the final month. The reset action must cost the member nothing. Consumer protection authorities in several markets have moved against short or quietly executed expiry, and no jurisdiction publishes a number you can treat as the safe minimum, which is an argument for the generous end rather than the legal edge.
The first run must never be retroactive. Announce the terms change, then let a full window plus the notice period elapse before a single point dies. Members who accumulated under no-expiry terms are owed the entire cycle.
## What a first run does to the numbers
Take a program carrying 5 million dollars of liability, 1.5 million of it with members inactive for over a year. A 24-month window with 90 days of notice will not void all of that. Suppose one warned member in ten reactivates: about 150,000 dollars of balances return to active status, and something near 1.35 million becomes releasable across the following year as each cohort crosses its deadline. If even a fraction of those reactivated members keep buying, the recovered customers are worth more than the accounting release, which is why the warning messages deserve real design attention instead of a compliance template.
## The first run lands on your largest dormant balances
Dormant balances are not evenly sized. The members with the most to lose were once your heaviest buyers, and they often still have public voices. A single-date void hands every one of them the same grievance in the same week. Phase the first run by cohort across several months instead of clearing the backlog at once. The steady-state policy is nearly invisible; only the introduction is dangerous.
Two situations flip the whole recommendation. In long-cycle categories where an honest window would stretch past three years, expiry earns almost nothing and the simpler answer is none at all. And where the currency is denominated in cash rather than points, voiding balances is forfeiture of money, which is a legal question before it is a design one.