RFM Segments
RFM (Recency, Frequency, Monetary) segments group customers by their ordering behaviour so you can target the right message to the right people — Champions, At Risk, Hibernating, and more.
Each customer is scored 1–5 on three dimensions, then placed in a segment using the rules below. Scores are quintiles (NTILE 5) computed across this restaurant's customer base, so they recompute each time the CRM loads — a customer's segment can shift as your customer base grows.
- Recency (R) — how recently they last ordered. 5 = most recent fifth, 1 = least recent fifth.
- Frequency (F) — how often they order. 5 = top fifth by order count.
- Monetary (M) — how much they've spent. 5 = top fifth by total spend.
| Segment | Rule | What it means | Suggested action |
|---|---|---|---|
| Champions | R ≥ 4 AND F ≥ 4 AND M ≥ 4 | Recent, frequent, high spenders. | Reward; ask for reviews and referrals. |
| Loyal | R ≥ 3 AND F ≥ 4 | Consistent repeat buyers. | Upsell; loyalty perks. |
| Potential Loyalist | R ≥ 4 AND F = 3 | Recent buyers building frequency. | Nurture toward loyalty. |
| New | R ≥ 4 AND F ≤ 2 | Recently acquired, low frequency. | Strong onboarding; second-order push. |
| Promising | R ≥ 3 AND F ≤ 2 | Recent shoppers, low spend. | Build the relationship. |
| Needs Attention | R = 3 AND F = 3 | Average across the board. | Re-engage with an offer. |
| About to Sleep | R = 2 AND F between 2 and 3 | Slipping in recency and frequency. | Reactivate soon. |
| At Risk | R = 2 AND F ≥ 4 | Frequent buyers gone quiet. | Win-back campaign. |
| Can't Lose | R ≤ 2 AND F ≥ 4 AND M ≥ 4 | Top spenders who lapsed. | Personal outreach. |
| Hibernating | R = 1 AND F ≥ 2 | Long inactive, moderate history. | Reactivation push. |
| Lost | R = 1 AND F = 1 | Lowest recency and frequency. | Cheap re-engagement only. |
| Others | Doesn't match the rules above | Edge cases that fall between buckets. | Monitor; no dedicated action. |
Rules are evaluated top-to-bottom — the first matching rule wins. Definitions mirror theget_customer_listPostgres function.
Tip: Use RFM segments as automation triggers (e.g. send a win-back when a customer enters At Risk) or as audience filters in campaigns.