Updated · 10 min read
Segmentation strategy: beyond RFM
RFM is where most lifecycle programs start segmenting. Fine. It's also where most programs stop, which is how you end up with a model that can describe the past in crisp detail and predict the future about as well as a coin. This guide walks the segmentation stack a real lifecycle program needs — stage, tier, intent — and how to implement it without the segment list exploding into triple digits.
By Justin Williames
Founder, Orbit · 10+ years in lifecycle marketing
What RFM gets right and where it runs out
RFM — Recency, Frequency, Monetary — slots users into a grid based on how recently they engaged, how often, and how valuable. It works because the three dimensions are genuinely predictive of future behaviour, and because you can explain the model to a CMO in under two minutes without diagrams.Source · Harvard Business ReviewIdentifying and Evaluating the Best Customers in a Direct Marketing FrameworkRFM was formalised in direct-response marketing literature in the 1990s — the approach has proven durable because it maps to three independent behavioural dimensions.hbr.org
Here's where it runs out. RFM describes past behaviour, full stop. Two users with identical scores can be on completely different trajectories — one accelerating into power-user territory, one quietly decelerating toward churn — and RFM can't tell them apart. Lifecycle decisions need the direction of travel, not just the current position.
The second problem is non-transactional products. Monetary value is a weak signal on a content platform and literally nonexistent on a free product. Programs that patch this by bolting "session count" or "content views" onto the M end up with a fragile Frankenstein that pretends to be RFM and behaves like a homegrown activity score nobody can defend.
The three-layer segmentation model
Position tells you what the user already did. Direction of travel tells you what they'll do next. Real lifecycle segmentation captures both.
Layer 1 — Lifecycle stage.Every user sits in exactly one stage: new, activated, engaged, at-risk, lapsed, churned. Mutually exclusive, collectively exhaustive. Stage is the single most consequential filter in almost every lifecycle program — it decides whether someone gets an onboarding email or a winback email. Misclassify a user here and the whole program miscommunicates with them. It's the most expensive segmentation error you can make, and the one most programs make quietly for years.
Layer 2 — Engagement tier. Within a stage, users vary by intensity. Power, regular, light, inactive. Tier is where RFM finally earns its keep — recency, frequency and value are the right inputs when you're ranking intensity within a stage, rather than using them as the whole model.
Layer 3 — Behavioural intent.Recent actions that signal what the user is about to do. Added an item to cart. Viewed pricing twice this week. Invited a teammate. Opened a feature for the first time. Intent segments are short-lived — 24 to 72 hours — and always additive on top of stage and tier. They trigger campaigns; they don't re-categorise the user.
Three layers, three different jobs. Stage decides which program family the user is in. Tier decides how intensely you talk to them. Intent decides what's worth triggering right now. Keeping those jobs separate is what keeps the segment count manageable.
Get lifecycle stage right or nothing else works
The most common segmentation disaster is stage ambiguity. "Activated" means one thing to product, something different to growth, something different again to finance. Unless the definition is written down and operationalised, users flicker between stages based on whichever team's definition got applied last. The downstream mess is severe: onboarding emails firing at activated users, winbacks firing at engaged ones, and every stakeholder quietly losing faith in the numbers.
Fix it by defining stage as a derived attribute in your CDP or Braze, computed from raw event data with a single canonical rule. New = signed up within the last N days OR hasn't yet taken the activation event. Activated = took the activation event AND hasn't crossed the lapsed threshold. At-risk = between engagement threshold and lapsed threshold. Lapsed = past the lapsed threshold. Churned = cancelled or deleted. Each threshold is a number you tune for your product. For infrequent-usage products the thresholds change shape entirely — the lifecycle for flat products guide covers that case.
How often should you recompute stage? Daily for most programs. Event-driven where transitions need to be immediate — onboarding flows that should move a user to "activated" the moment the activation event fires, for example. A nightly batch is fine for everything downstream of that.
The non-negotiables: one canonical definition, enforced in code. No team overrides. The Orbit CRM Data Model skill covers the data architecture this requires — the derived attributes, the event taxonomy, and the rules that keep stages consistent when three different teams all want to tweak the definition.
Implementing the model in Braze without exploding segment count
Braze gives you three tools: segments (saved audience definitions), custom attributes (per-user fields), and derived values (usually populated from your CDP or API). The common mistake is creating a segment for every combination. Six lifecycle stages multiplied by four engagement tiers equals twenty-four segments before you've added a single product filter. That list is unmaintainable inside a quarter.
The pattern that scales: store lifecycle stage and engagement tier as custom attributes on the user profile, not as segments. Create segments only for the combinations your campaigns actually target — usually 10 to 15 named segments, built from those attributes plus any additional filters. Intent segments are almost always better as Currents- or webhook-triggered campaigns than as persistent segments.
One user has one lifecycle stage at any moment; that same user belongs to many segments at the same time. The stage is a filter inside nearly every segment, not a segment itself. Once you internalise that distinction the segment list stops growing on its own.
The Orbit Namer generates segment names from a consistent convention so the list stays scannable six months in. The Braze Segment Analysis skill audits existing segments for overlap, redundancy, and the long tail of segments nobody uses but nobody wants to delete either.
When predictive segmentation earns its cost
Predictive tiers — churn risk, likelihood to purchase, propensity scores — are the most ambitious layer and the one most commonly overbuilt. A score is worth the investment only if three conditions all hold: you have enough data volume for a meaningful model (100K+ users, longer for low-traffic products), you can act on the score inside the lifecycle program in a way you couldn't with a rule, and the prediction is meaningfully more accurate than the simple rule-based proxy you'd use otherwise.
If any of those three is missing, skip it. A rule-based "at-risk" segment — users whose session cadence dropped more than 50% over the last 30 days, for example — usually outperforms a half-trained ML model at a tiny fraction of the operational cost. The people building half-trained ML models rarely admit this, which is part of why the problem persists.
When predictive scoring does pay off, integrate it as an attribute on the Braze profile rather than a native Braze segment. Keeps model ownership in the CDP or warehouse where it belongs. Decouples the model's update cadence from Braze's segment refresh cycle. Lets you version and roll back without rebuilding segments. Starting here instead of inside Braze saves you from a messy migration 18 months later.
Frequently asked questions
- What is RFM segmentation?
- RFM (Recency, Frequency, Monetary) segmentation is a customer-scoring framework that bins each customer on three ordinal dimensions: Recency (days since last purchase), Frequency (transactions in a fixed window), and Monetary (total spend in the same window). Each dimension gets a 1-5 score, and the combination produces bands like "champions" (555), "loyalists" (544), "at-risk" (155). It's the oldest serious customer-segmentation model, simple to compute without any ML, and maps cleanly to lifecycle triggers.
- What comes after RFM segmentation?
- Behavioural segmentation layered on top of RFM — segments defined by the actions customers take (not just when/how much/how often they spend). Examples: "browses-category-but-never-buys", "high-LTV-single-product-buyer", "reactivated-after-6-month-dormancy". These behavioural segments drive more targeted programs than RFM's general bands because the trigger behaviour maps directly to the program's goal. Predictive/propensity models (churn risk, purchase propensity, LTV forecast) come after that, once you have enough data to train them.
- How many segments should a lifecycle program have?
- Fewer than most teams think. The right number is the number you can actually build differentiated programs for — usually 5-12 total across the RFM + behavioural layers. A program with 40 segments is a program where 35 of them have identical messaging because nobody had time to write separate copy. Build 6 sharp programs before you build 20 mediocre ones.
- Is RFM still useful after Apple MPP broke open rates?
- Yes — RFM doesn't depend on opens. Recency is based on purchase / transaction recency (not email recency), frequency is based on transactions, and monetary is revenue-based. None of these are contaminated by Apple MPP's pixel pre-fetching. The dimensions that DO need updating post-MPP are engagement-based segments ("opened in last 30 days") — replace those with click-based or multi-signal composite scores.
- How often should segments be recomputed?
- Daily for behavioural segments (so yesterday's purchase moves a customer out of "browse abandoned" today). Weekly or monthly for RFM bands unless volume is very high — quarterly recomputation is too slow and misses the fast drift around lifecycle inflection points. Most modern ESPs support daily re-segmentation natively.
This guide is backed by an Orbit skill
Related guides
Browse allLifecycle marketing for flat products
The standard lifecycle playbook assumes weekly engagement and neat stage progression. Most real products aren't shaped like that. This is how to design lifecycle for products used once a year, once a quarter, or whenever the user happens to need you — where the textbook quietly makes things worse.
What is lifecycle marketing? A field guide for operators starting from zero
If you're new to CRM and lifecycle, the field reads like a pile of acronyms and vendor demos. It's actually one simple idea executed across five canonical programs. Here's the frame that makes the rest of the library make sense.
Retention economics: proving lifecycle ROI to finance
Lifecycle programs get deprioritised when they can't defend their impact in dollars. The four models that keep the budget — LTV, payback, cohort retention, incrementality — and the four-slide pattern that wins a CFO room.
The lifecycle audit — a 30-point checklist
Lifecycle programs decay silently. A recurring audit is the cheapest discipline that catches drift before it shows up in the revenue deck. Here's the 30-point list, grouped by severity, that takes three hours the first time and ninety minutes thereafter.
Building a lifecycle team — the roles, the order, the size
Lifecycle is a craft, an ops function, and a strategic lever all at once. Most teams accidentally end up with three people holding overlapping halves of the role. Here's the deliberate version: who to hire first, what triggers the next one, and when CRM stops belonging in brand marketing.
B2B lifecycle marketing: what changes when the buyer isn't the user
B2B lifecycle looks like B2C on the surface — emails, flows, segmentation — but the mechanics underneath are different. Buying committees, account-level intent, sales hand-offs, and product-led overlaps all change the playbook. Here's what's actually different.
Found this useful? Share it with your team.
Use this in Claude
Run this methodology inside your Claude sessions.
Orbit turns every guide on this site into an executable Claude skill — 54 lifecycle methodologies, 55 MCP tools, native Braze integration. Pay what it's worth.