RFM analysis / customer segmentation

RFM analysis is a simple tool that helps us divide customers into groups according to their buying behaviour. We do this so that we can work differently with these groups in our marketing communications.

What is RFM analysis/RFM segmentation

RFM analysis, or RFM segmentation, is one of the relatively basic customer segmentations. This analysis segments customers according to:

  • Recency – when was the last time the customer made a purchase
  • Frequency – how often the customer has purchased (number of purchases divided by the time between the first purchase and the time of calculation)
  • Monetary – what total amount the customer has purchased in the past

Before we start working with data, we need to consider:

  • what we actually want from each customer group,
  • how we plan to work with them in the future, and whether we’re even capable of doing that,
  • how often the analysis will be carried out.

Since customers are constantly shopping with us, the input data is always changing. If we only use RFM analysis data for email marketing going out once a month, we most likely only need to do the analysis right before sending. If we’re doing analysis for the needs of multiple channels running almost continuously, a month-old analysis can absolutely invalidate the targeting.

Clearly, input data that is 10 years old will not perform the same function as recent data. Therefore, older data should be processed with a different data weight than the current information (see Modifiers section for more information).

Extreme values in RFM analysis

RFM segmentation also works with customers at extreme values. These customers can be excluded from the analysis after the initial segmentation and are dealt with individually. Typically, it may be an e-shop with thousands of common customers and one wholesale customer with different purchasing conditions. This wholesale customer would normally be excluded from the analysis and dealt with individually.

In the simplest version of the segmentation, we add up the number of each segment and get the RFM score. Next, we work with customers with the same score in the same way. In the more complex variant, we also assign a weight to each of the RFM groups. Alternatively, we create segments using other methods (read more in the section on segment creation).

Ordinarily, Recency is considered the element with the highest weight and Monetary the element with the lowest. This is often an element of many debates and there are many business factors to consider.

What do I need for RFM analysis?

For RFM analysis we need to know 4 basic data:

  • User/customer identifier
  • Transaction/purchase identifier
  • Purchase size
  • Date of purchase

How much do we care about historical data?

The history of the data depends on the business area of the company. Generally speaking, the more often customers buy from you, the shorter the time period we are interested in. Of course, it depends on what we need to find out what we want to use the data for. On the other hand, if we want to track the development of customers over time, we need as much data as possible from the present to deep history.


  • E-shop with fast-moving consumer goods – the most up-to-date data; within a few months
  • Car dealer – time span of several years, as most people do not buy a car every month

Creating segments

After we have a count for each customer:

  • when was the last time the customer made a purchase,
  • how often the customer makes a purchase,
  • the total amount of his spending

It is necessary to create customer segments based on this data – to set the boundaries of when customers belong together and when they no longer do.

In our opinion, this is the most difficult part of the RFM analysis. We can choose several possible techniques here, where we assign each of the RFM values to a group of a predetermined size or divide this group into a certain number of equally sized parts. We can also use more complex clustering analysis methods.

Possible modifiers

We can use the RFM analysis as inspiration and calculate it from other variables, for example, calculate it from gross profit instead of the purchase price

Furthermore, we can calculate RFM analysis only from a certain segment, either customers or products sold.If we modify any standard analysis, we first need to know the business of the company, its maturity and understand why and how we are modifying the analysis.

What to do with this data?

Data and information from any analysis should not just sit around but be used. The results of RFM analysis are most often used to determine the difference in communication with customers. Therefore, it is necessary to get this information into advertising and communication systems.

The most common group names used are:

  • Champions
  • Potential Loyalists
  • New
  • Promising
  • Loyal
  • Need attention
  • About to sleep
  • Can’t lose them
  • At risk
  • Hibernating

These groups may contain multiple adjacent segments. The number of groups and segments is most often influenced by how many we are able to communicate with at once.

How to visualize this data

RFM analysis is most often visualized on a three-dimensional graph (cube) where “each” customer fits into one of the quadrants.

Source: https://www.researchgate.net/figure/The-data-visualization-based-on-RFM-analysis_fig1_340356463

Advantages and disadvantages of RFM analysis


  • Simplicity, if we use a simple determination of segments
  • Need for only 4 variables
  • Relatively simple to understand

Disadvantages of RFM segmentation

One major disadvantage is that RFM analysis does not address:

  • what customers buy,
  • whether it’s the same product or whether they buy something different every time,
  • whether they gradually buy complementary goods to the main product
  • etc.

Want to look at your customer data from different perspectives? Need help with RFM analysis? Contact us.

Scroll to Top