Glossary · RFM analysis

What RFM analysis is, and why it matters

RFM analysis is a simple way to rank customers by three metrics: how recently they bought, how often they buy, and how much they've spent. It splits your list into clear groups—champions, loyal buyers, at-risk customers—so you can send targeted campaigns instead of batch blasts. No machine learning, no data scientist required.

Think of it like this

An analogy that sticks

Think about your own relationships. You have friends you talk to every week, friends you check in with every few months, and acquaintances you haven't heard from in a year. If you wanted to reconnect, you'd handle each group differently—text the weekly friend, call the quarterly one, maybe send a casual email to the acquaintance. RFM does the same for your customer base. It separates the VIPs who deserve a special treat from the one-time purchasers who need a reason to come back. The local coffee shop owner who comps a muffin for the daily regular while sending a 'We miss you' postcard to the once-a-year visitor is doing RFM in their head. Your brand just needs to do it at scale with data.

How it works

The mechanic

RFM assigns a score from 1 to 5 for each dimension (with 5 being best). You decide what 'best' means relative to your customer base. Typically, you rank all customers by recency—the 20% who bought most recently get a 5, the next 20% get a 4, and so on. Same for frequency and monetary. So a customer with scores 5-5-5 is your ideal champion: they bought yesterday, they buy all the time, and they spend a lot. A 1-1-1 customer is your dormant one-timer.

Take three real examples from a $3M supplement brand. Customer A: last order 2 days ago, 12 orders total, $1,200 total spend. Recency rank 5 (top 20%), frequency 5 (top 20%), monetary 5 (top 20%). Score: 555. Customer B: last order 30 days ago, 6 orders, $450. Recency 4, frequency 4, monetary 4. Score: 444. Customer C: last order 200 days ago, 1 order, $35. Recency 1, frequency 1, monetary 1. Score: 111.

From these scores, you build segments. 'Champions' might be all customers with recency 4-5, frequency 4-5, and monetary 4-5. 'Loyal' customers could be frequency 4-5 but any recency or monetary. 'At risk' could be recency 1-2, frequency 4-5 (they used to be loyal but haven't been back). Once defined, you can upload these segments to Meta for lookalikes or trigger Klaviyo flows with exactly the right message.

Why brand owners care

The business outcome

When you treat every subscriber the same, you burn list health and leave money on the table. Your best customers get annoyed by discount-bait emails; your lapsed customers ignore generic 'Happy holidays' blasts. RFM gives you a framework to speak to each group in their language.

For a Shopify brand doing $5M a year, a 10% lift in repeat purchase rate from better targeting can add hundreds of thousands in revenue without spending a dime more on acquisition. Klaviyo's 2024 benchmarks show that segmented campaigns drive 46% higher open rates and 101% higher click rates compared to non-segmented campaigns. RFM is the fastest way to get there.

You also get a clear picture of your customer base health. Are you scraping by on one-time buyers while struggling to retain? RFM shows you that. Are your VIPs actually generating most of your profit? It'll prove it. From there, you can decide to invest in retention flows, loyalty programs, or win-back campaigns with confidence, not hunches.

In your stack

How to actually do it

Start in your Shopify admin. Go to Analytics → Reports → Customers over time to see your order and customer data. Export a CSV of orders including customer email, order date, and total price. This gives you the raw material.

In Klaviyo, head to Analytics → RFM Analysis. Klaviyo automatically scores your entire list based on 30-day recency, all-time frequency, and all-time spend. You'll see a 5x5 grid. Hover over a cell to see the customer count, average spend, and predicted gender/age (if available). Click 'Create Segment' to build a dynamic segment that updates automatically. For example, you can create a segment of all 5-5-5 champions and set up a VIP flow that triggers when someone enters.

If you want more control, use Klaviyo's segment builder with conditions like 'Placed Order at least X times' and 'Placed Order within the last Y days'. Combine these to mimic RFM groups without the scores. For Meta, export your Klaviyo segment or upload the champion list as a customer list for a 1% Lookalike. The whole process takes under an hour once you learn the clicks. Or, connect your store to Persona LM for a read-only integration that delivers all six archetypes plus campaign concepts and pre-built segments in about 24 hours free.

A worked example

Applied to a real store

Consider a $4M clean beauty brand on Shopify Plus. They have 30,000 customers, an email list of 25,000, and use Klaviyo and Meta Ads. They run a manual RFM analysis every quarter but want to get faster and more actionable.

After connecting their data to Persona LM, they receive a Customer Activation Map within a day. The map surfaces six behavioral archetypes. One is 'Premium Repeat Buyer'—roughly 8% of customers with scores 555 or 544, average spend $210, and a 32% repeat purchase rate. These customers are the brand's profit engine. Another archetype is 'One-and-Done Promo Hunter'—18% of customers, average spend $45, all bought during a sale and never returned.

The brand uses these archetypes to build two new Klaviyo flows. For Premium Repeat Buyers, they create a 'VIP Early Access' flow triggered by a 5 recency score, offering a pre-launch link with a no-discount first-access pass. For the Promo Hunters, they set up a 'Second Purchase' email series offering a tiered discount (15% off next order if they buy at full price within 14 days), using social proof from the VIP group.

They also upload the Premium Repeat Buyer segment to Meta as a 1% Lookalike audience. Over 30 days, they see a 22% higher email click rate for the VIP flow versus their general newsletter, and the Meta Lookalike yields a 17% lower cost per acquisition compared to interest-based targeting. The Promo Hunter flow converts 8% of recipients to a second purchase, bringing back customers who would have otherwise been dead weight. This isn't from fancier creative; it's from putting the right offer in front of the right eyes using RFM logic.

Watch out

Common mistakes

  • Forgetting to recalculate scores regularly. A high-frequency customer who hasn't bought in 40 days might still look like a champion in a stale score but is actually churning.
  • Sending the same discount to all RFM groups. Your champions don't need a 20% off code to buy; they want early access or exclusivity. Discounting them trains them to wait for sales.
  • Scoring everyone equally without considering product margins. A customer spending $500 on high-margin items is more valuable than one spending $500 on near-wholesale bundles.
  • Creating too many tiny segments. If you end up with 20 groups of 50 customers each, your campaigns become impossible to manage. Start with 5-7 key archetypes and expand later.
See also

Related terms

  • customer-segmentation
  • cohort-analysis
  • klaviyo-segments
  • lookalike-audiences
  • clv
Plain English

RFM analysis in two sentences

RFM analysis is a simple way to rank customers by three metrics: how recently they bought, how often they buy, and how much they've spent. It splits your list into clear groups—champions, loyal buyers, at-risk customers—so you can send targeted campaigns instead of batch blasts. No machine learning, no data scientist required.

When you treat every subscriber the same, you burn list health and leave money on the table. Your best customers get annoyed by discount-bait emails; your lapsed customers ignore generic 'Happy holidays' blasts. RFM gives you a framework to speak to each group in their language. For a Shopify brand doing $5M a year, a 10% lift in repeat purchase rate from better targeting can add hundreds of thousands in revenue without spending a dime more on acquisition. Klaviyo's 2024 benchmarks show that segmented campaigns drive 46% higher open rates and 101% higher click rates compared to non-segmented campaigns. RFM is the fastest way to get there. You also get a clear picture of your customer base health. Are you scraping by on one-time buyers while struggling to retain? RFM shows you that. Are your VIPs actually generating most of your profit? It'll prove it. From there, you can decide to invest in retention flows, loyalty programs, or win-back campaigns with confidence, not hunches.

FAQ

Common questions

  • How is RFM different from segmenting by average order value alone?

    AOV only tells you what customers spend per order. RFM adds recency and frequency, so you know if that high AOV came from a one-time big spender or a repeat buyer. A customer who spent $200 once six months ago is less valuable than one who spent $150 four times in the same period. RFM gives a fuller picture of engagement and momentum.

  • What's the minimum number of customers needed for RFM analysis to make sense?

    You can run RFM with a few hundred customers, but the segments get sharper around 1,000+. With small lists, percentile-based scoring creates evenly sized groups anyway. For DTC brands doing $3M+, you likely have 10,000-50,000 customers, so RFM gives very actionable segments. Even at 500 customers, it beats zero segmentation.

  • Can I do RFM analysis without a data analyst or statistician?

    Absolutely. Klaviyo has built-in RFM analysis under Analytics → RFM Analysis. You see a grid of segments and can create one-click flows. Shopify's customer reports also let you export raw data for a spreadsheet if you're comfortable with Excel formulas. Tools like Persona LM also produce RFM-based archetypes from your existing stack in under a day, zero manual work.

  • How often should I re-run RFM segments for email campaigns?

    At least monthly if you run frequent campaigns. Customer behavior shifts: a top buyer can go quiet in weeks. Stale RFM means you're sending VIP offers to lapsed customers. For automated flows, set your segment definitions with dynamic date ranges (e.g., last purchase 0-30 days) so they update continuously. Persona LM re-audits every time you request, typically weekly.

  • Why do my RFM groups change sizes so much when I update them?

    Because recency is fickle. A customer who hasn't bought in 31 days might drop from a 'recent' to a 'slipping' segment overnight. That's normal—it means you're catching shifts early. Use frequency and monetary score to add stability; a high-frequency customer with a single recency dip is less likely to churn than a low-frequency one. Also, consider cohort analysis alongside RFM to smooth out noise.

Run the audit

See RFM analysis on your own store.

Free. Seven-minute connect. About 24 hours to your six named buyer archetypes plus 18 ranked campaigns.