RFM is a customer segmentation methodology for e-commerce businesses. The insight behind this framework is that customers who purchased recently are more likely to purchase again. Equally, big and frequent spenders are more likely to respond to promotions than small and infrequent spenders. Together, the three metrics give you a way to create lifecycle segments that let you answer questions like: Who are my best customers? Which customers am I at risk of losing? Which customers are best to target with promotions? Which customers can I entice to spend more?
RFM is a customer segmentation methodology for e-commerce businesses. Specifically, it's a lifecycle segmentation methodology that helps you understand which customers are where in their journey. It scores customers on three key metrics to do this:
The insight behind this framework is that customers who purchased recently are more likely to purchase again. Equally, big and frequent spenders are more likely to respond to promotions than small and infrequent spenders.
Together, the three metrics give you a way to create lifecycle segments that let you answer questions like:
In this post we're going to learn how to calculate each of the RFM metrics. From there, we'll see how to combine them to create our lifecycle segments.
The main idea behind RFM metrics is to split your customers into groups based on thresholds in your order data. For each group, you can then assign a simple score, where higher is better. In the standard RFM model, we use quintiles to set the thresholds. I.e. the bottom 20% for the metric get the lowest score, and the highest 20% all get the highest score.
The original reasoning for this is based on the Pareto Principle, which says that 80% of an outcome is determined by 20% of the inputs. Or, in e-comm terms, 20% of the customers drive 80% of the revenue. This is not always true (see the 'Downsides of RFM' section below) but it's a great starting point so let's run with it for now.
Ok, let's get into the individual metrics.
For the recency score, you need to get the date of the most recent order for each customer.
ASIDE: in practice you will probably want to implement this with your data analyst. They will most likely be using SQL to do it - see here for our guide to the SQL for RFM calculations.
Now that we've got the most recent order for each customer, it's quite easy to assign the recency score. We simply sort the customers by their most recent order date, and then divide them into 5 equal groups. The group with the most recent dates get a score of 5, and the group with the least recent date get a score of 1, etc.
The thing we're measuring in the frequency metric is how many orders someone has made. By default, we measure the total number of orders a customer has ever made, but it may make sense for your business to constrain this. For example a complete rebrand two years ago may mean you want to just consider orders from the last two years.
For our example, we're going to use orders from all time, so the first thing we need is to calculate how many orders each customer has had.
When we've got this, we can sort the customers by the order count and split them into 5 groups, just like we did with Recency. The 20% of customers with the most orders get a score of 5, and those with the least get a score of 1.
For monetization, we are measuring how much someone has spent. Similar to frequency, by default we define this as the total someone has spent over all their orders. Again though, you may wish to constrain this to a window of a few years or similar.
The calculation is very similar to frequency. The only difference is that rather than counting the orders we get the sum of the order values.
Ok, so now we've got a score from 1 to 5 for each of our RFM metrics and for each customer. The next step is to combine the scores to assign an RFM segment to each customer.
The logic here is very simple. You define each of the RFM segments you want in terms of a score for each metric. For example, your best customers (called "Champions" in standard RFM) are those that get top marks in each input metric. Equally, your worst customers are those that get bottom marks in each input metric.
For convenience, I've also listed out the common categories and score ranges here:
That is a fairly common segmentation, but the scores are just examples. It's important to think through what makes the most sense to your business. See later on in the post for more detail on how to customize RFM for your business.
This is a big topic in and of itself. The short version is that different segments respond best to different things. Equally, some segments are more valuable than others and so are perhaps worth different amounts of investment.
For example, the "Can't Lost Them" segment above is full of people that were once worth a lot to your business. The reward for re-engaging them is high, and so it may be worth investing in personalized offers and outreach for them.
Alternatively, your "Champions" don't need much encouragement to buy, so it's a waste to send them promotions. Instead you should send them all your latest product lines, suggestions for what else they might like, or encourage them to refer their friends.
It's an exploration of how to think about these different types of segments and some strategies for marketing to each one.
RFM has many strengths, but also a few weaknesses. One of the key weaknesses is that it does not account for the specifics of your business and it tries to take a 'one size fits all' approach that does not always work in practice. As such, to really put it into practice, you will likely want to customize it. Here's a few of the common customizations:
One of the most common things to customize is the thresholds you use for determining scores for each metric. There are many ways to do this, but some common ones are:
The correct one to use depends on the nature of your business so it's worth having a think about your data and what makes the most sense. For example, if many of your customers buy regularly, and there isn't that much difference in customer behaviors, splitting the data into even quintiles is likely best. A good example of a business like this might be a supermarket. On the other hand, if the vast majority of your customers buy only once, then simply splitting customers into those who bought once and those who bought more than once may be best.
Another common thing to customize is the names of the RFM segments. The standard model has a lot of categories, some of which might not be actionable for your business. Equally, they use prescriptive terminology that might conflict with terms already in use in your business.
In practice, it's best to choose the segments that are most actionable and to use the names that mean the most to your team. For example, maybe you already call your best customers your "Loyal Customers". If that's the case then there is no need to confuse things by introducing the terms "Champion" and "Loyalists".
In our experience, most businesses find that having just 5 or 6 lifecycle segments is most effective.
The final most common customization is the cut offs for each RFM segment. Do champions score a 5 in each metric? Or do they score a 4 or 5? Or perhaps they score 5 in frequency and monetization, but a 3 or higher in recency.
There is no right answer here and it really depends on the nature of your business. One factor just might not be as important to your business and only you can really know that. It's best to do an exercise as a team to reach consensus on what you view as most important and then to set the thresholds accordingly.
Hopefully you've come away from this with a good understanding of how the RFM framework works and how to implement it. It's an extremely powerful tool for analyzing your customer lifecycle, especially once you make a few tweaks for your business.
It's viewed by many as the best framework out there, but it's not the be-all and end-all. I'd encourage you to look into other frameworks too to figure out what works best for your business. Every business is in some way unique and as such your customer lifecycle is also unique. It's important that your lifecycle segments reflect reality so it's worth thinking through.
We love this topic and are always happy to talk through some of the tradeoffs with retention and lifecycle experts like you. Don't hesitate to get in touch if you want to bounce some ideas around!