Skip to content
CRO

Ecommerce Cohort Analysis: How to Understand Repeat Customers

How to run ecommerce cohort analysis: define cohorts, read a retention table, compare acquisition channels and offers, and turn results into retention work.

Quick answer

Ecommerce cohort analysis groups customers by when, or how, they first bought, then tracks each group's repeat orders and revenue over time. Build a table with first-order month in rows and months since first order in columns, filled with repeat purchase rate or cumulative revenue per customer. Read across rows for a cohort's lifecycle and down columns to compare cohorts at the same age. Then cut cohorts by acquisition channel, first product and discount use to see which customers come back, and use the results to shape retention and acquisition spend.

Why Cohorts Beat Averages

An overall repeat purchase rate mixes customers who bought last week with customers from two years ago. When you acquire many new customers, the average falls even if retention hasn't changed. Cohorts fix this by comparing customers at the same stage of their relationship with you.

How to Read a Cohort Table

The diagram above shows the standard layout. Each row is a cohort, such as customers whose first order was in a given month. Each column is time since that first order. Month 0 is 100% by definition. The table forms a triangle because recent cohorts haven't reached later months yet.

DirectionWhat it shows
Across a rowHow one cohort behaves over its lifetime
Down a columnWhether newer cohorts retain better or worse at the same age
Along a diagonalCalendar effects: a sale or season affecting all cohorts at once

Choose the Metric

MetricAnswers
Retention / repeat rateWhat share of the cohort ordered in that month (or by that month)?
Cumulative revenue per customerHow much has each customer spent in total so far?
Cumulative margin per customerHow long until acquisition cost is recovered?
Orders per customerHow often do they buy?
Active customersHow many are still buying?

Pro tip

Decide whether cells show “ordered in this month” or “ordered at least once by this month”. The two look very different and are often confused.

Building One

You need three fields per order: a customer identifier, the order date and the order value (net of refunds if possible).

  • Find each customer's first order date; that sets their cohort
  • For each order, calculate months since the customer's first order
  • Count distinct customers (or sum revenue) per cohort per month
  • Divide by the cohort's size to get rates or per-customer values
  • Exclude test orders and staff purchases; handle refunds consistently

Cohorts in Shopify

Shopify's customer cohort analysis report groups customers by the date of their first order and lets you switch the metric between number of customers, customer retention rate, gross sales, net sales and average order value (Shopify Help Center). Shopify also offers RFM customer analysis reports. For cuts the report doesn't support, export orders and build the table in a spreadsheet or BI tool. See Shopify analytics.

Cuts That Reveal the Most

Cohort byWhat you learn
Acquisition channelWhich channels bring customers who come back
First product or categoryWhich products create repeat customers
Discount on first orderWhether discount-acquired customers return at full price; see offers and discounts
Subscription vs one-timeHow subscribers compare, including after cancellation
Market or countryWhether delivery or pricing affects repeat behavior

Growing sales but not repeat customers?

ZSpace analyses your cohorts and designs the post-purchase and reorder experience around what the data shows.

Start a Project

Turning Cohorts Into Action

Cohort patterns point to specific retention work.

FindingResponse
Steep drop after the first orderImprove onboarding, product education and post-purchase communication
Repeat orders cluster at a predictable intervalTime replenishment reminders or subscription offers to it
Discount cohorts rarely returnRethink first-order discounts; test other risk-reducers
One first product retains far betterLead acquisition with that product
Newer cohorts retain worseCheck product quality, delivery, or a change in audience

Plot cumulative margin per customer by cohort against acquisition cost. The month where the line crosses is the payback point. Channels whose customers pay back slowly may still be worth it if those customers keep buying; channels whose customers never return need a different case. For D2C brands, where acquisition is expensive, this belongs in every D2C CRO plan.

Designing for Repeat Purchase

Analysis only helps if the experience supports coming back: easy reordering, useful accounts, clear subscription management, and communication that helps customers get value from the product. See D2C repeat purchase UX.

Cohort Types Beyond Acquisition Month

Acquisition-month cohorts are the default, but other groupings answer different questions. Group customers by first product category to see which entry products lead to repeat buying, by acquisition channel to compare the customers each channel brings, by first-order discount to see whether promotions attract loyal buyers, and by market or device. Behavioural cohorts (customers who created an account, joined loyalty or subscribed in their first month) show whether those behaviours go with better retention, though not necessarily cause it.

Cohort byQuestion answered
Acquisition monthAre newer customers better or worse than older ones?
First product categoryWhich entry products lead to repeat orders?
Acquisition channelWhich channels bring customers who stay?
First-order discountDo promotions attract loyal or one-time buyers?
Market or regionDoes retention differ by market?
Early behaviour (account, loyalty)Which early actions go with retention?

Revenue Cohorts and Payback

Customer retention counts people; revenue cohorts track money. For each cohort, sum net revenue (after refunds) or contribution margin per customer in each month since acquisition, and plot the cumulative figure. Compare it with acquisition cost for the same cohort to see the payback period: how many months until cumulative margin covers the cost of acquiring the customer. Payback by channel is often more useful for budget decisions than first-order return on ad spend. See customer lifetime value and ecommerce attribution.

Reading Cohorts After a Change

Cohort tables are one of the best ways to see whether a change worked: a new loyalty programme, a packaging improvement, a switch in acquisition mix. Mark the change on the table and compare cohorts acquired just before and just after at the same age. Be careful with seasonality (holiday cohorts often behave differently) and with other changes happening at the same time. Where possible, pair cohort comparison with a holdout. See retention analytics and churn analysis.

Pitfalls

  • Guest checkouts splitting one customer into several
  • Cohorts too small to trust
  • Comparing young cohorts with old ones on cumulative totals
  • Mixing “in month” and “by month” retention
  • Ignoring refunds and returns
  • Missing seasonality: a holiday cohort behaves differently

Want retention you can measure and improve?

Talk to ZSpace about retention and CRO analysis, account and reorder UX and Shopify implementation.

Start a Project

Conclusion

Cohort analysis shows whether customers come back, which ones and when. Build the table, pick a clear metric, compare cohorts at the same age, cut by channel, product and offer, and turn patterns into retention work and smarter acquisition. For the wider measurement plan, see ecommerce analytics and ecommerce KPI dashboard.

For related guides, see ecommerce customer segmentation.

FAQ

Common questions

Grouping customers by a shared starting point, usually the month of their first order, and tracking how each group behaves over time: how many order again, how much they spend and how quickly.

Get in touch

Have a project in mind?

Whether you're building a new digital product, improving an existing website, or looking to automate part of your business — let's talk.