Free tool

Repeat customer cohort visualizer

Upload your Shopify orders export and see how each month's new customers behaved afterwards. The file is read in your browser and never leaves this page.

Upload your Shopify orders export

Shopify admin, Orders, Export, all orders as CSV. The file is read in your browser and never leaves this page.

What the grid tells you

A single repeat purchase rate is an average of cohorts that may be moving in opposite directions. The grid separates them. If month-one retention has been climbing across recent rows, something you changed is working, even if the blended rate has not moved yet because older cohorts still dominate the customer base.

Read across a row to find your replenishment rhythm: the month where repeat orders cluster is when your post-purchase flows should be firing, and it is rarely where stores assume. Read down a column to compare like with like. Cohort retention analysis in Shopify works through both readings in detail, and LTV cohort analysis for marketing campaigns covers what to do once a cohort difference shows up.

This free version deliberately stops at repeat rate. It has no revenue, no segments and no projection, because those need live order data rather than a snapshot export. That is what cohort analysis inside By the Numbers is for. If you want the single-number version first, the LTV calculator turns a repeat rate into what a customer is worth.

Cohort questions, answered

Is my order data uploaded anywhere?

No. The CSV is read by your browser and the cohort grid is computed on your machine. Nothing in the file is sent to us or to anyone else, which is also why there is no size limit beyond what a browser can comfortably parse.

Which export do I need?

Shopify admin, Orders, Export, all orders as CSV. The tool needs a customer column (Email or Customer ID) and an order date column (Created at works). Multi-line-item exports are handled: repeated rows for one order are counted once.

How do I read the grid?

Each row is everyone whose first order fell in that month. Each cell is the share of that group who placed another order N months later. Read down a column to see whether newer cohorts behave better than older ones, which is the question retention work tries to answer.

Why are some cells blank?

Because that month has not happened yet for that cohort. A cohort three months old cannot have a month-six number, and filling it with zero would drag the column down and make recent cohorts look worse than they are.

Cohorts are worth watching, not exporting.

By the Numbers builds this grid from live orders and adds revenue per cohort, predicted LTV and the segments behind each row.

60-second install · 14-day free trial · No credit card required