# Playbook: RFM Winback Engine
**School:** Recency/Frequency/Monetary scoring, originated by database-marketing pioneer Robert Kestnbaum in the 1960s (common mis-attribution credits Bult & Wansbeek with inventing it โ they gave it the profit-optimal decision-theoretic treatment in 1995, three decades later). Quintile operationalization (5x5x5 = 125 cells) from Arthur Middleton Hughes, *Strategic Database Marketing*. Marginal-cost cutoff for which segments deserve a human touch from Bult & Wansbeek, "Optimal Selection for Direct Mail," *Marketing Science* 14(4), 1995.
**Deliverable type:** `segmentation-plan` with numeric R/F/M boundaries, plus an `automation-spec` per winback/VIP track.
---
## When to use this
- You have a transactional history โ order dates, order counts, total spend โ even with zero behavioral/engagement data. RFM needs no training data and no ML.
- You have a dormant or under-worked buyer base you want to reactivate (this playbook is built directly for the 19Keys 4,591-buyer / $611K base โ see MANUAL ยง9.1).
- Recency is doing most of the predictive work already in your business (true in most transactional consumer contexts).
## When NOT to use this
- No transaction history exists yet (pure top-of-funnel leads with no purchase) โ use lead-scoring-routing instead.
- The business is subscription/expansion-driven where usage signals matter more than purchase recency โ layer plg-product-signal-crm on top instead of relying on RFM alone.
- You need forward-looking predicted value (not just a rank) โ graduate to BG/NBD + Gamma-Gamma CLV (Fader, Hardie & Lee) once RFM v1 is live; RFM ranks, it doesn't predict.
---
## Step-by-step build
1. **Pull the three raw columns per contact.** Last-order date (Recency), order count (Frequency), total spend (Monetary) โ already sitting in Supabase transactions.
2. **Set numeric quintile boundaries for each dimension.** State the actual cutoffs, e.g., Recency quintiles at 30/90/180/365/365+ days; Frequency at 1/2-3/4-6/7-12/13+ orders; Monetary at dollar bands specific to your average order value. Prose segments ("recently active buyers") fail the gate โ boundaries must be numbers.
3. **Assign each contact to a 5x5x5 cell** (or a simplified tier scheme โ e.g., collapse to Champions / Loyal / At-Risk / Hibernating / Lost if 125 cells is more granularity than the team can act on).
4. **Declare mutual exclusivity.** Every contact belongs to exactly one cell/tier at a time โ state the tie-break rule if a contact's R/F/M land on a boundary.
5. **Define the sunset/dead segment explicitly.** A required field per the rubric โ e.g., "Recency > 730 days AND no engagement in 12 months = Lost; suppressed from active winback, moved to a low-frequency quarterly-only track."
6. **Build the tiered winback tracks.** VIP (top Monetary + recent Frequency) gets a different cadence/offer than a mid-tier lapsing buyer โ per Peppers & Rogers' "differentiate by value," not one blanket winback email to everyone.
7. **Wire the automation-spec per track**, each with its own trigger (segment entry), action steps, and โ critically โ an EXIT condition (a winback email must stop firing once the contact re-purchases or unsubscribes).
8. **Instrument segment migration.** Track contacts moving up/down tiers period over period โ this is the winback engine's actual proof of life (MANUAL ยง7.5), not just "emails sent."
## Worked mini-example
Applied to the 4,591-buyer / $611K base: Recency quintiles at 60/180/365/730/730+ days since last order. Frequency at 1/2/3-4/5-8/9+ orders. Monetary at $0-99/$100-249/$250-499/$500-999/$1000+ lifetime spend. A contact with Recency in top quintile (bought in last 60 days), Frequency in top quintile (9+ orders), Monetary top quintile ($1000+) lands in the VIP tier โ routed to a high-touch track with a personal note, not a blast email. A contact with Recency bottom quintile (730+ days) and low Frequency/Monetary lands in Lost โ sunset segment, quarterly-only low-cost touch, suppressed from the main winback cadence. Mid-tier lapsing buyers (Recency 180-365 days, mid Frequency) get the core winback sequence: three-email tiered offer ladder with an EXIT the moment they click "buy."
## How the verify gate applies
The `segmentation-plan` linter fails on rule-less (prose-only) segments, a missing RFM base layer with numerically stated R/F/M boundaries, or an absent sunset/dead segment. Each segment needs a size estimate tagged with its data source (e.g., "812 contacts, Supabase `orders` table as of 2026-07-12") and a mutual-exclusivity declaration. The paired `automation-spec` per track independently needs its own EXIT condition โ a winback automation is exactly the kind of sequence that can loop or double-fire if the exit is missing.