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.
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.
πͺ Session 2 Β· coreThe 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.
ποΈ Session 3 Β· bench nightThe 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.
π‘ Session 4 Β· coreBeyond 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.
π¨ Session 5 Β· coreFrom 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.
π Session 6 Β· coreKeep 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.
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 is | Go 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.
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.
| Claim | Status |
|---|---|
| Every Olist figure: 97 percent one-time buyers, the eight-group shares, what each cut calls Champions | Really 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 bench | Really computed in your browser from a seeded sample of 4,000 of those customers |
| The two campaign-yield figures on the bench | Modelled. 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 rules | Quoted 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 buying | Dataset counts from Tianchi's own page; the behaviour split is cited to published analyses and not recomputed here |
| Douyin live commerce figures | From two named industry reports, each figure attributed; no primary repeat-purchase figure exists and none is stated as fact |
| Pinduoduo team purchase | Mechanics quoted from PDD Holdings' annual filing; buyer counts are no longer disclosed there and the page says so |
| The WeChat community shop | Invented, 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.