Customer Segmentation using RFM Analysis

Customer Segmentation using RFM Analysis

How well do you know your customers? Whether you operate in a B2B or B2C space, chances are that 80% of your business comes from just 20% of your customers (Pareto's Principle). According to a study by Forbes, acquiring new customers costs five times more than retaining the existing ones. Identifying high-value customers is crucial to increase revenue and building brand loyalty.

Customer Segmentation is a critical strategy for businesses to understand and engage with customers effectively. Understanding the behavioral patterns of customers can help personalize the purchases they make and cater to their needs better. 

Questions like who are the customers who contribute more to sales, who are the customers about to churn, will help digital marketers understand the behavioral patterns of their customers. 

While there are many criteria based on which the customer base can be segmented, this solution focuses on segmenting customers based on the RFM analysis.

What is RFM Analysis?

RFM analysis (Recency, Frequency and Monetary) is a method used to identify and segment existing customers based on their purchasing behavior.  The key metrics of RFM analysis include

Recency

Recency refers to how recently a customer has made their purchase and this is the most important metric of the other metrics. This metric is a strong indicator of customer loyalty and interest.

Frequency

Frequency refers to how often a customer makes purchases or interacts with a business within a specific period. It measures the level of engagement and loyalty of a customer.

Monetary

Monetary value refers to the total amount of money a customer has spent with a business during a specific period. 




Industry-Specific Applications of RFM Analysis

  • SaaS and subscription services: RFM analysis can be adapted for SaaS and subscription services to segment users based on engagement, renewals, and revenue contribution.
  • Financial Sector: RFM analysis can improve credit scoring and risk assessment by evaluating customer transaction patterns, helping financial institutions make more informed loan approval decisions.

Data Requirements

For RFM analysis, you'll need a transactional dataset with the following equivalent columns (details) 
  • A product (Product ID)
  • A related transaction (Transaction ID)
  • Number of products purchased in a transaction (Product Quantity)
  • The product purchase price (Product Price)
  • Transaction date (Date)
  • Customer who made the purchase (Customer ID, Customer Name)
We have used a sample table of e-commerce data for illustration.

Steps for Implementing RFM analysis

1. Gather and Prepare Transaction Data : 

Gather all transaction data, ensuring it includes customer identifiers, transaction dates, and monetary amounts, and address missing or inconsistent values, ensuring data integrity before analysis.

2. Compute RFM Metrics: 

To segment customers based on their behavior, we compute three key metrics: Recency (R), Frequency (F), and Monetary Value (M). Below are SQL queries for each, along with detailed explanations.

Recency (R)

Recency measures how recently a customer made a purchase. It is calculated as the number of days since their last transaction. Customers with recent purchases are more engaged, while those who haven’t bought in a long time may be at risk of churn.

The time frame for RFM analysis should be tailored to your business model and industry. Choosing the right period for RFM analysis is essential, as it directly influences the accuracy of customer segmentation and the quality of insights derived.

Frequency (F)

Frequency tracks how often a customer makes purchases within a specific period. A higher frequency indicates a loyal customer who regularly shops, while a lower frequency suggests occasional or one-time buyers.

Monetary Value (M)

The total amount spent by the customer in the same period

RFM Query Table

SELECT
"Customer ID",
"Customer Name",
DAYS_BETWEEN(MAX("Transaction Date"), CURRENT_DATE()) AS "Recency",
COUNT ("Order ID") AS "Frequency",
SUM("Transaction Amount") AS "Monetary Value"
FROM  "Customer Data" 
GROUP BY "Customer ID",
  "Customer Name" 
ORDER BY "Recency" ASC,
  "Frequency" DESC,
"Monetary Value" DESC 



3. Segment Customers using Cluster Analysis

Manual scoring can skew the results and may not be practical for handling large volumes of data. In contrast, using machine learning algorithms like cluster analysis ensures unbiased, efficient, and data-driven segmentation. Unlike traditional scoring methods such as the quantile or percentile-based approach, cluster analysis recognizes inherent relationships and patterns in the data. With cluster analysis, business can obtain accurate segmentation and devise targeted strategies to improve sales and customer retention.

Follow the below steps to apply cluster analysis,
  1. Click the Create New icon and choose New chart from the drop-down menu.
  2. Add the columns to the chart shelf as shown below,
    1. X-axis: Customer Name
    2. Y-axis: Monetary Value with Sum function.
  3. Click Generate Graph and change the chart type to bar chart.

  4. Click the Analysis icon and select Cluster Analysis > Add Clusters.
  5. The Model is chosen automatically based on the columns dropped in the shelves.
  6. By default, the columns dropped in the shelves (Monetary Value) are selected as factors. Click the drop-down icon to include Recency and Frequency columns as factors.

  7. The number of clusters is determined automatically but can be adjusted based on business needs and specific customer segmentation goals to ensure optimal categorization.
  8. Choose the Normalization method to prevent values of high ranges from dominating the results. For instance, Recency (measured in days) and Monetary Value (measured in currency) have different scales, and normalization ensures a balanced contribution from each metric.
  9. Click Apply.

4. Export Clusters Data

Once the customer profiles have been segmented using cluster analysis, Export the Current view in the preferred table format to build more data visualizations to understand the clusters.


Build an RFM Analysis Dashboard

The RFM analysis dashboard provides a comprehensive view of customer behavior. Let's look at the steps involved in building this dashboard.

1. Import the Clusters Data

Import the downloaded clusters table back into Zoho Analytics using the files option as given below.
  1. Click the New icon on the side navigation panel and choose New Table/ Import Data.
  2. Select files and choose the Clusters Table to import and click Next.
  3. A data preview will be displayed; verify the data types of columns and click Create.

2. Create Reports to Understand the Characteristics of the Clusters

While the data is clustered, understanding the characteristics of each cluster is what enables businesses to take strategic actions. This includes identifying which customers need targeted marketing, personalized engagement, or retention efforts. Recognizing patterns within clusters provides insights into customer behavior, which is essential for optimizing marketing campaigns, improving retention strategies, and enhancing customer experience.
The below reports help understand the distribution of customers across different monetary value, recency and frequency segments within each cluster.

Clusters vs Monetary Value 

  1. Access the cluster table (imported data) and click the new icon > chart view.
  2. Drag and drop the columns as given below:
    1. X-axis - Clusters
    2. Y-axis - Monetary Value with the Count function.
    3. Color - Monetary Value with the Actual Range function.

Analyzing the chart, we can infer that,
  • Cluster 1 consists of a diverse group of customers spanning all spending levels.
  • Cluster 2 includes moderate to high spenders who contribute significantly to revenue.
  • Cluster 3 comprises low to mid-range spenders, often occasional buyers.
  • Cluster 4 represents high-value customers with premium spending habits.
  • Cluster 5 consists primarily of low spenders with minimal purchasing activity.
You can similarly create reports to know about the distribution of customers for the Recency and Frequency metrics.

The below table lists the characteristics of clusters

Cluster
Cluster Classification
Recency
Frequency
Monetary
Recommended actions
Cluster 1
Needs Attention
100 to 150 days
Low to Moderate 
 Diverse spending
Re-engagement campaigns, discounts, or reminders to encourage repeat purchases.
Cluster 2
Loyalist
0-50 (Highly Active)
High
Consistent moderate-to-high spenders
Loyalty programs, exclusive deals, early access to new products to maintain engagement.
Cluster 3
Potential Loyalist
0-50 (Active)
Low to Moderate  Budget-conscious, occasional buyers Cross-selling, personalized recommendations, and value-based promotions.
Cluster 4
Champions
100-150 (Inactive)
Moderate to High (Frequent buyers)
High spenders
VIP experiences, personalized services, and premium offers to retain and enhance their spending.
Cluster 5
Hibernating
Mostly inactive or infrequent
Low
Minimal spending
Win-back campaigns, incentives, special discounts, and targeted ads to regain interest.


Based on the above table, you can give specific labels to the clusters using the bucket columns option.

RFM Dashboard


Limitations & Considerations of RFM Analysis

While RFM analysis is a powerful customer segmentation tool, businesses should be aware of certain limitations and factors that can influence results:

  • Data Freshness and Relevance: RFM analysis relies on transactional data, making the freshness and relevance of this data crucial for accurate customer segmentation. Setting up automated data imports ensures real-time updates, reducing the risk of working with stale data.
  • Seasonal Variations: Customer purchasing behavior often fluctuates due to seasonal trends, holidays, and industry-specific cycles, which can impact RFM scores and lead to misleading segmentation if not accounted for properly. Instead of analyzing only recent months, compare customer behavior for the same period in previous years to detect true engagement patterns.

      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • Sticky Posts

          • What's New in Zoho Analytics - June 2026

            Hello Users! This month is about meeting your data wherever it lives: reaching it from AI assistants, bringing it in from more sources, and keeping it flowing with less manual effort. Here's what's new across Ask Zia and AI, data import, integrations,
          • What's New in Zoho Analytics - February 2026

            Hello Users! We're back with another round of updates for Zoho Analytics. This month's release focuses on giving you greater flexibility in how you visualize, manage, and act on your data - with new features like custom visualizations, remote MCP server,
          • What's New in Zoho Analytics - May 2026

            Hello Users! We're back with another round of updates for Zoho Analytics. This month's release focuses on giving you greater flexibility in how you visualize, manage, and act on your data. We are introducing richer data visualizations, smarter AI-powered
          • What's New in Zoho Analytics - January 2026

            Hello Users! We are starting the year with a strong lineup of updates, marking the beginning of many improvements planned to enhance your analytics experience. Explore the latest improvements built to boost performance, simplify analysis, and help you
          • What's New in Zoho Analytics - November 2025

            We're thrilled to announce a significant update focused on expanding your data connectivity, enhancing visualization capabilities, and delivering a more powerful, intuitive, and performant analytics experience. Here’s a look at what’s new. Explore What's

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ



                                ご検討中の方

                                  • Recent Topics

                                  • Export Campaign to another document?

                                    How can I export my Campaign to Word and PDF? I want to create a PDF archive on my website with old campaigns /Peter
                                  • Filter isn't

                                    The ability to filter the history of a given flow to a specific status however it would be great to have the ability to filter to a status that isn't something for example if i want to find all history that isn't complete.
                                  • What's New in Zoho Inventory | April & May 2026

                                    Hello users, We're excited to roll out the latest Zoho Inventory updates for April and May 2026. These enhancements are designed to make your daily operations smoother and more efficient, from advanced inventory management and flexible pricing to automated
                                  • Old Gmail inbox migration to Zoho mail

                                     Hi, I have been checking Zoho products for a while. This week finally decided to migrate my company mail accounts from Gmail to Zoho. I was looking for sometime and could not found a way to perform this; only found the way to take a backup of my old account into Zoho connecting throught pop3 server; but I'm not looking for that, I want that in my new Zoho Mail inbox appear all my mail messages and conversations as I see it in Gmail. Searching in Google and in Zoho Mail docs the workaround begun
                                  • Zoho CRM Copilot Connector

                                    Hello, Are there plans to release a connector for Zoho CRM and Copilot? I'm in the early research stages of potentially switching our CRM solution to Microsoft Dynamics because of its out of the box integration with Copilot. The advantage being that we
                                  • 100 Rows in a Subform is too limited

                                    We have a custom Module in CRM called Price Sheets, when we get a PO from a client we add the items from the PO to it and then check with our vendors for pricing and add our margin etc And after it is complete we have setup custom scripts to create a
                                  • Drop Down Menu - Adding up values

                                    I have a form that has 22 drop down fields each having a value of 0-10 to choose from. Is it possible to have it add up the total value of those selected numbers and have it tally it up in another field at the end? So example: if each of the 22 fields
                                  • [Webinar] Conversational AI: The new paradigm for agentic analytics

                                    From hard coding to powerful agents, data and analytics is undergoing a tectonic shift, and conversational agents are at the forefront of this transformation. This goes beyond democratizing business intelligence; it's about accelerating the path from
                                  • Make Rich Text fields available in Canva Print Views

                                    Everything is on the title. I don't really understand why this is not already possible as Rich Text Fields are available in Canva Detailed Views for example.
                                  • How to RSVP an invite using the Zoho API

                                    Perhaps I am missing something, but I don't see any way to use the Zoho API to RSVP an Invite. This what I've tried: PATCH https://calendar.zoho.com/api/v1/calendars/{cal}/events/{event} ?attendeedata={"attendees":[{"email":"me@example.com","status":"ACCEPTED"}],
                                  • FSM service call view

                                    "Why can't we sort by assigned service resource in the service call view?"
                                  • Zia Agents looks promising, but I still cannot deploy my first agent or connect WhatsApp after weeks of support tickets

                                    Hi Everyone, I am posting here because I am stuck and need practical help from someone who has successfully deployed a Zia Agent with WhatsApp. Zia Agents looks like a very promising product. I have watched the platform expand quickly, and I have noticed
                                  • Marketing Tip #46: Run flash sales the right way

                                    A flash sale can do a lot for your store. It can clear slow-moving inventory, spike revenue on a slow day, or reward your most loyal customers. But if done carelessly, flash sales can backfire. Customers start expecting discounts, stop buying at full
                                  • Send Notify on new Ticket to a Team based on customers email address AND only on these addresses

                                    Hi ZohoDesk, I would like to have Team A receive a Notification on every ticket created. I would like Team B to receive a Notification email only if the incoming ticket contains elements of a certain group of customer's email addresses only.  They should
                                  • Inventory API - Retrieve all uploaded product / item images

                                    I know that I can get the primary image for each product / item or composite item, by using the /image endpoint.  https://inventory.zoho.com/api/v1/compositeitems/<item-id>/image?authtoken=<TOKEN> This will return only one photo, even if the item has multiple images uploaded. Is there a way to retrieve all images stored for an item via the Zoho Inventory API?
                                  • Change Last Name to not required in Leads

                                    I would like to upload 500 target companies as leads but I don't yet have contact people for them. Can you enable the option for me to turn this requirement off to need a Second Name? Moderation update (10-Jun-23): As we explore potential solutions for
                                  • Setting checkbox value on template in Sign from Creator

                                    Good day, Please help me understand how do I set a tick from a checkbox in Creator into a checkbox on a Sign template. Below is the only values on the Sign template and the code from Creator, "field_boolean_data": {}, "field_date_data": {}, "field_radio_data":
                                  • How to Delete, Disable, or Remove Streams from the Mail App?

                                    Is there a way to remove Streams from the mail app sidebar? I get too many notifications, it doesn't add any value to Zoho's functionality (especially since you can just make comments inside an email), and is distracting. I do not want notifications/alerts
                                  • Remove the mandatory Name Card buttons (or at least make them optional)

                                    Please remove the mandatory Name Card buttons (or at least make them optional) A recent change to the Name Card in Zoho SalesIQ (currently affecting WhatsApp) introduced mandatory buttons before a visitor can provide their name. I believe this change
                                  • Zoho Wont Login

                                    Can anyone tell me why my password stops logging in all the time? Is it a ploy to make you change your password? I have to use OTP all the time. I dont want to change passwords all the time. Over the last couple of years I've found myself using Zoho (as
                                  • Frustrated with Zoho Assist QuickSUpport

                                    Trialling Zoho Assist and I have a variety of clients. A lot are computer illiterate. Some have poor vision. The current support sessions are using apps which have desktop icons for the appropriate apps. I either connect on demand then the client approves
                                  • HR Helpdesk Cases

                                    We have Zoho One Enterprise. I'm trying to find HR Helpdesk Cases, but my UI does not match the documentation. I'm not sure how to move forward.
                                  • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

                                    Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
                                  • Zoho Projects - Will there ever be a send email feature in Zoho Project?

                                    Hi team, Are there plans to or will there ever be a sendemail feature in Zoho Projects, brining it in line with other similar platforms like Asana, ClickUp and Monday? I know that you can add comments via email to a specific task, but I believe this only
                                  • Introducing Microsoft Word Integration in Zoho Contracts

                                    We are excited to announce a new feature that brings contract authoring and negotiation in your familiar environment — the Microsoft Word Integration. What This Integration Brings The Microsoft Word Integration connects Zoho Contracts with the Microsoft
                                  • Share Video Response Card ion Zobot

                                    I am using the zobot codeless bot builder in SalesIQ. I want to share a video but delay the next response card until after the video has finished playing or has been stopped. Is this possible?
                                  • Customer image field

                                    I created a custom image field for estimates, and it works as expected. The only issue I have is that I want to be able to place the custom image field in the estimate invoice. Is there a way I can do that, the field does not give the option to display
                                  • Sub Folders

                                    It would be great if there could be sub-folders in reports. We have a ton of individual reports and folders that would be easier to navigate this way 
                                  • Goals API - Zoho People

                                    Hi Team, I would like to get the API details for retrieving organisation-wise Goals from Zoho People. Currently, I am able to retrieve individual employee goals using the following API: https://people.zoho.com/api/v3/performance/goal/{emp_id} However,
                                  • Question and responses disapear

                                    I have a form where several people have had issues where the questions, responses or submission simply disappear when trying to complete the form. It seems to be random with no pattern of question, browser or OS. Hopefully there is a fix in the platform
                                  • Unable to send message;Reason:553 Relaying disallowed. Invalid Domain

                                    Hi, Now when I try to reply to an email, I see the Unable to send message;Reason:553 Relaying disallowed. Invalid Domain voicemessagedownloader.com error. I tested sending an email when I set it up in the past and it worked. I have checked the Zoho Organization
                                  • Guide customers to the right booking page with routing forms

                                    Greetings from the Zoho Bookings team! We're excited to introduce Routing Forms in Zoho Bookings. Routing forms let you collect information from customers before they schedule an appointment and automatically direct them to the most appropriate booking
                                  • Analytics Dashboard User Filters Default Value

                                    User Filters on Dashboard do not allow Unknown to be set as a default filter value. I have to include NULL values in my dashboard among other values but I can't include NULL/Unknown by default in Dashboard User Filters.
                                  • Horrible download speed

                                    Using a trial of Zoho Assist and downloading a 316 MB file on a 500/500 fibre connection to a remote computer on the same network took 7 mins to complete. On AnyDesk it took 1 min or so.
                                  • How to Backup Zoho to PST?

                                    I'm looking for a simple way to backup Zoho Mail emails to PST format. I tried the IMAP method with Outlook, but it seems slow and complicated for large mailboxes. I need a solution that can: Export Zoho emails to PST Preserve attachments and folder hierarchy
                                  • Zoho Books | Product updates | August 2026

                                    Hello users, July has been an exciting month for Zoho Books! This month, we're excited to introduce HTML PDF Templates, Placeholders as Pills, expanded approval workflows for Sales Returns and Journals, and significant compliance updates across the India,
                                  • Action required: WhatsApp now uses BSUID as the primary identifier

                                    Important If your support team uses WhatsApp to engage with customers, there is an important platform change you need to know about. BSUID support is now mandatory for all WhatsApp Business Platform partners and businesses. WhatsApp is introducing usernames,
                                  • Tip #83- Give Customers a Faster Way to Reach You with the Quick Support Plugin – 'Insider Insights'

                                    Hello Zoho Assist Community! Think about the last time a customer needed urgent support. They emailed in, waited for a response, got a session link, couldn't find it in their inbox, called back, and by the time the session actually started, a good chunk
                                  • Final Notice: Migrate Your ASAP Mobile SDK by August 31

                                    Alert August 31, 2026 is the deadline. After this date, older ASAP Mobile SDK versions will no longer work with the ASAP Help Widget. If your app hasn't been migrated to a supported SDK version, users will no longer be able to access the ASAP Help Widget
                                  • Approval Process configuration is now more flexible and fully customizable

                                    Hello everyone! Approval Process is back with a better user experience that makes it easier to add rules to your processes. This enhancement includes some UI updates that help you create highly structured approval stages—and more. Let's look at the enhancements
                                  • Next Page