Where we start
A bench is a fixed set of people and a fixed set of questions, so that when two cuts give two answers the only thing that differed was the cut. The people are real: 4,000 rows drawn with a seeded generator from the Olist table of session 1, each carrying its recency in days, its count of delivered orders and its total payments. The questions are the four that decide whether an RFM project pays: who is called best, whether they deserve it, who gets the win-back message, and what that message returns.
★ What you walk out with tonight. The measured answer to "how many of our Champions bought once" under seven cuts, the two-column habit of reading yield per message and total side by side, and the reason one total score is not a simplification but a blindfold.
Four questions, two kinds of number
6 min liveEvery readout on the bench carries a small tag. measured means the number was counted from the rows and would be the same in any spreadsheet. modelled means it depends on assumptions the widget states, and would change if you changed them. Reading the tag before the number is the whole skill.
LiveThe three measured dials, and why "bought once" is the one to watch3 min▶
Top group share and revenue share. How many people the cut calls its best, and how much of the money they hold. A top group that is 16 percent of customers and 27 percent of revenue looks healthy until you read the next dial.
Bought once, inside the top group. The share of the "best" customers who have exactly one delivered order. A Champion who bought once is a first-time buyer wearing a badge, and every action aimed at Champions, early access, a loyalty tier, a personal note, is being spent on someone the shop has met once. On a base where 97 percent buy once, this dial is where the cuts separate.
Win-back audience, and its repeat share. How many people the cut would put on the win-back list, and what fraction of them have ever bought twice. A win-back message assumes a relationship to win back. Sent to a one-time buyer it is an acquisition message with a discount attached.
Self-studyThe modelled dial, and the five numbers under it3 min▶
Yield needs a response model, and no dataset carries one. The bench states five numbers and uses nothing else: a lapsed one-time buyer reorders on their own 1.0 percent of the time and a message lifts that by 15 percent; a lapsed repeat buyer reorders 4.0 percent of the time and a message lifts that by 50 percent; a message costs R$ 0.30; one in ten of every audience is held out and never messaged; the reactivation order is worth that customer's own average order from the data. Net yield is incremental revenue minus message cost, and per-message yield divides that by the messaged count.
Change any of the five and the yields change. What does not change is their ordering across cuts, because that follows from the measured repeat share of each audience: an audience that is 100 percent repeat buyers responds on the repeat rates, an audience that is 2.4 percent repeat buyers responds almost entirely on the one-time rates. The pages that quote a yield quote it as "on the stated model", and the only thing they claim from it is the order.
Seven cuts, computed in front of you
★ 26 min · the main eventWork down the seven in order. For each, read the verdict line, then the six readouts, then the segment table underneath. Say out loud what changed and what did not before moving to the next. The last one is the anti-lever: it is the simplification everyone reaches for, and the bench shows what it costs.
Read it in this order. Top group, then bought once, then the win-back audience and its repeat share, then the two yields with their tags. The first cut is the eight-group taxonomy at the mean, exactly what session 1 built, and it is worth sitting with how small its top corner is before looking at what the vendor rules do to the same people.
Same people, seven answers
6 min liveThe bench above computes these live; the numbers here are the ones it produces on the 4,000 rows, written down so they can be argued with after class. On the full 93,358 the shares move by fractions of a point and the ordering does not move at all.
| Cut | Groups | Top group | Bought once | Win-back audience | Repeat buyers in it | Yield per message * | Net total * |
|---|---|---|---|---|---|---|---|
| Mean split, eight | 8 | 0.97% · 2.4% of revenue | 0% | 33 | 100% | R$ 3.46 | R$ 103 |
| Median split, eight | 8 | 1.40% · 2.6% | 0% | 50 | 100% | R$ 2.84 | R$ 128 |
| Klaviyo's rule, six | 6 | 13.30% · 23.6% | 89.9% | 630 | 3.7% | R$ 0.15 | R$ 83 |
| Quintiles into Putler's eleven | 7 of 11 | 15.90% · 27.0% | 91.5% | 767 | 2.4% | R$ 0.02 | R$ 13 |
| Merchant thresholds | 7 | 0.70% · 1.3% | 0% | 24 | 100% | R$ 2.44 | R$ 53 |
| Fifths, then collapse to eight | 8 | 6.38% · 13.2% | 84.7% | 422 | 12.6% | R$ 0.53 | R$ 203 |
| One total score | 3 | 7.98% · 18.5% | 83.1% | 2,555 | 2.5% | R$ 0.02 | R$ 53 |
* modelled, on the response model the widget prints. The other six columns are counted.
LiveFinding 1: the cut decides who is called best2 min▶
Two vendor defaults call 13 and 16 percent of a base where 97 percent bought once Champions, and nine in ten of those Champions bought exactly once. The three splits that put the knife somewhere the base can actually clear produce a top group of about 1 percent, none of whom bought once. Same people. A Champions tier funded on the first kind of cut spends most of its budget welcoming first-time buyers with a loyalty programme.
LiveFinding 2: fifths on a tied column are decided by row order2 min▶
In the 4,000, frequency is 3,883 ones. Ranking them into fifths gives 800 identical one-time buyers a frequency score of 1 and 683 identical one-time buyers a score of 5, in row order. Averaged with the spend score, enough of them reach the Champions corner to fill it. This is not a flaw in Putler's map or Klaviyo's rule; it is what any equal-count bin does to a column that is almost all one value, and the "fix" for the duplicate-edge error does it silently. Session 2 has the population version: 18,672 against 15,871.
LiveFinding 3: the win-back audiences differ by a factor of 77, and the two yield columns disagree2 min▶
Thirty-three people under the mean split, all repeat buyers. Four hundred and twenty-two under the tutorial route, one in eight a repeat buyer. Two thousand five hundred and fifty-five under one total score, one in forty a repeat buyer. On the stated model the per-message yield runs from R$ 3.46 down to R$ 0.02, and that ordering is robust because it tracks the measured repeat share. But the total column ranks the cuts differently: the median split's 50-person audience returns R$ 128 against the mean split's R$ 103, because it is larger and still all repeat buyers, and the tutorial route's 422-person audience returns the biggest total of all, R$ 203, at R$ 0.53 a message, because one in eight of them is a repeat buyer and there are many of them. Neither column is "the" answer. Per message tells you how well the cut found the right people; total tells you how many of them there were to find.
Self-studyThe honest dip: Putler's eleven produced seven2 min▶
Four of Putler's segments are empty on this base: New, Promising, Can't lose and Lost. The map reaches those corners through a combined frequency-and-monetary score of 1 or 4 to 5 at a given recency, and averaging two quintile scores on a base where the frequency score is arbitrary and the spend score is skewed never quite lands there. This is not a defect in the bench and it is not a defect in the map. It is a measurement: a taxonomy written for a repeat-purchase business has four rooms that a one-time-buyer marketplace never fills, and the shop that adopts it will carry four empty segments in its dashboard forever.
One total score is a blindfold, not a simplification
4 min liveAdding the three scores into one number feels like a cleanup. Three columns become one, the dashboard gets a single ranking, and a threshold on it defines the audience. The bench counts what the addition throws away.
LiveWhy addition is the wrong operation2 min▶
The three digits are not three measurements of one thing. Recency says whether the relationship is alive, frequency says whether it is a habit, monetary says what it is worth. Adding them treats a day of recency as interchangeable with an order of frequency, and the sum forgets which was which. A 5-1-1 and a 1-5-1 both score 7; the first wants an onboarding message and the second wants a win-back, and a campaign built on the band sends both the same thing.
The bench's count is the argument: 80 of the 125 codes fall into the middle band. Any audience defined on that band is a mixture whose composition nobody chose. The eight-group taxonomy of session 1 keeps three bits and eight names; it is already the simplification, and it is the smallest one that still tells the two people apart.
Self-studyWhen a single score is fine, and it is not this2 min▶
A single ranking earns its place when the action is the same for everyone and only the order matters: who to call first from a list where every call is the same call. RFM's whole purpose is that the action differs by corner, so a ranking that forgets the corner has removed the thing the model was for. If a dashboard needs one number, show the code and sort by recency within it; that keeps the corner visible and still gives a list.
The honest nuance: a weighted sum with recency weighted heavily is closer to defensible, because recency dominates response in most direct-marketing tests. Session 4 covers weighting. Even then, the weights are a business judgement to be tested, not a simplification to be assumed.
A dashboard with one RFM score per customer is a common request because it sorts. It also sorts a customer who bought yesterday for the first time above a four-order regular who has been gone six months, if the newcomer's basket was bigger, and a growth team reading the top of that list as "our best" will thank first-time buyers for their loyalty while the regulars leave unnoticed. The fix costs nothing: keep the three digits in the export and let the sort be on recency within the code.
Before session 4
30 min- Run the bench's seven cuts on your own table with the session 2 helper, and fill the same eight-column table. Circle the cut your tooling uses.
- Change the response model in your head. Double the one-time-buyer lift. Does the per-message ordering change? It should not, and being able to say why in one sentence is the point.
- Count the empty rooms. Under the taxonomy your tool uses, how many segments hold fewer than 1 percent of customers? Each one is a dashboard tile that will never mean anything.
- Bring the events table, not the order table, if your product has one. Session 4 is about the platforms where the order table describes almost nobody.
Three questions
Clear all three and session 3 gets stamped in your passport.
1 · Under quintiles into Putler's eleven, 15.9 percent of the 4,000 are Champions and 91.5 percent of them bought exactly once. What produced that?
Equal-count bins on a column that is almost all one value are arbitrary by row order, and the duplicate-edge "fix" runs it silently. The map is a taxonomy for a repeat-purchase business applied to a base that does not have one; neither is wrong, the combination is.
2 · The median split returns the largest total (R$ 128) while the mean split returns the highest yield per message (R$ 3.46). Which cut is better?
The two-number habit exists because a single number hides the trade-off. D is the trap the bench is built to expose: a large audience with a positive total can still be R$ 0.02 a message, which is a campaign that barely covers its own cost.
3 · Why is one total score called a blindfold rather than a simplification?
RFM exists because the action differs by corner. A ranking that forgets the corner has removed the thing the model was for. Where one list is genuinely needed, sort by recency within the code so the corner stays visible.
What this session teaches, and where it came from
Every fact on this page, and its verification tier, is recorded in the course's source map.
Session 3 cheat sheet · pin this
Everything so far assumed the order table describes the customer. On Taobao roughly 98 percent of the rows are browsing, favouriting and carting, not buying; in a Douyin live room the loyal regular may watch twenty streams and never order; on Pinduoduo the customer who matters most may be the one who invited three friends. Session 4 replaces, redefines and adds letters to RFM for the platforms where the purchase table is the wrong table, and names which move fits which case.