RFM segmentation helps marketers target customers more effectively. RFM stands for Recency, Frequency, and Monetary, a method that identifies valuable customers by analyzing their purchase history. It groups customers based on how recently they bought π , how often they buy π, and how much they spend π°.
This segmentation allows for tailored marketing strategies. For example, recent big spenders might get a "VIP customer" offer, while inactive customers could receive a "win-back" promotion.
RFM is a powerful tool for boosting customer engagement and sales. π
-
Go to Reports > Saved Searches > All Saved Searches > New
-
Set the Search Title to RFM Analysis π
-
Criteria:
- Type = Invoice π³
- Tax Line = false β
- Main Line = false β
- In Results:
- Sort by = Amount π°
- Fields:
-
Field : Name , Summary Type = Group By , Label = Customer Name π§βπ€βπ§
-
Field : Formula(Percent) , Summary Type = Sum , Label = %Recency
PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC)
-
Field : Formula(Percent) , Summary Type = Sum , Label = %Frequency
PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC)
-
Field : Formula(Percent) , Summary Type = Sum , Label = %Monetary
PERCENT_RANK() OVER (ORDER BY SUM({amount}) ASC)
-
Field : Formula(Text) , Summary Type = Maximum , Label = RFM π
CASE WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.0 AND 0.2 THEN 1 WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.2 AND 0.4 THEN 2 WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.4 AND 0.6 THEN 3 WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.6 AND 0.8 THEN 4 ELSE 5 END || CASE WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.0 AND 0.2 THEN 1 WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.2 AND 0.4 THEN 2 WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.4 AND 0.6 THEN 3 WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.6 AND 0.8 THEN 4 ELSE 5 END || CASE WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.0 AND 0.2 THEN 1 WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.2 AND 0.4 THEN 2 WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.4 AND 0.6 THEN 3 WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.6 AND 0.8 THEN 4 ELSE 5 END
-
Field : Formula(Numeric) , Summary Type = Sum , Label = R
CASE WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.0 and 0.2 THEN 1 WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.2 and 0.4 THEN 2 WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.4 and 0.6 THEN 3 WHEN PERCENT_RANK() OVER (ORDER BY ROUND({today} - MAX({trandate})) DESC) BETWEEN 0.6 and 0.8 THEN 4 ELSE 5 END
-
Field : Formula(Numeric) , Summary Type = Sum , Label = F
CASE WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.0 and 0.2 THEN 1 WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.2 and 0.4 THEN 2 WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.4 and 0.6 THEN 3 WHEN PERCENT_RANK() OVER (ORDER BY SUM({internalid}) ASC) BETWEEN 0.6 and 0.8 THEN 4 ELSE 5 END
-
Field : Formula(Numeric) , Summary Type = Sum , Label = M
CASE WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.0 and 0.2 THEN 1 WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.2 and 0.4 THEN 2 WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.4 and 0.6 THEN 3 WHEN PERCENT_RANK() OVER (ORDER BY SUM({Amount}) ASC) BETWEEN 0.6 and 0.8 THEN 4 ELSE 5 END
-
Field : Formula(Numeric) , Summary Type = Sum , Label = Days from Last Purchased π
ROUND({today}-MAX({trandate}))
-
Field : Document Number , Summary Type = Count , Label = Orders π¦
-
Field : Amount , Summary Type = Sum , Label = Amount π²
-
I had a blast opting for a superior RFM value of
555 over the 111 RFM value! ππ Have Fun! π¦