RFM Customers Segmentation Model

RFM Customer Model - How it Works?

Our intelligent system observes customers' shopping behavior without getting into the nitty-gritty technical details. It watches how recently each customer made a purchase, how often they come back, and how much they spend. The system notices patterns and groups customers accordingly.

This smart system doesn't need you to say, "Anyone who spends over $1000 is a champion." It figures out on its own who the champions are by comparing all the customers to one another.

When we talk about 'champion' customers in the context of RFM analysis, we're referring to those who are the most engaged, recent, and valuable. The system's approach to finding these champions is quite intuitive yet sophisticated.

Here's how it operates:

  1. Observation: Just like a keen observer at a social event, the system starts by watching—collecting data on when each customer last made a purchase (Recency), how often they've made purchases over a certain period (Frequency), and how much they've spent in total (Monetary).

  2. Comparison: Next, the system compares each customer to every other customer. It looks for natural groupings—clusters of customers who exhibit similar purchasing patterns. For example, it might notice a group of customers who shop frequently, no matter the amount they spend, and another group that makes less frequent but more high-value purchases.

  3. Group Formation: Without being told what criteria to use, the system uses the data to form groups. Customers with the most recent purchases, highest frequency, and highest monetary value start to emerge as one group—these are your potential 'champions.' The system does this by measuring the 'distance' between customers in terms of RFM factors, grouping those who are closest together in their purchasing behavior.

  4. Adjustment: The system then iterates, refining the groups by moving customers until the groups are as distinct and cohesive as possible. It's a process of adjustment and readjustment, seeking out the pattern that best fits the natural divisions in the data.

  5. Finalization: Once the system settles on the best grouping, it has effectively ranked customers, identifying those who are the most valuable across all three RFM dimensions. These are your 'champions,' but the system also recognizes other groups, like new customers who've made a big initial purchase or long-time customers who buy less frequently but consistently.

By using this method, the system takes on the complex task of understanding the many ways customers can be valuable to a business. It provides a nuanced view that goes beyond simple categorizations, recognizing the diversity of customer value. The result is a highly tailored strategy for customer engagement that aligns perfectly with the actual behaviors observed, allowing businesses to interact more effectively with each segment, especially the 'champions' who drive a significant portion of revenue.

Why is ML better than rules-based segmentation?

Here’s why this machine learning approach is more powerful than manual labeling:

  1. Adaptive Learning: The system continuously learns and adapts based on actual behavior, not on pre-set rules that might miss the nuances of how customers are interacting right now.

  2. Time Efficiency: It saves you a mountain of time. No more going through lists of transactions manually to score each customer. The system does it instantly.

  3. Personalized Grouping: Because it’s based on actual behavior, the system creates groups that are tailor-made for your specific customer base and business model, rather than relying on broad, one-size-fits-all categories.

  4. Scalability: Whether you have a hundred customers or a million, this smart system can handle the job. Manual scoring becomes impractical as your customer base grows.

  5. Unbiased Decisions: The system is objective, based purely on data. There’s no risk of human bias that might categorize customers based on assumptions or incomplete information.

In essence, this smart approach to customer grouping helps businesses focus their energy where it counts, creating a personalized experience for each customer, just like a thoughtful host at a party who knows exactly who likes what. It’s about making everyone feel special without having to ask them a single question.

RFM Model Scores

In the RFM model in Graphite Note, the intelligent system categorizes customers into segments based on their Recency (R), Frequency (F), and Monetary (M) values, assigning scores from 0 to 4 for each of these three dimensions. With five scoring options for each RFM category (including the '0' score), this creates a comprehensive grid of potential combinations—resulting in a total of 125 unique segments (5 options for R x 5 options for F x 5 options for M = 125 segments).

This segmentation allows for a high degree of specificity. Each customer falls into a segment that accurately reflects their interaction with the business. For example, a customer who recently made a purchase (high Recency), buys often (high Frequency), and spends a lot (high Monetary) could fall into a segment scored as 4-4-4. This would indicate a highly valuable 'champion' customer.

On the other hand, a customer who made a purchase a long time ago (low Recency), buys infrequently (low Frequency), but when they do buy, they spend a significant amount (high Monetary), might be scored as 0-0-4, placing them in a different segment that suggests a different engagement strategy.

By scoring customers on a scale from 0 to 4 across all three dimensions, the business can pinpoint exact customer profiles. This precision allows for highly tailored marketing strategies. For example, those in the highest scoring segments might receive exclusive offers as a reward for their loyalty, while those in segments with room for growth might be targeted with re-engagement campaigns.

The use of 125 segments ensures that the business can differentiate not just between generally good and poor customers, but between various shades of customer behavior, tailoring approaches to nurture the potential value of each unique segment. This granularity facilitates nuanced understanding and actionability for marketing, sales, and customer relationship management.

Model Scenario

Wouldn't be great to tailor your marketing strategy regarding identified groups of customers? That way, you can target each group with personalized offers, increase profit, improve unit economics, etc.

RFM Customer Segmentation Model identifies customers based on three key factors:

  • Recency - how long it’s been since a customer bought something from you or visited your website

  • Frequency - how often a customer buys from you, or how often he visits your website

  • Monetary - the average spend of a customer per visit, or the overall transaction value in a given period

Let's go through the RFM analysis inside Graphite Note. The dataset on which you will run your RFM Model must contain a time-related column, given that this report studies customer behavior over some time.

We need to distinguish all customers, so we need an identifier variable like Customer ID.

If you might have data about Customer Names, great, if not, don't worry, just select the same column as in the Customer ID field.

Finally, we need to choose the numeric variable regard to which we will observe customer behavior, called Monetary (amount spent).

That's it, you are ready to run your first RFM Model.

RFM Model Results

As we now know how to run RFM model analysis in Graphite Note, let's go through the Model Results. The results consist of 7 tabs: RFM Scores, RFM Analysis, Recency, Frequency, Monetary, RFM Matrix, and Details Tabs. All results are visualized because a visual summary of information makes it easier to identify patterns than looking through thousands of rows.

RFM Scores

On the RFM Scores Tab, we have an overview of the customers and their scores:

Then you have a ranking of each RFM segment (125 of them) represented in a table.

And finally, a chart showing the number of customers per RFM score.

RFM Analysis

RFM model analysis ranks every customer in each of these three categories on a scale of 0 (worst) to 4 (best). After that, we assign an RFM score to each customer, by concatenating his numbers for Recency, Frequency, and Monetary value. Depending upon their RFM score, customers can be segregated into the following categories:

  • lost customer

  • hibernating customer

  • can-not-lose customer

  • at-risk customer

  • about-to-sleep customer

  • need-attention customer

  • promising customer

  • new customer

  • potential loyal customer

  • loyal customer

  • champion customer.

All information related to these groups of customers, such as the number of customers, average monetary, average frequency, and average recency per group, can be found in the RFM Analysis Tab.

There is also a table at the end to summarize everything.


According to the Recency factor, which is defined as the number of days since the last purchase, we divide customers into 5 groups:

  • lost

  • lapsing

  • average activity

  • active

  • very active.

In the Recency Tab, we observe the behavior of the above groups, such as the number of customers, average monetary, average frequency, and average recency per group.


As Frequency is defined as the total number of purchases, customers can buy:

  • very rarely

  • rarely

  • regullary

  • frequently

  • very frequently.

In the Frequency Tab, you can track down the same behavior of the related groups, as with the Recency Tab.


Monetary is defined as the amount of money the customer spent, so the customer can be a :

  • very low spender

  • low spender

  • medium spender

  • high spender

  • very high spender.

In the Monetary Tabs, you can track down the same behavior of the related groups, as with the Recency Tab.

RFM Matrix

The RFM Matrix Tab represents a matrix, showing the number of customers, monetary sum and average, average frequency, and average recency (with breakdown by Recency, Frequency, and Monetary segments).


All the values related to the first five tabs, with much more, can be found on the Details Tab, in the form of a table.

The RFM model columns outlined in your system provide a structured way to understand and leverage customer purchase behavior. Here’s how each column benefits the end user of the model:

  1. Monetary: Indicates the total revenue a customer has generated. This helps prioritize customers who have contributed most to your revenue.

  2. Avg_monetary: Shows the average spend per transaction. This can be used to gauge the spending level of different customer segments and tailor offers to match their spending habits.

  3. Frequency: Reflects how often a customer purchases. This can inform retention strategies and indicate who might be receptive to more frequent communication.

  4. Recency: Measures the time since the last purchase. This can help target re-engagement campaigns to customers who have recently interacted with your business.

  5. Date_of_last_purchase & Date_of_first_purchase: These dates help track the customer lifecycle and can trigger communications at critical milestones.

  6. Customer_age_days: The duration of the customer relationship. Long-standing customers might benefit from loyalty programs, while newer customers might be encouraged with welcome offers.

  7. Recency_cluster, Frequency_cluster, and Monetary_cluster: These categorizations allow for segmentation at a granular level, helping customize strategies for groups of customers who share similar characteristics.

  8. Rfm_cluster: This overall grouping combines recency, frequency, and monetary values, offering a holistic view of a customer's value and engagement, essential for creating differentiated customer journeys.

  9. Recency_segment_name, Frequency_segment_name, and Monetary_segment_name: These descriptive labels provide intuitive insights into customer behavior and make it easier to understand the significance of each cluster for strategic planning.

  10. Fm_cluster_sum: This score is a combined metric of frequency and monetary clusters, useful in prioritizing customers who are both frequent shoppers and high spenders.

  11. Fm_segment_name and Rfm_segment_name: These labels offer a quick reference to the type of customer segment, simplifying the task of identifying and applying targeted marketing actions.

Testing the Model:

Seeking assurance about the model's accuracy and effectiveness? Here's how you can address these concerns:

  1. Validation with Historical Data: Show how the model’s predictions align with actual customer behaviors observed historically. For instance, demonstrate how high RFM scores correlate with customers who have proven to be valuable.

  2. Segmentation Analysis: Analyze the characteristics of customers within each RFM segment to validate that they make sense. For example, your top-tier RFM segment should clearly consist of customers who are recent, frequent, and high-spending.

  3. Control Groups: Create control groups to test marketing strategies on different RFM segments and compare the outcomes. This can validate the effectiveness of segment-specific strategies suggested by the model.

Building Trust in the Model:

  1. A/B Testing: Implement A/B testing where different marketing approaches are applied to similar customer segments to see which performs better, thereby showcasing the model's utility in identifying the right targets for different strategies.

  2. Benchmarking: Compare the RFM model’s performance against other segmentation models or against industry benchmarks to establish its effectiveness.

Last updated