RFM – Recency, Frequency and Monetary

RFM is a way of ranking your active customers based on profitability and frequency on a discrete scale of 1 to 5. Your most active customers will get a 5 and the least active will get a 1. RFM ranking is a great tool to understand who your top customers are and where extra efforts are needed to increase sales.

The RFM calculation is based on three factors:

  • Recency – How recently the contact made a purchase
  • Frequency – How frequently the contact makes purchases
  • Monetary – How much money the contact has spent

The ranking is calculated regularly for your active customers based on if they've made a purchase in the last X days (often 365 days). This will determine the amount of days of historical transactions that will be included in the RFM calculations.

In other words:

  • R = when the last purchase was made during these 365 days
  • F = how often the customer made a purchase in the last 365 days
  • M = how much the customer has spent during these 365 days




The top 20 % for each factor will be assigned a 5, the next a 4, and so on. All customers will have a number between 1 and 5 for each factor. This results in many different combinations to use as criteria in your segmentation, analysis or as a valuable input to your overall customer data management.

The model can be used to create a strategy to retain, reward and develop customers. Example:

R F M Classification Action
5 5 5 Top customers Reward
4–5 4–5 2 B customers Motivate purchase
1–2 1–2 1–2 C customers Retain
3 3 3 B customers Develop
3 1–2 4 B customers Drive to store
3 4 4 B customers Develop
3 4 4 A customers Reward
1 2 1 C customers Retain


The calculation in more detail

To calculate the different values, we look at the transactions falling within the span specified in Max days. Based on this, we divide all contacts into a number of segments specified in Number of segmentations, usually 5. We do this once for each value (R, F and M). 

For Recency (R), we look at the creation date of transactions  and where they lie in time. The 20% of customers with the most recent purchases are placed in the bucket (group) for R = 5, while the 20% with the least recent purchases get put in the group for R = 1.  Transactions containing only returns or no purchases are not counted when calculating the latest purchase.

For Frequency (F), we consider the number of transactions within the specified period. The 20% with the most transactions will get an F of 5, and the 20% with the fewest will get F = 1. Transactions containing only returns or no purchases are not included in these calculations.

For Monetary (M) we look at the sum of all transactions made by the customer during the specified period. The 20% of customers with the largest sum will get an M of 5, and the 20% with the lowest sum will get the value 1. All purchases and returns will be included in this calculation

Note that in some models, RFM is quoted as a number sequence consisting of the three bucket values for the contact, such as "531 in RFM". This is not how Voyado does it.

The next step is to calculate a value between 0 and 100. We do this by using the R, F and M values we just calculated for each contact and then multiply these by an individual weighing factor (let's call them Rw, Fw and Mw). These weighing factors allows us to determine which of R, F and M we consider to be the most important for us right now. Together, they should add up to 100.

For example, Rw = 40, Fw = 30, Mw = 30.

The calculation of the RFM for each customer is done like this: 

((R * Rw) + (F * Fw) + (M * Mw)) / number of buckets

For example, with 5, 5, 5 and Rw = 50, Fw = 30, Mw = 20 and 5 buckets, you get:

(250 + 150 + 100) / 5 = 100 

For 3, 4, 1, customer's RFM is (150 + 120 + 20) / 5 = 58 

For 5, 4, 1, customer's RFM is (250 + 120 + 20) / 5 = 78 

For 1, 1, 5, customer's RFM is (50 + 30 + 100) / 5 = 36 

For 5, 1, 1, customer's RFM is (250 + 30 + 20) / 5 = 60

Regular stores based on RFM

Engage has a term called "Regular store" that is used to connect a customer to a specific store based on their buying behavior (their RFM). To ensure a fair grading, each factor is weighted between 0 and 100 and it is up to you to decide how this should be set up. Example:


If you consider recency, frequency and monetary to be equally important the weighted value will be 33/33/34 for each factor. But if you consider frequency and monetary to be more important than recency the weighted value can be set to 40/40/20.

Curious to learn more?

All Voyado customers and partners can request access to our online training center Voyado Academy where there’s a full course about RFM in Engage.

Was this article helpful?
7 out of 7 found this helpful



Article is closed for comments.