RFM Segments: Stop Blasting Your Whole List
Sending the same offer to a customer who bought yesterday and one who lapsed a year ago wastes margin on both. RFM scoring tells you who to talk to and what to say.
- RFM scores customers on recency, frequency and monetary value
- Champions and loyalists need retention, not fresh discounts
- At-risk and lapsed segments need winback, timed to repurchase cycle
- Segment first, then set discount depth by segment value
The cost of the one-to-all blast
Most Indian D2C brands run their CRM as a broadcast channel. Every campaign goes to the whole list with the same 15 percent code. This does two expensive things at once. It hands a discount to customers who would have bought at full price, and it fails to re-engage the lapsed buyers who need a stronger reason to return. RFM segmentation ends the blast by sorting your list into groups that behave differently and therefore deserve different messages and different discount depths.
RFM stands for recency, frequency and monetary value. It is one of the oldest ideas in direct marketing and it still outperforms most machine learning setups for a brand under Rs 50 crore in revenue, because it is transparent, cheap to build, and easy to act on.
How to score each dimension
Take your order history, ideally 12 to 24 months, and score every customer on three axes from 1 to 5.
- Recency: how many days since the last order. A customer who bought this week scores 5, one who last bought 200 days ago scores 1. Recency is the strongest single predictor of whether someone buys again.
- Frequency: how many distinct orders in the window. A five-time buyer scores 5, a one-time buyer scores 1.
- Monetary: total contribution margin, not revenue, across those orders. A customer who bought high-margin SKUs is worth more than one who only chased your loss leaders.
Use quintiles so each axis is relative to your own base. A 90 day recency might be excellent for a mattress brand and terrible for a coffee brand. Scoring against your own distribution keeps the segments honest.
The segments that actually drive action
You do not need all 125 possible score combinations. Collapse them into a handful of segments that map to a clear action.
- Champions, scoring high on all three: recent, frequent, high value. Do not discount these people. Give them early access, a loyalty tier, or a genuine thank you. A discount here is pure margin given away.
- Loyal customers, high frequency but slipping recency: nudge the next order with a replenishment reminder or a new-arrival alert, not a code.
- Potential loyalists, recent with one or two orders: this is your conversion-to-repeat segment. A small, time-bound second-order incentive earns its keep because it changes behaviour.
- At-risk, once valuable but recency now low: they are drifting. A stronger winback offer is justified because the alternative is losing the relationship entirely.
- Lost, low on everything: send a final reactivation attempt, then suppress them so you stop paying to message dead contacts and protect your deliverability.
Match discount depth to segment value
The financial logic of RFM is that discount depth should scale inversely with how likely someone is to buy anyway. Champions and potential loyalists buy at low or zero incentive, so you protect margin there. At-risk and lost customers need a real reason, so a deeper Rs 200 or 20 percent offer is defensible because you are recovering a customer who was otherwise gone. Blasting one code to everyone gets this exactly backwards: it over-discounts the loyal and under-motivates the lapsed.
Run the maths on a Rs 900 AOV. If 30 percent of a 50,000 person list are champions and loyalists, a blanket 15 percent code silently gives away roughly Rs 135 on every full-price order those segments would have placed anyway. On a few thousand orders that is lakhs of margin per campaign, spent to change nothing.
Turning segments into flows
RFM is only useful if it drives automation. Wire each segment to a WhatsApp and email flow that refreshes as scores move. A potential loyalist who places a third order graduates into loyal and stops receiving second-order nudges. An at-risk champion who lapses drops into winback. Recompute scores weekly or monthly so the segments stay live rather than freezing into a one-time export.
- Champions: VIP early access, referral ask, loyalty perks.
- Potential loyalists: second-order nudge, cross-sell to a complementary SKU.
- At-risk: winback with a real offer, timed to the category repurchase cycle.
- Lost: one reactivation attempt, then suppress to protect deliverability and cost.
RFM will not replace deeper cohort or LTV analysis, and it is not predictive in the way a churn model is. What it does is convert a flat email list into a set of segments with distinct economics, so your CRM stops being a discount hose and starts being a margin-aware retention engine.
Common mistakes to avoid
Teams new to RFM tend to make the same errors. The first is scoring on lifetime revenue instead of a rolling window, which leaves you rewarding customers who were active two years ago and have since gone quiet. Anchor the analysis to a 12 to 24 month window so recency stays meaningful. The second is treating the segments as permanent labels rather than a live state; a champion who lapses for 120 days is no longer a champion, and your flows must move them. The third is building the segments in a spreadsheet once and never wiring them into your ESP or WhatsApp tool, so the insight dies in an export nobody opens. The fourth, and most expensive, is ignoring deliverability: continuing to mail the lost segment drags your sender reputation down and quietly suppresses inbox placement for the champions you most want to reach. Suppress the truly dead contacts after one reactivation attempt, and protect the list that actually pays your bills.