eCommerce
What is cohort analysis in ecommerce? A DTC operator's plain-English guide (with 2026 benchmarks)
Cohort analysis groups customers by their first-purchase month and tracks repeat rate and lifetime value as each cohort ages. A healthy DTC brand targets 20 to 30 percent month-3 retention; below 15 percent signals a product or onboarding problem, not just a CAC problem. The 2026 benchmarks here cover m0 to m3 by vertical so you can see where your brand stands.
Key Takeaways
- A cohort is a group of customers who first bought in the same time window (usually a calendar month). Cohort analysis tracks how that specific group repeats and spends in the months after their first order.
- Karbon Analytics' synthesized cross-vertical "healthy" range is 35 to 42% repeat in month 1, 28 to 31% in month 2, and 22 to 25% in month 3, measured non-cumulatively. Treat that as an aggregate ceiling, not a per-vertical target. Real-world DTC verticals sit much lower at m1 (apparel 15%, beauty 23%, supplements 26%, CPG 21%). Benchmark against your category, not the cross-vertical figure.
- Apparel cohorts cliff: typical 30-day repeat is 10 to 18%, 90-day cumulative 22 to 32%. Supplements and beauty stripe: 30-day 15 to 30%, 90-day cumulative 30 to 50%+. The shape of the curve tells you the category before the AOV does.
- The biggest leak is almost always m0 to m1 (first to second order). That is where Klaviyo welcome and post-purchase flows, replenishment timing, and bounceback offers pay back fastest.
- None of Klaviyo, Lifetimely, Recharge, or Triple Whale publish a public 2026 m0 to m3 vertical benchmark dataset. The numbers below are synthesized from Shopify, Karbon, and Count.co plus operator pattern across our founder-call library. Treat them as ranges, not point estimates.
If you have ever opened your Shopify report and seen one blended retention number that does not actually help you decide anything, this guide is for you. Cohort analysis is the alternative. It splits your customers by when they first bought and tracks each group on its own timeline, so you can see whether your January 2026 cohort is holding up or whether the wheels fell off at month 2 like they did for the November cohort.
This post defines the term, walks through what a cohort table actually looks like, gives you 2026 m0 to m3 benchmark ranges by vertical (apparel, beauty, supplements, CPG), and ends with the operator decision: where on the curve to spend your next dollar.
What is cohort analysis in ecommerce, in one paragraph
A cohort is a group of customers who first bought from you in the same time window, usually a calendar month. Cohort analysis is the practice of tracking each cohort separately over time so you can see how that specific group repeats and spends. A cohort table has rows (acquisition month: Jan 2026, Feb 2026, Mar 2026), columns (months since first order: m0, m1, m2, m3), and cells (% of the cohort buying that month, plus cumulative LTV). The diagonal of the table shows seasonality. The drop from one column to the next shows retention. The difference between rows shows whether each new acquisition month is better or worse than the last.
That is the entire move. It is much sharper than asking "how is retention?" because it answers "is the January cohort better or worse than the March cohort, and at which month did the wheels fall off?"
What a cohort table actually looks like and how to read it
A cohort table looks like a triangle. The top-left cell is your oldest cohort at m0. As you move right along the row, you are watching that one cohort age. As you move down a column, you are comparing different cohorts at the same age. Newer cohorts have fewer columns filled in because they have not aged yet.
Three patterns matter on a heatmap of that table:
- The diagonal. Cells running diagonally down-right show the same calendar month for each cohort. A vertical band of unusually high or low color on the diagonal means a seasonal spike or holiday slump. If December lights up across every cohort, that is holiday demand.
- The cliff. A sharp color drop between m0 and m1 followed by a long flat tail. Typical for apparel, footwear, jewelry, and considered-purchase categories where customers are not on a replenishment cycle.
- The stripes. Repeated horizontal bands of color every 30, 60, or 90 days. Typical for supplements, skincare, pet food, and any replenishment category. The stripe spacing is your replenishment cycle in days.
The same heatmap visualized as lines (one line per cohort) makes the shape obvious. Apparel drops fast then flattens. Supplements drops shallower then ripples. The shape tells you what kind of business you have before the AOV does.
2026 DTC cohort benchmarks by vertical
Below are the 2026 ranges we use when we benchmark client cohorts. Treat them as midpoints of operator-observed ranges, not point estimates. None of Klaviyo, Lifetimely, Recharge, or Triple Whale publishes a public 2026 m0 to m3 vertical curve as a dataset, so the only honest way to triangulate is to combine Shopify's cohort report, your ESP's repeat-rate metric, and your vendor's in-app benchmark dashboard.
Two views below: non-cumulative (the table immediately following, where each cell is the share of the cohort buying that specific month) vs cumulative (the 30/60/90-day chart after, where each band is the share that bought at least once by that day). Don't compare numbers across the two views; they answer different questions.
Vertical m0 m1 m2 m3 Apparel 100% 15% 9% 7% Beauty 100% 23% 18% 14% Supplements 100% 26% 21% 17% CPG / Pantry 100% 21% 16% 12% Generic "healthy" benchmark 100% 38% 30% 23%
The same data, cut as cumulative repeat-purchase rate over 30, 60, and 90 days, looks like this:
The honest caveat: vendor-published 2026 numbers exist inside Klaviyo Benchmarks, Lifetimely Industry Benchmarks, Recharge Insights, and Triple Whale Pulse, but they are gated to each tool's customers and they shift quarterly. The synthesized ranges above are anchored to public Shopify and Karbon guidance plus what we see across our own client cohorts.
Where the wheels fall off: reading the curve to find your single biggest leak
For almost every DTC brand we benchmark, the single biggest leak is m0 to m1 (first to second order). The drop from 100% of the cohort buying in m0 to 15 to 26% buying in m1 (apparel low end, supplements high end of the typical-range midpoints in the table above) is usually larger than every subsequent drop combined. It is also the most fixable because the customer is fresh, they have your packaging in their hand, and your post-purchase flow can reach them.
Diagnostic logic by vertical:
- Apparel. If your m1 is under 10%, you are in cliff territory and your post-purchase flow probably isn't doing any work. Strong apparel cohorts hit m1 of 18 to 25%. Levers: bounceback offer in the unboxing, "complete the outfit" cross-sell flow at day 7, restock email at day 30.
- Beauty. If your m1 is under 15%, you are not capturing replenishment intent. Strong beauty m1 sits at 25 to 35%. Levers: replenishment reminder timed to actual product longevity (45 days for serum, 60 to 90 for SPF), subscription upsell on second order.
- Supplements. If your m1 is under 18%, your product is being treated as a try, not a routine. Strong supplements m1 sits at 30 to 40%. Levers: 30-day automatic replenishment reminder, "you are on day 28 of your bottle" trigger, founder note at day 21 explaining what to expect.
- CPG / pantry. If your m1 is under 15%, your AOV is probably too low to make the second purchase feel worth the friction. Strong pantry m1 sits at 25 to 35%. Levers: bundle the second-order SKU on the first order, free-shipping threshold tuned to two units, replenishment subscription with skip controls.
The pattern across all four: m0 to m1 is owned by the post-purchase experience, not paid media. If you are leaking at m1, no amount of additional ad spend fixes it.
From cohort curve to CAC and payback
The reason any of this matters financially: cohort LTV by acquisition month is how you set your CAC ceiling and your payback window. If your 90-day cumulative LTV per new customer is $120 and your gross margin is 60%, you have $72 of contribution to recover acquisition cost in 90 days. If your fully-loaded CAC is $90, you are upside down on a 90-day window and need 4 to 6 months to break even depending on returns and refunds. For the full LTV:CAC framing, see our LTV:CAC ratio guide. For category-typical repeat-purchase rates and how returns chew into 90-day contribution, see average repeat-purchase rate by vertical and average ecommerce return rate.
Typical 2026 ranges by vertical:
Vertical Typical AOV Orders by day 90 90-day LTV per new customer Apparel $70 to $90 1.4 to 1.7 $100 to $150 Beauty $50 to $80 1.6 to 2.0 $80 to $160 Supplements (blended) $60 to $90 1.8 to 2.3 $110 to $200 CPG / Pantry $35 to $60 1.6 to 2.0 $60 to $110
Worked example. A $1.2M apparel brand at $80 AOV and 60% gross margin. The cohort hits 1.5 orders by day 90, so 90-day LTV per new customer is $120. Contribution at 60% is $72. A fully-loaded CAC of $50 leaves $22 of 90-day contribution after acquisition, which funds product, ops, and CX. A fully-loaded CAC of $80 leaves negative $8 of 90-day contribution, which means you are betting on m4 to m12 to bail you out. Cohort analysis is what tells you whether that bet is reasonable. If your m4 to m12 has been flat across the last six cohorts, it is not.
The shape of your cohort curve tells you where to spend your next dollar. Cliff between m0 and m1 means post-purchase flow and replenishment timing, not more paid traffic. Soft m4 to m12 tail means lifecycle and winback, not more welcome-flow tweaks. Cohort analysis is the diagnostic. The interventions are the prescription.
How to actually run this in Shopify, Klaviyo, Lifetimely, and Triple Whale
Tool by tool, in two to three sentences each:
- Shopify Customer Cohort report. Free, lives under Reports, Customers. Groups buyers by first-purchase month, shows % returning each subsequent month. Use it for the basic shape; it does not surface LTV by cohort or channel splits.
- Klaviyo. Cohorts are built off first-event timestamps, usually placed-order. Reach the cohort tile from the Analytics tab. Klaviyo is excellent for tying cohort behavior to flow performance (welcome series, post-purchase, replenishment), less useful as a standalone cohort LTV view.
- Lifetimely. First-purchase month rows, cumulative LTV columns, channel splits available. The standard mid-market choice for DTC brands that want cohort LTV without building a warehouse pipeline.
- Recharge. Subscription-start-date cohorts, which is the right primitive if subscription is your main retention mechanic. Pairs well with Lifetimely or Triple Whale for the non-sub side.
- Triple Whale Pulse. Cohort views by first-purchase date with strong channel and creative attribution overlays. The best fit if you want to tie cohort quality to acquisition channel.
The operator decision is not which tool you pick. It is whether you actually look at the cohort table every week and design lifecycle interventions at the inflection points the table reveals. Most brands install the tool, look at it twice, and forget. The ones that compound look at it on the same day every week and make one change.
Sources and methodology
Shopify, "Cohort Retention Analysis for Small Businesses: Tips and FAQ." Source for the cohort-table definition, the cliff / stripes / diagonal pattern vocabulary, and the recommendation to layer Google Analytics or Mixpanel for deeper segmentation. Available at shopify.com/blog/cohort-retention-analysis.
Karbon Analytics, "Ecommerce Cohort Analysis: A Practical Guide for Shopify." Source for the healthy-cohort midpoints (m1 35 to 42%, m2 28 to 31%, m3 22 to 25%) and the row, column, cell schema we use throughout this post. Available at karbonanalytics.com.
Count.co, "Cohort Analysis: Tutorial, Examples and Tips." Source for the broad B2C ecommerce retention bands (1-month 20 to 30%, 6-month 15 to 25%, 12-month 10 to 20%) referenced in the benchmark tables. Available at count.co.
Stripe, "Cohort analysis for businesses: Here is what to know." Source for the generic cohort definition and use-case framing. Available at stripe.com/resources.
Vendor benchmark dashboards. Klaviyo Benchmarks, Lifetimely Industry Benchmarks, Recharge Insights, and Triple Whale Pulse all surface 2026 cohort numbers inside their products. We deliberately did not invent vendor-attributed numbers in this post because none of the four publishes a public 2026 m0 to m3 vertical curve. Operators should triangulate by combining Shopify's free cohort report, their ESP's repeat-rate metric, and the in-app benchmark feature of whichever cohort tool they use.
Operator pattern layer. The m0 to m1 leak observation and the lifecycle-intervention prescription come from the pattern we see across the Eightx founder-call library (5,400+ recorded operator calls). No client names are used; the pattern is described in the aggregate.
Limitations. All vertical ranges are illustrative midpoints of operator-observed ranges across our client base and the three public sources above. They are not vendor-published point estimates. A given brand's cohorts can sit outside these ranges for legitimate reasons (premium price tier, subscription-led model, B2B-leaning DTC). Use the ranges to orient, then benchmark against your own last six cohorts.
Update cadence. This page is refreshed quarterly. Next update target: September 2026.
Frequently asked questions
what is cohort analysis in ecommerce in plain english?
It is grouping your customers by the month they first bought from you, then watching what that specific group does in the months after. Instead of one blended retention number, you get a row per acquisition month and a column per month-since-first-order. You can see exactly which cohorts are healthy and which fell off a cliff, and at what month.
what is the difference between a cohort and a segment?
A cohort is a group defined by a shared moment in time, usually first-purchase month. A segment is a group defined by a shared trait, like "spent over $200" or "bought from the SPF collection." Cohorts age together over time. Segments are usually a snapshot. You can cut a cohort by segment (the January cohort that bought SPF), but the cohort is the time-based spine.
how do i build a cohort analysis in shopify?
Shopify Analytics has a Customer Cohort Analysis report under Reports, Customers. It groups buyers by first-purchase month and shows the % returning each subsequent month. It is basic (no LTV by cohort, no channel split) but it is free and accurate. For LTV and channel cuts you graduate to Lifetimely, Triple Whale, or a Klaviyo + warehouse setup.
what is a good 30-day repeat purchase rate for a dtc brand?
Depends entirely on category. Apparel typical is 10 to 18%, strong is 18 to 25%. Beauty typical 15 to 25%, strong 25 to 35%. Supplements typical 18 to 30%, strong 30 to 40%. If you compare your apparel brand against a supplements benchmark you will think you are failing when you are at category median. Benchmark against your vertical.
what does the m0 m1 m2 m3 cohort curve actually mean?
m0 is the month the customer first bought (always 100% of the cohort by definition). m1 is the next calendar month, m2 the one after, and so on. The percentage at each month is the share of the original cohort that placed at least one order in that month. m0 to m1 is the steepest drop for almost every DTC brand and the highest-impact place to intervene.
Browse the full ecommerce finance glossary for every metric and money term a DTC operator needs.
