Module 1
What is RFM Segmentation?
RFM stands for Recency, Frequency, and Monetary value — three dimensions of customer behaviour that, when combined, give you the most accurate picture of who your best customers are, who is at risk, and who is already lost.
Originally developed for direct mail in the 1990s, RFM is now the gold standard for email list segmentation across ecommerce, SaaS, and D2C brands. Companies that use RFM segmentation consistently report 3–5× higher campaign revenue per email compared to sending the same message to everyone.
R
Recency
How recently did this customer make a purchase or engage? Customers who bought last week are far more likely to buy again than those who bought 18 months ago.
F
Frequency
How often do they purchase or engage? High-frequency customers are loyal — low frequency could mean they bought once and left.
M
Monetary
How much have they spent in total? High-value customers deserve different treatment than low-spend one-time buyers.
Why RFM outperforms demographic segmentation
Demographic segments (age, gender, location) tell you who someone is. RFM tells you how valuable they are and how likely they are to buy again. Two customers with identical demographics but different purchase histories need completely different email treatment. RFM captures this. Demographics don't.
Module 2
How RFM Scoring Works
Each customer is scored from 1–5 on each dimension. 5 is the best. Scores are typically assigned by dividing your customer base into quintiles (5 equal groups) ranked by each metric.
-- Step 1: Calculate raw values for each customer
SELECT
customer_id,
-- R: days since last purchase (lower = better)
DATEDIFF(NOW(), last_purchase_date) AS recency_days,
-- F: total number of purchases
total_orders AS frequency,
-- M: total lifetime spend
lifetime_value AS monetary
FROM customers;
-- Step 2: Assign 1-5 scores using NTILE (quintiles)
SELECT
customer_id,
-- R: flip so recent = high score
6 - NTILE(5) OVER (ORDER BY recency_days ASC) AS r_score,
NTILE(5) OVER (ORDER BY frequency DESC) AS f_score,
NTILE(5) OVER (ORDER BY monetary DESC) AS m_score
FROM raw_rfm;
-- Step 3: Combine into RFM string e.g. "543", "111", "555"
SELECT *, CONCAT(r_score, f_score, m_score) AS rfm_score FROM scored_rfm;
Reading the Score
| R Score | F Score | M Score | Combined | What it means |
| 5 |
5 |
5 |
555 |
Champion — bought recently, buys often, spends the most |
| 5 |
1 |
1 |
511 |
New Customer — just bought for the first time, no history yet |
| 1 |
5 |
5 |
155 |
At-Risk Champion — used to be your best customer, now gone quiet |
| 1 |
1 |
1 |
111 |
Lost — hasn't bought in a long time, low frequency, low spend |
| 4 |
4 |
4 |
444 |
Loyal — consistent buyer, good value, not quite champion |
| 5 |
3 |
3 |
533 |
Promising — bought recently but not yet high frequency or value |
| 2 |
3 |
3 |
233 |
At Risk — showing signs of disengagement |
| 3 |
1 |
1 |
311 |
Need Attention — decent recency but one-time buyer |
Module 4
Email Strategy Per Segment
Different segments need completely different email treatment — not just different subject lines, but different cadence, tone, offer depth, and CTA. Here are proven email approaches for the 6 most impactful segments.
Champions
Subject: You're one of our favourites, [Name] 🏆
Preview: "Early access to our new collection + a thank you gift inside."
VIP access email with exclusive preview link. No discount needed — champions respond to exclusivity and recognition, not price cuts. Ask for a review or testimonial.
Send: 2×/month max · Tone: Exclusive, personal · Offer: Early access, VIP status, loyalty points
At Risk
Subject: We miss you, [Name] — here's 20% to come back
Preview: "It's been a while. We've added a lot since you last visited — and we want you back."
Strong win-back with a meaningful discount (15–25%). Show new products or improvements since they last purchased. Create urgency with a deadline.
Send: 3-email sequence over 14 days · Tone: Direct, warm · Offer: 20–25% discount + free shipping
Loyal Customers
Subject: [Name], you've unlocked Gold status 🌟
Preview: "Your loyalty means everything to us. Here's what's waiting for you at Gold level."
Loyalty programme milestone email. Acknowledge their loyalty explicitly, show what they've unlocked, and give a reward that makes them feel valued. Upsell to higher-value products.
Send: 2–3×/month · Tone: Appreciative, aspirational · Offer: Loyalty milestones, upgrade nudges
New Customers
Subject: Welcome to Migomail, [Name] — here's where to start
Preview: "You've just joined thousands of email marketers who send smarter. Here's your starter guide."
3-email welcome series. Email 1: Welcome + key features. Email 2: Social proof + getting started guide. Email 3: Upgrade incentive or first purchase discount.
Send: 3 emails over 7 days · Tone: Helpful, encouraging · Offer: Quick-win content, small incentive
Need Attention
Subject: [Name], it's been a while — anything we can help with?
Preview: "We noticed you haven't been around much lately. Here's what's new — and a little something to say we've missed you."
Re-engagement email with light incentive and fresh content showing what has changed or improved. Ask for preference update if they want to continue receiving emails.
Send: 2-email sequence · Tone: Curious, helpful · Offer: 10–15% discount or content upgrade
Lost
Subject: Last chance — should we keep in touch?
Preview: "We haven't heard from you in a long time. Before we stop sending, we want to give you one final chance to stay."
Re-permission email. Give them a single clear choice: stay on the list (with a reason to) or unsubscribe. Removes low-quality contacts and protects sender reputation.
Send: 1 email · Tone: Direct, honest · Offer: Re-permission CTA — no discount needed
Module 6
Common RFM Mistakes
Treating all segments the same
The entire point of RFM is differentiation. If your Champions and Lost segments are getting the same email, you are wasting the model. Create distinct campaigns for each segment from day one.
Scoring on too short a time window
If your typical purchase cycle is 6 months, using a 30-day recency window will mark most of your loyal customers as "lost". Match your time window to your average inter-purchase interval.
Never re-scoring
A customer who was a Champion 12 months ago may now be At Risk. RFM is a dynamic model — static segments that never update give increasingly misleading results. Re-score quarterly minimum.
Discounting Champions
Champions do not need discounts — they are already buying at full price. Sending them 30% off emails trains them to wait for sales, lowers your margin, and devalues the relationship.
Ignoring the Lost segment
Many marketers just suppress the Lost segment and forget them. A well-crafted re-permission campaign can recover 5–10% of lost customers, and suppressing the rest improves your deliverability metrics.
Using revenue only for M score
Monetary value can also include non-revenue signals like referrals, reviews, or social sharing. For SaaS or media companies, M might be measured in content engagement or feature usage rather than spend.