Customer Loyalty Program: Define the Repeat Behavior First
Define the event, eligibility timestamp, observation window, identity rules, and reversals before choosing rewards. Bad behavior specifications make loyalty results impossible to trust.
The short version: A customer loyalty program needs a precise behavior contract before it needs rewards or software. Define the eligible customer, qualifying event, start timestamp, observation window, identity rules, and reversals; otherwise repeat-rate reporting will not survive scrutiny.
Key takeaways
- Specify one repeat event using fields that data systems can evaluate deterministically.
- Anchor the observation window to an eligibility timestamp, not enrollment or campaign delivery.
- Keep every eligible customer in the denominator, including non-buyers and unredeemed offers.
- Resolve identity, cancellations, refunds, and role-versus-purchase cases before launch.
- Estimate lift only after checking sample size, assignment integrity, and complete observation time.
Write the customer loyalty program behavior contract
“Increase engagement” is not a program objective. Neither is “drive loyalty.” A usable objective names one population, one observable event, and one deadline: first-time lunch buyers complete a second paid lunch order within 30 days of their first completed order.

Turn that sentence into a data contract. At minimum, define customer_id, eligible_at, event_at, event_type, order_status, and net_revenue. Specify exact accepted values: for example, only order_status=completed qualifies; pending, cancelled, fully refunded, test, and staff orders do not.
The qualifying event must represent the behavior being funded. If the objective is another paid order, an app open, coupon save, email click, or points balance increase cannot substitute for it. Those events may diagnose the path, but they do not satisfy the contract.
The classic failure: the team defines “repeat customer” after seeing the report. One analyst counts any second order; another excludes refunds; a third starts the clock at enrollment. Freeze the definition before exposure, version any later change, then rerun treatment and comparison groups under the same version.
Anchor the window and denominator correctly
The window starts when the customer becomes eligible for the target behavior. For a second-purchase program, that may be the first order’s completion timestamp. Campaign delivery is not the correct anchor when messages arrive hours or days later, because it gives customers different behavioral windows.

Define boundary handling explicitly. A 30-day window can use event_at>eligible_at and event_at<=eligible_at+30d. Pick one timezone, document whether the final boundary is inclusive, then apply the same rule in campaign selection and reporting.
The repeat-rate denominator is every eligible customer whose full outcome window has matured. If 800 first-time buyers became eligible and 144 completed the event, repeat rate is 18%. Do not divide by members who opened the email, activated the offer, or returned to the site; those filters remove non-responders and inflate the result.
Late entrants need time to mature. Someone eligible yesterday cannot yet be classified as a 30-day non-repeater. Either wait until the full cohort completes its window or report fixed entry cohorts separately, with matured_eligible as the denominator.
Denominator trap: a dashboard silently excludes customers with no later event because its query begins from the purchase table. Build the eligible population first, then left-join qualifying events. Reconcile the eligible count against the source-system extract before calculating any rate.
Set identity, role, and reversal rules before rewards
A behavior contract fails when one person appears under several IDs or several people share one ID. Choose the identity key used for eligibility and measurement. Email, phone, account ID, payment token, and household ID answer different questions; document merge priority plus the treatment of missing or changed identifiers.
Identity checks are deterministic work. Flag duplicate source IDs, missing keys, impossible timestamp order, and one order attached to multiple customers. Reviewers decide ambiguous merges; code should enforce settled rules consistently rather than guess.
Purchaser and value-creating participant may differ. A designated driver, event organizer, household shopper, or referrer can create the desired outcome without buying the rewarded item. If that is the intended behavior, store the role event separately instead of forcing it into an order definition. The distinction also appears in Designated Driver Rewards: Reward the Role, Not the Purchase.
Define reversal timing too. A qualifying order refunded 10 days later should normally reverse both the event and its associated reward under a paid-purchase objective. Set a reporting delay matching the refund window, or publish provisional and settled measures separately.
The classic failure: campaign selection uses account ID while reporting deduplicates by email. Treatment exposure and outcomes then operate at different units. Use one declared randomization and measurement unit, preserve its assignment, then reconcile exclusions and reversals against that unit.
Test economics only after the event can be trusted
Once the behavior is stable, assign eligible units to treatment and holdout before sending the reward. Analyze by original assignment, including treatment customers who never opened or redeemed. Removing them measures responders, not the effect of offering the program.
Sample size must match the lift worth funding. Inputs are baseline rate, minimum detectable lift, two-sided significance level, desired power, treatment allocation, expected attrition, and any clustering by store or household. With an 18% baseline, a 3-percentage-point target lift, 5% significance, and 80% power, a standard two-proportion calculation needs roughly 2,700 customers per arm before attrition; 600 per arm will often leave that effect unresolved.
Use a statistical power calculator or validated statistics package for the arithmetic. If randomization occurs by store, a customer-level calculation is insufficient because outcomes within stores may be correlated. Use a cluster-aware calculation based on the number of stores and an estimated intracluster correlation, or avoid a causal scale claim.
Duration follows the behavior, not a fixed calendar rule. Required time equals recruitment period plus the complete outcome window plus any pull-forward window. For a 30-day repeat event with 21 days of recruitment and another 30 days needed to detect displaced purchases, the earliest settled read is 81 days after recruitment begins.
Calculate incremental contribution per eligible customer as treatment contribution minus holdout contribution, then subtract incremental reward, communication, fulfillment, fraud, and variable operating costs. Measure cumulative contribution through the pull-forward window; merely looking for a later rate dip can miss changes in order value or margin.
The classic failure: a team launches for six weeks because six weeks fits the planning cycle, then calls an immature cohort profitable. Prewrite the minimum detectable lift, sample requirement, maturity date, exclusions, profit equation, and stop rule. If the available audience cannot support the planned inference, narrow the claim or choose a larger commercially meaningful lift.
Software comes after these definitions. When manual identity matching, reversals, or reward reconciliation become the constraint, use Loyalty Program Software: Buy for Requirements, Not Features to frame the purchase.
Frequently asked questions
What is the minimum viable repeat-behavior specification?
Name the eligible population, eligibility timestamp, qualifying event, deadline, identity unit, accepted statuses, exclusions, and reversal rule. Add the numerator and matured denominator used for reporting.
Should enrollment start the observation window?
Only when enrollment itself creates eligibility for the behavior. For second-purchase measurement, anchor the window to the first qualifying purchase; otherwise enrollment timing changes the time available to repeat.
Can a small customer loyalty program use a holdout?
Yes, but a holdout does not guarantee a decisive result. Calculate sample needs first. A small audience may support only a larger detectable lift, pooled recruitment over more cohorts, or a directional estimate with explicit uncertainty.
Should the first reward use points?
Use points only when progress across purchases is part of the intended mechanism. A voucher or account credit requires fewer ledger states; points add accrual, expiry, reversal, liability, and fraud rules that must be reconciled.