Meelu

Free cohort analysis tool

Your overall retention number is one figure covering customers who joined years apart, so it cannot tell you whether you are getting better. Upload a CSV of your orders or customers and see how long each month’s arrivals stayed, whether the recent ones are holding up better, and the month things changed. It runs in your browser, so the file never leaves your machine.

Drop a CSV of orders or customers here, or

An event log (customer id, date, optional amount) or a customer table (id, signup date, last-active date). Up to 200,000 rows. Nothing is uploaded.

The file is read and the grid is built in this browser tab. It never reaches our server, so there is nothing for us to keep.

  • No account
  • Nothing uploaded
  • Orders or customers file
  • Free, no sign-up
  • CSV export

What this retention cohort analysis gives you

One retention figure for the whole business mixes customers who arrived under completely different products, prices and onboarding flows, and reports the average as though it described something.

See which months brought good customers

One row per signup month, shaded so the groups that stuck around stand out. Months that have not happened yet are left blank rather than counted as people leaving — which is where most spreadsheet versions go wrong.

Takes whichever file you already have

An order or activity log with one row per event, or a customer table with a signup date and a last-active date. It works out which you gave it, says so, and lets you correct it.

Points at the month things changed

It names the signup month where retention shifts, and tells you plainly when the shift is too small to trust rather than letting you read a story into the colours.

Are you getting better or worse?

Every signup month drawn as a line from its own day one. If the newer lines sit above the older ones, the customers you are winning now are better ones. That is easier to see than reading a grid row by row.

The money, not just the headcount

If your file has an amount column you get the same view in revenue. Losing a third of your customers but only 5% of your money is a very different business from the other way round.

Download it, nothing uploaded

Take the grid and a plain summary away as a CSV. Your file is read inside your browser tab and never reaches our server. Free, no sign-up.

How to run a customer cohort analysis

  1. Step 1

    Export orders or customers to CSV

    An order or activity log needs a customer id and a date. A customer table needs a customer id, a signup date and a last-active or cancellation date. An amount column in either is optional and gets you the revenue view too.

  2. Step 2

    Drop the file on the box

    The columns are picked out of your headers and the grid is built inside your browser. Nothing is uploaded and there is no account to make.

  3. Step 3

    Find out what changed that month

    You get told which signup month things shifted in. That turns a chart into a question worth asking: what did you change then, and can you do more of it?

How to read the grid

Four things to look at, and one trap. The trap is the empty corner.

The row
Everyone who arrived in one month, followed forward. Nobody gets added to the row later, so it always describes the same group of people.
The column
Months since that group signed up, not calendar months. M0 is everybody. M1 is the share who came back the month after, and that first drop is almost always the biggest one on the page.
The colour
How many stayed. Read down a column and you are comparing this year's arrivals to last year's at the same age — the comparison one overall retention number cannot give you.
The empty cells
Months that have not happened yet for that group. They are not zero and nobody has left. They are kept out of the average row at the bottom, and you are shown how many groups sit behind each average so you can see the evidence thinning out as you look right.
The average row
Every group that has actually reached that month, counted by size. A month that brought four hundred customers and one that brought twelve do not get an equal say.

If you have been building this in Excel

Most people searching for cohort analysis in Excel are looking for a way to stop. The spreadsheet version is a helper column of months-since-signup, a COUNTIFS grid, and conditional formatting — perfectly good, and rebuilt from scratch every time the data refreshes.

Two things go wrong in that build often enough to be worth naming. Months that have not happened yet come back as zero, so the corner of the grid fills up with customers who never actually left, and the average row underneath inherits it. And the month you are currently in gets counted as though it were finished, so every group looks like it falls off a cliff at the end. Both are handled here, and you are told what was left out and why.

You still get a CSV at the end. It is the same grid, and it opens in Excel — the difference is that rebuilding it next month is a drag and a drop rather than a morning.

What it does not do

  • No benchmarks. It will not tell you whether 38% at month six is good. That depends on what you sell, at what price, to whom. The retention benchmarks floating around online come from companies that count things differently to you. Your own earlier months are the comparison that actually means something.
  • Groups by signup month only. Splitting by plan, channel or company size is often the more revealing cut and it is not here — filter the CSV first, or use the MCP version below.
  • No forecasting. It measures what happened. It does not extrapolate the curve forward, project lifetime value or fill in the empty cells with a fitted estimate — which would defeat the point of leaving them empty.
  • One file at a time. It cannot join your orders to your support tickets, and it cannot answer a follow-up question. One upload, one answer.
  • Nothing is stored. There is no account, no history and no scheduled refresh. Download the CSV if you want to keep the result.

The file is read in your browser tab and never reaches our server.

Frequently asked questions

What is cohort analysis?

Cohort analysis groups customers by when they joined and then follows each group forward in time separately. Instead of one retention number for the whole business, you get a curve for January signups, a curve for February signups, and so on. It matters because a blended number hides the thing you want to know: whether the customers you are winning now stay longer than the ones you won a year ago.

How do you do a cohort analysis?

Start with a table of events that has a customer id, a date and ideally a value. Assign each customer to a cohort based on the month of their first event, then for every month afterwards count how many of that cohort were still active. Divide those counts by the cohort's starting size to get percentages, and lay them out as a grid with cohorts down the side and months since signup across the top. The diagonal shape falls out of the fact that recent cohorts have had fewer months to be observed.

What is a good retention rate?

It depends entirely on the model, so compare against your own category. B2B SaaS selling to larger companies should see 90%+ annual customer retention; SMB SaaS commonly sits at 70-80%. For consumer apps, month-one retention of 25-35% and month-twelve of 10-15% is respectable. The signal that matters in any of them is a retention curve that flattens rather than one that keeps sliding towards zero.

What is the difference between retention and churn?

They are two views of the same number: retention plus churn equals 100% for the same period and the same group. If 92% of your customers are still here after a year, annual churn is 8%. Retention is the more useful frame for cohort work because it is what you plot as a curve, and because “still here” is easier to define consistently than “has left”.

What is net revenue retention?

Net revenue retention is the recurring revenue a cohort produces today as a percentage of what it produced at the start, including upgrades, downgrades and cancellations. Above 100% means the cohort is growing even though some of its customers have left. Good B2B SaaS is 110-120%; best-in-class is above 130%. Gross revenue retention is the same figure with expansion excluded, so it can never exceed 100% and shows you the leak on its own.

What is the difference between cohort analysis and segmentation?

Cohorts group people by when something happened; segments group them by what they are. A cohort is “everyone who signed up in March”, a segment is “everyone on the enterprise plan”. Cohorts let you compare behaviour over time on a level footing, because every group is measured from its own day one. The two combine well: run the same cohort grid separately per plan, channel or region and the differences usually show up quickly.

Should cohorts be weekly or monthly?

Use monthly cohorts for subscriptions and anything with a long buying cycle, and weekly cohorts for high-frequency products or when you want to see the effect of a recent change. The test is whether a typical customer would be expected to come back within the period. If most people only act once a month, weekly cohorts just produce a sparse grid of small numbers that reads as noise.

How many customers do you need for a cohort analysis?

Aim for at least a few hundred customers per cohort before you read much into the percentages. With 20 people in a cohort, one person leaving moves retention by five points, so the grid will look dramatic while telling you nothing. If the cohorts are thin, widen the period from weekly to monthly or quarterly rather than trying to interpret the wobble.

The version that follows up

This page does one thing with one file, in your browser, and then stops. The obvious next question — why did March change, was it a channel, a price, a plan — needs a second file and a conversation, and a web form cannot have one.

For the follow-up questions, run the same analysis inside your AI assistant with meelu-analytics-mcp. It reads the files off your disk, joins your orders to your customers to your support data, and groups cohorts by any column rather than only by signup month. It is free and open source, and it runs locally for the same reason this page does. See the cohort retention use case.

The other free tools on the same data

A cohort grid tells you which arrivals held up. These answer the next three questions from the same customer file, and all of them run in your browser too.

  • RFM analysis — who your customers are right now, sorted by how recently and how often they buy and how much they spend.
  • Customer LTV calculator — what a customer is worth over their life, which is the number the retention curve is really an argument about.
  • Churn prediction — which individual accounts look like the ones that left, rather than which month they arrived in.

All of them are pieces of Meelu, a desktop app where an AI marketing agent runs your marketing on your own machine. Join the waitlist.