Most reports called cohorts are calendar windows. A real one has an empty corner.
Careful people build this report. Your platform offers it by default. A good analyst assembles it in an afternoon. Set the date filter to the last 90 days and read revenue per customer. Then 180. Then 365. Put the three numbers in one table and title it "cohort LTV."
Every number is true. The table is meaningless, because the 365-day window contains the 90-day window, and its customers have had four times as long to buy again. You're measuring the passage of time and calling it retention. Some platforms now build true first-order cohorts. Run the ten-second test below to find out which kind you're holding.
Look at the customer count. If it grows as the window lengthens, you're looking at nested calendar windows. In a true cohort table the count can only fall as you ask for more observed age, because a customer who first ordered six weeks ago can't supply a twelve-month reading. Rising counts mean the table is measuring how long the window was open.
The second tell is smoothness. Every row improves on the one above it, no month disappoints, and every cell is filled. Tables built from customers are ragged: some months got off to a bad start, and the lower-right corner is empty because that time hasn't happened yet.
A table with no bad news in it was not built from customers.
The calendar-window table costs money. A team holding it concludes that customers grow more valuable the longer they stay, sets a payback window on that, and bids acquisition against a number that would have risen if they'd done nothing. In a seasonal category the 365-day row swallows the whole peak while the 90-day row shows only the quiet months, and the table calls the difference customers maturing.
Each row is a first-order month: the month of a customer's first paid order. Freeze it, so a customer never changes cohort. Measure every later order in days since that customer's own first order, and group the days into 30-day months. The denominator for every cell in a row is that row's customer count at month zero, and it never moves.
Write down which numerator you're using. Cumulative repeat counts customers with two or more orders by that age. Period repeat counts customers who ordered inside that month. They answer different questions, and a table that mixes them can't be compared to anything. Resolve identity before any of it, because a split customer reads as two one-time buyers; the matching rules are in For Your Analyst.
Leave a cell blank where time hasn't happened. A cohort formed four months ago has no month-six value, and a zero in its place says nobody came back. A zero in that cell will be charted, averaged, and eventually presented to your board as a collapse.
Invented numbers, real shape. Cumulative share of each first-order month's customers who had placed a second order by each age, read on September 1, 2026. Blank cells are time that hasn't happened yet.
| First-order month | Customers | Month 1 | Month 3 | Month 6 | Month 12 |
|---|---|---|---|---|---|
| July 2025 | 1,000 | 4% | 9% | 13% | 18% |
| December 2025 | 2,500 | 3% | 6% | 9% | |
| February 2026 | 900 | 4% | 10% | 14% | |
| May 2026 | 1,100 | 5% | 11% | ||
| July 2026 | 1,200 | 4% |
The blanks step down to the lower right, and every cohort table built from customers has that staircase. Keep the customer count beside every row, so the reader can see which months are big enough to trust.
Read down the columns: same age, different months. Reading across a row follows one cohort as it ages, which shows how it matures and says nothing about whether it beats last year's. The two July rows, a year apart, both sit at 4% at month one.
Young cohorts always look worse. A cohort forty-five days old can't produce a 90-day repeat rate, so a chart of 90-day repeat by acquisition month, current month included, shows its newest bars low every single month.
Two rules fix it. A cohort enters a metric only after it has been observed for the full horizon the metric names. For a faster read, shorten the horizon rather than the wait: a 30-day rate on cohorts at least 30 days old is comparable to every prior month.
Matched age isn't enough on its own. Season and entry-product mix also move a 90-day rate, so compare this January with last January, and check what each cohort bought first before you blame the business. To tell a young cohort from a cheap one, compare first-order value by cohort. Every cohort already has all of its first orders, so that number is complete even for last month.
In many consumable and gifting categories the holiday cohort is the largest and the weakest, bought at a discount and heavy with gifts. Check yours at matched age before you plan around it. In the invented table, December 2025 has more customers than any other month and trails every other cohort at each age it has reached.
This is one chapter of The Second Order, which is free and readable in full on a single page with no form in front of it.