Cohort Analysis for Small Business: A Beginner's Way to See If Retention Is Actually Improving
"Retention is up" and "revenue is up" get treated as the same sentence far too often, and they're not. A business can grow revenue every month while retention is actually getting worse, simply because new customer growth is masking it. Cohort analysis is the beginner-friendly way to stop guessing π β it's a bit fiddly to set up the first time, genuinely simple once it's built, and one of the few analytics habits that tells you the truth even when the topline numbers look fine.
What most small businesses get wrong about tracking retention
The first mistake is watching one blended number β "our repeat purchase rate is 40%" β without asking which customers that 40% is made of. A single average can hide a cohort that's dropping off fast, covered by an older cohort that's still loyal.
The second mistake is comparing this month to last month instead of comparing "how May's new customers behaved by month three" to "how February's new customers behaved by month three." Month-to-month noise (seasonality, one big client, a slow week) makes short comparisons unreliable.
The third mistake is building the table once and never looking at it again. Cohort tables are only useful as a running habit β a monthly five-minute glance, not a one-off report.
- Export a list of customers with their first purchase/join date and every purchase or renewal date after that.
- Create a column for "cohort month" β the month of their first purchase.
- Build a grid: rows = cohort month (Jan, Feb, Marβ¦), columns = "months since first purchase" (Month 0, Month 1, Month 2, Month 3β¦).
- In each cell, put the percentage of that cohort who purchased/renewed/attended again in that month.
- Read DOWN each column, not across each row β compare "Month 2 retention" for January's cohort vs February's vs March's. That's your trend.
How to actually read the table without over-reading it
A diagonal drop-off is completely normal and expected β almost every business loses some percentage of customers between month 0 and month 1, and again between month 1 and month 2. That's not a red flag on its own. What matters is whether that drop-off is getting shallower (improving) or steeper (worsening) as you move down the rows over time. Look for the trend across cohorts in the same column, not the shape of any single row.
- Don't compare cohorts of very different sizes as if they're equally reliable β flag small cohorts as "directional only."
- Don't cohort by calendar month if your business is genuinely seasonal β consider cohorting by "months since first purchase" alongside a seasonally adjusted view.
- Don't build this once and forget it β put a recurring 15-minute slot in your calendar to update and glance at it monthly.
- Don't confuse a cohort table with a full statistical model β it's a pattern-spotting tool, not a forecasting one.
Frequently asked questions
Do I need special software for cohort analysis?
No β a spreadsheet is genuinely enough for most small businesses. Purpose-built analytics tools can automate it once you're bigger, but you don't need to buy anything to start.
How far back should my cohorts go?
As far back as you have clean data for first-purchase and repeat-purchase dates β even six months of history is enough to start spotting a trend.
What's a "good" retention rate to aim for?
It genuinely depends on your industry, price point and purchase frequency β there's no universal benchmark, and anyone who quotes you one without knowing your business is guessing. Track your own trend over time instead of chasing an external number.
Is this worth doing for a very small business?
Honestly, if you're getting fewer than 10 new customers a month, the noise in a cohort table can outweigh the signal for quite a while. It's still worth setting up the habit early, but be realistic about how long it'll take before the data says anything reliable.
Keep reading π€
I help Gold Coast and Brisbane businesses grow with branding, websites and marketing that actually works.
Work with me ✦