Learn with Phoebe Β· Data & Analytics

Learn RFM Modeling with Phoebe

Every customer can be described with three numbers: how long since they last bought, how often they have bought, how much they have spent. That is RFM, the oldest segmentation still in daily use, and it is cheap, honest and needs nothing but an order table. It is also a chain of small decisions that most tutorials make silently, and the biggest of them is where the knife goes between high and low. On 93,358 real marketplace customers, of whom 97 percent bought exactly once, the share called "best" runs from 1 percent to 16 percent depending on nothing but that knife, and under two popular vendor defaults nine in ten of the "best" bought once. Six sessions on RFM as a decision system: the cut, the dimensions, the action, the proof, and keeping it alive.

6sessions
93,358real customers
97percent bought once
7cuts on the bench
45min per session

The six sessions 🎯 · from raw orders to a model somebody can defend

The running data is the public Olist marketplace dataset: 99,441 real orders, recomputed here into one row per customer. Four more cases join it where the purchase table alone runs out: Taobao browsing behaviour, Douyin live rooms, Pinduoduo team purchase, and a small WeChat community shop.

🧾 Session 1 · core

Three numbers and a snapshot date

R, F and M defined precisely, the six decisions hiding inside them, the clock that has to be frozen before any of the three exists, and the eight-group taxonomy read as a mechanism. Build-along on 93,358 real customers.

β–Ά Start here
πŸ”ͺ Session 2 Β· core

The cut decides the segment

Mean, median, thirds, fifths, fifths-then-collapse and merchant thresholds on the same skewed pile. Why fifths on a column that is 97 percent ties are decided by row order, and what a tiny community shop does to every one of them.

same people, five knives
πŸŽ›οΈ Session 3 Β· bench night

The RFM bench

4,000 real customers, seven cuts, every segment share and revenue share counted in your browser. Two vendor defaults call 13 to 16 percent of them Champions; nine in ten of those bought once. Plus the one-total-score trap.

β˜… the bench
πŸ“‘ Session 4 Β· core

Beyond purchase

When 98 percent of the rows are not purchases. Engagement in place of spend on Taobao, live-room loyalty as a frequency on Douyin, and the referral axis Pinduoduo's team purchase adds. Which axis replaces M and which one adds.

RFE, rooms, referrals
πŸ“¨ Session 5 Β· core

From segment to action, and proving it

The action table per group, the tool defaults that quietly decide it for you, and the holdout that tells a lift from a coincidence. Why "message everyone in win-back" is the most expensive sentence in RFM.

the holdout gate
πŸ” Session 6 Β· core

Keep it alive

Recompute on a cadence, watch groups drift between snapshots, write the one-page RFM spec, and know when the model has done its job and should hand off to lifetime value or to clustering. Final scorecard.

πŸ”’ final scorecard
core bench night

Your passport 🎫

Clear all three quiz questions in a session and it gets stamped. Six stamps means you can take an order table, build a defensible RFM model on it, choose the cut on purpose, and prove whether the action it drove did anything. Stamps live in this browser only.

What this is not, so you land in the right place 🧭

If your question isGo here instead
How do I build quintile scores with pd.qcut, name four personas, and track who moved between two snapshots?Customer Retention, analyst session 4 β†—
Can I let the data find the segments instead of drawing the lines myself?Unsupervised Learning β†—
What is each customer worth over the next year, in money?Customer Retention, analyst session 6 β†—
How do I read GMV, conversion and the funnel on an online store?Ecommerce Metrics β†—
How do I design the test that proves a campaign worked, properly?Experimentation β†—
I have an order table and I want to segment customers I can act on, and know why each landed where it did.you are in the right place

RFM as a decision system. Where the knife goes, what it does to real skewed data, which dimension to swap when the purchase table is the wrong table, and how to prove the action worked. The mechanics of quintile scoring are taught once, in the retention course, and linked from here rather than repeated.

Choose your path πŸ—ΊοΈ

Three doors into the same conviction: the segment is a product of the cut, and the action is only worth what a holdout says it is.

🧾 I have an order table and a Monday deadline 1β†’ 2β†’ 5 build it, choose the knife on purpose, ship an action with a holdout
πŸ“‘ Most of my users never buy 1β†’ 4 the three numbers, then the dimension that replaces or joins them on a platform
🎯 The whole model 1β†’ 2β†’ 3β†’ 4β†’ 5β†’ 6 from raw orders to a model with a date on it, an action table, and a proof

What is honest here 🧾

The numeric spine is real public data, recomputed for these pages. Where a case rests on a vendor claim or a press figure, the page says which, and where nothing citable exists, the page says that instead.

ClaimStatus
Every Olist figure: 97 percent one-time buyers, the eight-group shares, what each cut calls ChampionsReally computed from the public Brazilian E-Commerce dataset by Olist (CC BY-NC-SA 4.0), delivered orders, snapshot 1 September 2018
Every share and revenue figure on the benchReally computed in your browser from a seeded sample of 4,000 of those customers
The two campaign-yield figures on the benchModelled. A five-number response model printed in full on the widget; the pages claim only the ordering, because it follows from the measured repeat-buyer share
Klaviyo's and Putler's segment rulesQuoted from their published help pages, then replicated on Olist with the standard pandas tie rule; the replication is a property of that rule on this base, not a claim about either product's live output
Taobao: most rows are browsing, not buyingDataset counts from Tianchi's own page; the behaviour split is cited to published analyses and not recomputed here
Douyin live commerce figuresFrom two named industry reports, each figure attributed; no primary repeat-purchase figure exists and none is stated as fact
Pinduoduo team purchaseMechanics quoted from PDD Holdings' annual filing; buyer counts are no longer disclosed there and the page says so
The WeChat community shopInvented, 300 customers, built to show what small N does to each cut
"RFM in use since 1961"Not claimed. The date travels without a citation; Hughes 1994 is the citable anchor

The knowledge map 🧠

The whole model at a glance - hover a session to spotlight its concepts, click any node to jump in.