Last update: February 1, 2021
We tried to build one of the most complete guide to RFM analysis & segmentation.
And we are pretty sure we did it.
So if you want to:
- Find out (or learn more) what RFM analysis is
- Learn how to use RFM analysis for customer segmentation
- Learn how to use RFM segmentation to have successful marketing campaigns
Then you’ll love this guide.
Ready? Let’s dive in.
- What is RFM Analysis?
- What does Recency, Frequency, Monetary mean?
- What is RFM Score?
- RFM Analysis for Customer Segmentation
- RFM Analysis Example
- RFM Marketing
- RFM Analysis in Excel
- RFM Model Python
- RFM Analysis using Stride
RFM analysis is a simple but advanced technique used by top marketers around the world to determine which customers are the best and what are their characteristics.
It helps you to see the patterns of your top customers, loyal customers, almost lost customers and the list goes on. It is based on the Pareto Principle, where “80% of your business success comes from 20% of your customers”.
RFM analysis is not something new. Actually, this strategy dates for more than 25 years. Back in the time, direct mailing marketers for NGO’s used this strategy to find out and target the customers most likely to donate.
The idea behind this was simple. If someone made a donation before, he is more likely to donate again. By using RFM analysis they managed to identify exactly who their best customers were.
What does Recency, Frequency, Monetary mean?
Ok, so we found out what RFM analysis is, but what this really means and how it works?
- Recency: how recently a customer bought
- Frequency: how frequently a customer bought
- Monetary: how much money a customer spent
Let’s dive more into it:
So again, we are talking about how recently a customer bought something from you.
If he bought a pair of shoes for example 4 days ago, he is more likely to still have your brand in mind than someone who made his purchase 62 days ago.
If your recent customer from 4 days ago was happy with his sporty pair of shoes the likelihood of engaging in future transactions is higher.
Almost the same thing as Recency but now we are counting the number of orders for the same customer (Frequency).
Let’s name the client before with the pair of shoes, Mark.
If Mark also placed 10 orders in the last 12 months, do you agree that he is more likely to buy again from you than someone who has only 1 order in the past year?
It’s money time.
So what if this guy, Mark, spent $150 in the past 12 months on your store?
Is he a bad customer? I don’t think so because we already saw that he has 10 orders on your store and he also bought recently.
But the problem is that he has an average order value of just $15.
So in this case would you send him email campaigns with products priced $100+? Or would you invest hundreds of dollars in Facebook Ads to show him a nice leather jacket discounted from $499 to $299?
Probably no, because you know that you will just burn those money.
But what you can do in exchange is to send him emails and show ads with products priced under $30 because he will be more likely to buy them.
What is RFM Score?
By using RFM analysis, all your customers get a score from 1-5 (1 being the lowest and 5 being the highest) for each RFM parameter. These numbers give you the RFM score.
So your best customers will be the ones who are ranking “555”.
Because if they got a 5 for each RFM parameter it means that they bought recently from you, they are repetitive buyers and they also spent a lot.
So it’s crystal clear that these are your best customers who also probably drive you most of the revenue.
RFM Analysis for Customer Segmentation
So now you learn the basics.
It’s time to find out how you can use RFM analysis for customer segmentation and what precious insights you can get from your own business.
Here are just a few questions that you might have and you can get answers using RFM segmentation:
- Who are your best customers?
- What customers can become more valuable?
- Which type of customers can and should be retained?
RFM Analysis Example
Let’s assume that the customers in the table above are our customers.
So we have 5 customers and we extract from the database when was their last order (in days), how many orders they placed and how much money they spent.
We’re gonna rank them by Recency first.
We gave Josh “5” because he bought from us 9 days ago and Tom got only “1” because he bought from us 42 days ago. Michael got a “4”, Peter a “3” and Gabriela a “2”.
We will do the same thing for Frequency.
And for Monetary, of course.
We ranked the customers for each RFM parameter and now we have their score.
- Josh: 5 – 2 – 1
- Michael: 4 – 3 – 3
- Gabriela: 2 – 1 – 2
- Tom: 1 – 4 – 5
- Peter: 3 – 5 – 4
What insights can we get from here?
Let’s pick Tom for an example.
Tom bought from us a long time ago but he is a repetitive buyer and he also spends a lot.
We can’t just lose this guy and we should do everything to bring him back!
He is a repetitive buyer (9 orders placed) and he is also a top spender ($473).
But how can we bring him back?
Just to give you a quick example, maybe we should send him a personalized email like “Tom, we miss you! Here is a 25% off discount code to reward you for being a loyal customer”.
So now it’s pretty clear how RFM analysis works.
But how can this segmentation lead you to successful marketing campaigns?
We’ll take two examples here: email marketing and Facebook Ads.
What’s your strategy now?
Maybe you have a weekly newsletter with some offers or maybe you are advanced and you are using email sequencing.
That’s great! But you know what’s the problem? You are sending the same emails to all your customers.
Let’s assume that you have a 25% off deal for some products priced over $1000. It’s a big discount for your customers because they save $250.
But what if 60% of them can’t afford to pay $750 for a product?
This is why it’s important to send hyper-targeted emails to your customers base. With RFM segmentation you can export a list of your “Top Spenders” and voila.
You will send your offer exactly to the customers who are willing to pay for your product.
Facebook Ads is one of the best channels for most of the ecommerce stores. It can give you impressive ROI if you are targeting the right audience.
The problem is that it’s pretty hard to find exactly the right audience.
So why not use your own customer base for this? Because if they already bought from you it’s crystal clear that they are the right audience.
By using RFM analysis you can export a list of your “Top Customers”, import into Facebook Ads Manager and create a lookalike audience starting from this.
So basically Facebook will search for similar people from your list. And yes, your list contains your top customers and this is exactly what you need – other top customers.
RFM Analysis in Excel
Excel is a great tool and you can do a lot of things with it. But can you do a RFM analysis in Excel?
Yes, you can! It’s not easy, but you can.
The first step is to get a list with all your customers and few data about them.
Here it depends on what platform is your store but most CMSs let you export the entire database of your customers.
You need to pay attention to extract the list into XLS or other formats that Excel can read. If you have problems with this and you can download your customers only in PDF for example you can use a convertor.
If you don’t have access to these datas you need to talk with a developer in order to do a quick export for you. Or you can also do it manually.
This is what you need:
- Customer ID or Name
- Last purchase date
- Number of orders
- Total amount spent
Pay attention that you need to set a time frame – this year, last year, all-time, and so on.
If you want to find out exactly how you can perform the RFM segmentation in Excel we found a great tutorial by creately where they explain step by step each formula that you have to use in order to get the results.
RFM Model Python
For those who don’t know, Python is a high-level programming language – according to Wikipedia.
So yes, you need to have good development skills in order to perform to a RFM Model using Python.
You need to import a few libraries before starting:
# Import libraries
import pandas as pd
from datetime import timedelta
import matplotlib.pyplot as plt
But we’ll let the guys from Towards Data Science tell you more about this and what you can do exactly.
RFM Analysis using Stride
As you probably already saw, it’s not easy to do a RFM Analysis but it is very effective and can lead you to higher conversion rates, higher profits and so on.
And this is exactly why we built Stride.
We want to let anyone who is running their ecommerce store with Stripe to perform a RFM analysis in minutes, not hours or days.
Basically, all you have to do is to connect your Stripe account with our software and we’ll extract all the data we need from there.
You will have your RFM analysis ready in a few minutes.
Click here to get early access to use Stride.