Case study · Pet retail
A loyalty program that paid for itself
Before Welli existed, this team ran the business — one of the largest online pet retailers in Latin America. Food, litter and medication: the most predictable repeat-purchase category in retail. The loyalty program was built here, on a segmentation model, and it is the piece of that decade we are asked about most.
The situation
Pet food runs out on a schedule. A category that predictable should retain almost by itself, and the business did have repeat buyers — but it treated the customer base as one list. Every promotion went to everyone, which meant a large share of every discount went to people who were going to reorder that week regardless.
The cost of that is invisible. It shows up as a healthy top line and a margin nobody can explain.
What we built
An RFM model — recency, frequency and monetary value — rebuilt every month, and used to stop describing customers by what they had spent and start describing them by what they were about to do. The thresholds were set on the reorder cycle of the category rather than on calendar quarters, so a customer forty days past a thirty-day bag was lapsing, not merely quiet.
The loyalty program was then designed against those segments rather than against a flat rate. A reward is a discount you have agreed to give forever, so each segment got the one that changed its behaviour and nothing more: real value where a lapsing high-value buyer could be brought back, a light touch where the customer would reorder anyway, and no spend at all where the margin could not carry it. The segments most worth saving were not emailed — the contact centre, staffed by veterinarians, called them.
What kept it profitable
Enrolment was never the metric. Each segment’s reward was costed against the contribution that segment actually produced, and the whole model was recomputed monthly because customers move between segments constantly — which is exactly what a program written once cannot see.
That monthly rebuild ran from 2018 until the business wound down in 2022. It is the part of this we would defend hardest: a loyalty program is not a launch, it is a standing cost, and the only thing that keeps it honest is recomputing who deserves it.
What we would do differently now
RFM is a rules engine, and rules are a description of the past. The same segmentation today would be a propensity and churn model — predicting which customer is about to lapse rather than noticing that they have, and predicting what the pet needs next rather than what the household bought last. The roadmap already pointed there when the business closed. That is the version we build for clients now.
How the segments were cut
Recency against frequency, five buckets each. Value does not name a segment — it sizes the reward inside one.
What each segment got
- Champions
- Early access and the reorder reminder. No discount — they were already coming back.
- Loyal
- A reward sized to what the segment carried, reviewed as they moved.
- New
- A second-order nudge on the category’s own reorder cycle.
- At risk
- The real money went here: a lapsing high-value buyer is the only one a discount changes.
- Cannot lose
- Called, not emailed. The veterinary contact centre took these by hand.
- Dormant
- One attempt, then nothing. The margin could not carry a second.
Method as it ran. Segment thresholds were set on the category’s reorder cycle, not on calendar quarters.
A loyalty program is a discount you have agreed to give forever. The only question is whose behaviour it changes.
More case studies