Back to blog
Metrics

RFM analysis: segment customers by value

The RFM model groups customers by three figures from their order history: how recently they ordered, how often and for how much. An RFM analysis in five steps with a worked example, the segments that come out of it and what to do with each group.

6 October 20269 min read

What is the RFM model?

The RFM model is a way to group customers by three figures from their order history: recency (how recently they last ordered), frequency (how often they ordered) and monetary value (how much they spent). It is a customer value model in the practical sense: it ranks your customers by what they are worth to your shop. An RFM analysis works out that ranking for your own customer list: whoever ordered recently, often and for a lot of money is at the top.

The model assumes that buying behaviour tells you more than traits such as age or where someone lives. You approach a customer who ordered for the eighth time last week differently from one who bought something once a year ago. For a shop with repeat purchases that is a good start for customer segmentation, because the three figures are already in your orders.

Customer value: two meanings

The term customer value has two meanings. The first is the value a customer experiences: what they get from you, set against what it costs them. That is what the models from management theory are about: SERVQUAL, the Kano model and what is called the customer value model there.

The second is the value a customer has for your shop: what they bring in. That is what this article is about. RFM is the practical model for it, because it compares the customers you have now. Customer lifetime value is the sum over time: what a customer brings in for as long as they are a customer.

RFM analysis in five steps

  1. Collect the ordersYou need three things per order: the customer, the date and the amount. They are in the order export of your shop platform. Take out cancelled and fully refunded orders.
  2. Calculate R, F and M per customerChoose a period, for example the last twelve months. R is the number of days since the last order, F the number of orders in the period and M the amount the customer spent in that period.
  3. Give each figure a score from 1 to 5Sort the customers by each figure and split them into five equal groups. The best group gets a 5, the worst a 1. For recency fewer days is better; for frequency and monetary value more is better.
  4. Put the scores side by sideWrite the three scores one after the other, for example 5-4-4. Adding them up loses information: 5-1-1 and 1-1-5 both come to 7, while the first is a new customer and the second a customer who placed one large order a long time ago.
  5. Name the segmentsThree scores from 1 to 5 give 125 combinations. Group them into five or six segments, each with a name and an action.

Five equal groups do not always work for frequency: if many customers ordered once, they all have the same value. Use fixed boundaries for that figure in that case, as in the example below.

Worked example: the RFM score of six customers

Brandpunt Koffie is a made-up shop that sells coffee beans, and the six customers below are made up too. The figures cover the last twelve months. Six customers cannot be split into five equal groups, so in this worked example the boundaries per score are given. With a real customer list they follow from the split into fifths.

ScoreR: days since the last orderF: number of ordersM: amount spent
50-3010 or more€ 400 or more
431-606-9€ 250 up to € 400
361-1203-5€ 120 up to € 250
2121-2402€ 50 up to € 120
1241-3651Less than € 50
CustomerDays since the last orderOrdersSpentScore (R-F-M)Segment
Sanne1211€ 4625-5-5Best customer
Bram417€ 2314-4-3Loyal customer
Noor91€ 345-1-1New customer
Finn202€ 965-2-2Middle group
Daan1506€ 2582-4-4Slipping away
Lotte3101€ 421-1-1Lost

Sanne ordered twelve days ago, eleven times in the year and for € 462: the highest score three times. Daan ordered almost as often as Bram and spent more, but his last order is 150 days old; the R shows that he is on his way out. Noor and Lotte both ordered once for a similar amount. The only difference is recency: Noor is new, Lotte is gone.

RFM segmentation: what to do with each group

The division below is a common one; adjust the boundaries to your own shop. The actions are what shops usually do, not a prediction of what they bring in. Here it is mainly the R and the F that decide the segment; the M tells you how much effort a customer within it is worth.

SegmentScoresWhat you do
Best customersR 4-5, F 4-5 and M 4-5Thank them and give them first access to something new
Loyal customersR 3-5 and F 3-5, outside the best groupInvite them to subscribe or reward the frequency, for example with points or a tier
New customersR 4-5 and F 1A nudge towards the second order: a reminder around the time the product runs out
Middle groupR 3 with F 1-2, or R 4-5 with F 2No separate action; they get your regular e-mails
Customers slipping awayR 1-2 and F 3-5A reminder or a winback offer
Lost customersR 1-2 and F 1-2Stop spending money on them, or send one last e-mail

So at Brandpunt Koffie, Sanne gets a thank-you and early access to a new harvest, Bram an invitation to subscribe, Noor a reminder around the time her first bag runs out and Daan a message asking whether he still has coffee. The shop no longer spends advertising budget on Lotte.

Customer segmentation without RFM: when simpler is enough

Segmenting is dividing your customers into groups that you approach differently. RFM is one way to do that. A small shop can start with two questions: who ordered more than once, and who has not ordered for a while. That gives four groups: new, returning, slipped away and gone after one order. Also keep the limits of RFM in mind:

  • It looks back. It describes what customers did, not what they will do.
  • It says nothing about margin. A customer who only buys at a discount scores high on M and brings in little.
  • A subscriber scores high on frequency by definition: someone who gets a delivery every month has twelve orders in a year. Put subscribers and customers with one-off orders in separate lists before you give scores.

RFM and subscriptions

For subscribers, recency and frequency are set by the rhythm of the deliveries, not by a choice of the customer. What tells you more there: how long the subscription has been running, how often the customer pauses or skips a delivery, and whether payments fail. A subscriber who skips three deliveries in a row is slipping away just like the customer with a low R. How to measure subscriptions that stop is covered in the article on churn rate.

RFM next to customer lifetime value

RFM and customer lifetime value each answer a different question. RFM sorts today's customers: who is worth a lot now, who is about to leave. Customer lifetime value estimates what a customer brings in over the whole time they are a customer. Use them side by side. Customer value over time decides what you can spend to acquire a customer; the RFM segments decide who you address this month and with what.

Using it with Loyalo

Loyalo does not calculate RFM scores. You make the analysis above yourself, with the order export of your shop platform. What Loyalo does have are building blocks for segmentation on the M and the F:

  • The Customers page, with tabs for all customers, B2C and B2B. You search by name or e-mail, filter by tier, points and subscription, and sort by amount spent, number of orders and average order value, among other things.
  • An export: 'Export (CSV)' on that page downloads all your customers.
  • Tiers: customers are placed in a level by total spent, number of orders, points earned or volume, over all time or over the last 12 or 24 months. That is segmentation on the M or the F with a benefit attached: a discount, free shipping or earning points faster. If you choose a period, the orders Loyalo processed itself count.
  • Profile fields in Klaviyo: Loyalo puts a customer's tier and points balance, among other things, on the Klaviyo profile. You build the segments there yourself.
The Tiers page in Loyalo: per tier the name, the threshold, the discount, the points multiplier and extra perks
The Tiers page: the threshold and the perks per tier.

Common mistakes

  • Adding the scores up to one number. A 5-1-1 and a 1-1-5 then become the same customer.
  • Subscribers and one-off buyers in one list. The subscribers then take the highest F scores.
  • Too many segments. If you have no different message for a group, merge it with another one.
  • Counting returns and cancellations. Someone who orders three times and sends everything back twice is not a customer with three orders.
  • Calculating once and never again. Scores go out of date; recalculate at a fixed moment, for example every quarter.

Frequently asked questions

What is the RFM model?

The RFM model is a way to group customers by three figures from their order history: how recently they ordered, how often and for how much. Every customer gets a score per figure, and the combination decides which segment they fall into.

What does RFM stand for?

RFM stands for recency, frequency and monetary value: how recently a customer last ordered, how often they ordered and how much they spent.

How do you do an RFM analysis?

Calculate per customer over a period, for example twelve months, the days since the last order, the number of orders and the amount spent. Give each figure a score from 1 to 5 by splitting the customers into five equal groups. Group the combinations into a handful of segments, each with its own action.

What is an RFM score?

An RFM score is the combination of three scores from 1 to 5: one for recency, one for frequency and one for monetary value. A 5-5-5 is a customer who ordered recently, often and for a lot; a 1-1-1 is a customer who placed one small order a long time ago.

What is customer segmentation?

Customer segmentation is dividing your customers into groups that resemble each other, so that you can give each group a fitting message or offer. You can segment by buying behaviour, as RFM does, but also by product, channel or type of customer.

What is a customer value model?

A customer value model is a way to map customer value. In management theory it is about the value a customer experiences; for an online shop it is usually about what a customer brings in. RFM and customer lifetime value are models of the second kind.

What is the difference between RFM and customer lifetime value?

RFM sorts your current customers by their recent buying behaviour and gives a score per customer. Customer lifetime value is an amount: what a customer brings in over the whole time they are a customer. With RFM you choose who to approach now, with customer lifetime value what you can spend on acquisition.

Group your customers with tiers

In a demo we show how the Customers page, tiers and the Klaviyo integration work in Loyalo.

Request a demo

Ready to sell subscriptions inside Shopify?

No per-order fee, no redirect, no hassle. Just native subscriptions.