Case study · Pet retail

A good month and a better business are not the same number

The companion to the loyalty work, on the same business. RFM answered who to act on this week. Cohorts answered the harder question the monthly number cannot: whether anything we did actually made the company better.

Intake month the unit of analysis — not the calendar month
Row · column · diagonal three different questions out of one table

Monthly revenue was the number everyone watched, and it is close to useless as a verdict. It moves with acquisition spend, with the season, with whatever promotion ran that fortnight. A month can be up because the business got better or because it bought more customers, and the monthly number cannot tell you which.

In a repeat category that distinction is the whole business. Buying a customer once is a cost; the return on it arrives over the following year, or it does not arrive.

Every customer filed by the month of their first order, then followed forward. That single change turns one ambiguous number into a table you can interrogate three ways, and the three readings answer genuinely different questions — which is the mistake most often made with cohorts, reading the diagonal as if it were performance when it is only the calendar.

The reading that mattered was down the column: the newest intake against the previous one at the same age. That is the only view in which a change to the business shows up as a change, rather than as a good month.

It became the control on the loyalty program. A program that rewards people who were already coming back produces an excellent current month and completely flat cohorts — the reward lands on behaviour that was going to happen anyway, and nothing in the curve moves. That failure is invisible on a revenue chart and obvious on a cohort table.

So the test we held the program to was not enrolment or redemption. It was whether month-two and month-three repeat rose for intakes that arrived after a change, against the intakes that arrived before it.

A cohort table is a rear-view mirror with excellent resolution: it tells you what an intake did, once it has done it. The version we build for clients now runs the same cut against a warehouse rather than a monthly export, so the curve is current rather than a quarter old — and pairs it with the unit economics, because a cohort that retains beautifully at a contribution margin of nothing is not a cohort worth acquiring more of.

One table, three questions

Every customer is filed by the month of their first order and followed forward. Which question you are answering depends on which way you read it.

012345 M1M2M3M4M5M6 Intake month Months since first order 1 2 3

How to read it

Across a row
Does this group keep buying? The curve of one intake as it ages — and where it stops falling, which is the number a repeat category lives on.
Down a column
Is the newest intake better than the last one at the same age? This is the only reading that tells you the business improved rather than that the month was good.
Along the diagonal
Everything that happened in one calendar month, across every cohort at once. Seasonality, a promotion, a stockout — never read it as performance.

Structure only. The shading is the shape a retention table takes as cohorts age, not this business’s figures.

A loyalty program that only rewards the already-loyal shows up as a very good month and a completely flat cohort.

More case studies


Send us a month of your data. We'll tell you where it's going.

Start a conversation