How to use Cohort Repeat Curve

A cohort repeat curve tracks how each acquisition month's repeat rate develops over the following year — the fastest way to separate a degrading product from a slow-burn category.
Cohort Repeat Curve
A view of how each acquisition month's repeat purchase rate develops over the following 12+ months.
A cohort repeat curve plots repeat purchase rate on the y-axis and months-since-first-order on the x-axis, with one line per acquisition month. Instead of a single sitewide repeat-purchase-rate number that mixes cohorts of every age together, you see how a January 2024 cohort behaves at month 3, month 6, month 12 — and how that compares to the February 2024 cohort at the same ages.
That like-for-like framing is what makes the curve diagnostic. It exposes whether a recent dip in your sitewide RPR is a real behaviour change or just young cohorts pulling the average down, and it tells you which product, channel or campaign is actually shaping retention.
Most retention dashboards show one number: sitewide repeat purchase rate. It moves up or down every week and nobody quite knows why. The cohort repeat curve is the fix — it decomposes that one number into a family of curves, one per acquisition month, so you can see which cohort is dragging the average and at what age.
For a Shopify apparel or beauty brand doing €1M-€15M a year, this is usually the single highest-signal chart in the analytics stack. It answers questions paid-media dashboards can't: is the September cohort weaker because the product is degrading, or because those buyers came from a promo that pulled forward a one-off audience? The curve tells you within one screen.
What the curve is actually showing
Each line on the chart is one cohort — typically all customers whose first order landed in a given calendar month. The x-axis is months since that first order (0, 1, 2, 3...), not calendar time. The y-axis is the share of that cohort who have placed at least one additional order by that age.
Because the x-axis is cohort age, not calendar date, every cohort starts at zero on the left and grows to the right. A healthy DTC curve rises fast in months 1-3, keeps climbing more slowly through months 6-9, then flattens somewhere between month 9 and month 15. The flattening point is roughly your natural repurchase cycle.
The most important property of the chart is that younger cohorts have shorter lines. The cohort acquired last month can only be observed at age 0-1; the cohort from twelve months ago has a full 12-point line. This truncation is the source of almost every misread of the curve — and the reason a recent RPR dip is usually a windowing artifact, not churn.
Rule of thumb
Compare cohorts only at ages where both have data. A January cohort at month 9 vs a July cohort at month 3 is not a comparison — it's a category error. Read the curve column-by-column (fixed age), not line-by-line.
The three shapes you'll see
In practice curves fall into three archetypes, and knowing which one you have determines the retention playbook. The dedicated guide on reading a cohort repeat curve — decay vs slow-burn vs flat — walks through each in detail; the short version follows.
A decay shape climbs sharply in the first 60-90 days then stalls. Typical of single-purchase or gift categories, or of stores where the second-order experience isn't merchandised. A slow-burn shape keeps rising through month 9-12 — common in consumables, skincare refills, and subscription-adjacent categories. A flat shape barely lifts off zero and signals either a product-fit problem or a badly-targeted acquisition channel.
Three archetypal cohort repeat curves
Decay (giftable / one-shot)
Slow-burn (consumable)
Flat (poor fit)
The wrong intervention on the wrong shape wastes budget. Pushing win-back email at a decay-shape apparel brand mostly reactivates people who were coming back anyway. Cutting acquisition spend on a flat-shape channel is usually the right call — no amount of lifecycle marketing rescues a cohort that never engaged with the product.
Benchmarks: what a healthy curve looks like
Repeat rates vary hugely by category, so the absolute number matters less than the shape. That said, if you're a Shopify store in one of the common verticals, the table below gives you a rough reference for M3, M6 and M12 cohort repeat rates. Treat these as ballparks — your own historical cohorts are always the better benchmark.
The most useful comparison isn't your curve against a public benchmark; it's your recent cohorts against your own cohorts from 12-18 months ago. That's why a historical GA4 import matters on day one — without it you have no baseline to detect drift against.
Typical cohort repeat rates by DTC vertical (M3 / M6 / M12)
| Vertical | M3 repeat rate | M6 repeat rate | M12 repeat rate | Shape |
|---|---|---|---|---|
| Beauty & skincare | 22-28% | 38-45% | 50-58% | Slow-burn |
| Supplements (non-sub) | 25-32% | 42-50% | 55-65% | Slow-burn |
| Apparel — basics | 15-20% | 25-32% | 35-42% | Slow-burn |
| Apparel — occasion | 8-12% | 14-18% | 18-24% | Decay |
| Home & decor | 10-14% | 16-22% | 22-28% | Decay |
| Coffee & tea | 30-40% | 48-58% | 60-70% | Slow-burn |
| Pet food & treats | 35-45% | 55-65% | 68-78% | Slow-burn |
| Consumer electronics | 6-10% | 10-14% | 14-18% | Decay |
If your M12 repeat rate is materially below the low end of your vertical's range, the issue is usually one of three things: post-purchase experience (unboxing, first-use), second-order merchandising (the product page doesn't cross-sell the natural refill), or acquisition mix (a channel bringing in one-off promo hunters). The curve won't tell you which — but it tells you the problem is real, not a measurement quirk.
Common misreads and how to avoid them
The two failure modes that come up almost every week are (1) reading a recent RPR dip as churn when the young cohorts simply haven't had time to repeat yet, and (2) trusting a cohort curve built on 60-80 first-time buyers a month. Both are avoidable if you set the analysis up correctly.
The windowing artifact is the more common one. If your last three cohorts look weaker than the ones before, check whether you're comparing them at the same age. A cohort three months old cannot show its month-6 repeat rate yet — the line just hasn't reached that point. Truncated data plotted alongside mature data reads as a dip that isn't there.
The sample-size problem is quieter but as dangerous. Below roughly 300 first-time buyers per cohort, month-to-month noise dominates the signal. For smaller stores the fix is to widen the cohort window — bi-monthly or quarterly cohorts — until each contains enough buyers for the repeat rate to stabilise. There's a dedicated guide on minimum cohort size for the trustworthy repeat curve if you're operating near that threshold.
Before you flag a bad cohort to media buyers
Rule out three things: (1) age truncation — is the cohort old enough to compare? (2) sample size — is the cohort big enough for the number to be stable? (3) seasonality — is this cohort's month-3 falling in a naturally quiet quarter? Only after all three checks should you flag a cohort as underperforming and ask paid teams to slow spend on the associated channel.
Frequently asked questions
Sitewide RPR mixes cohorts of every age into one number, so it moves whenever your acquisition volume changes — even if underlying behaviour is stable. The cohort curve holds age constant, so a change in the curve reflects a real change in customer behaviour. Both metrics can lie; the cohort curve lies less often and more predictably.
Usually no. The most common cause of a weak-looking recent cohort is that it's too young to have repeated yet. Compare it against older cohorts only at the age the young one has actually reached. If your July cohort at month 2 tracks your January cohort at month 2, retention is fine — you were just misreading a windowing artifact.
You need at least 6 mature cohorts (12+ months old) to establish a baseline shape, plus enough recent cohorts to detect drift. If you don't have that history natively, a historical GA4 import can rebuild 12-24 months of cohorts on day one — which is how most stores get to a diagnostic curve without waiting a year.
Aim for at least 300 first-time buyers per cohort for month-to-month reads. Below that, noise dominates and any single point can mislead. Smaller stores should widen to bi-monthly or quarterly cohorts until the cohort size stabilises.
Yes, once your total volume supports it. Channel-cohort curves are how you flag a bad channel to media buyers before they scale it — a Meta cohort with an M3 repeat rate half of your Google cohort's is a signal to slow spend, not push it. This requires both enough volume and clean attribution.
Yes, distinctively. New subscription cohorts show a sharp early lift (month 1-2) followed by a plateau that sits well above the pre-launch baseline. If you see that signature on cohorts acquired after your subscription launched, the programme is working. Absence of the signature means subscribers aren't showing up as repeat orders — usually an attribution or SKU-mapping problem.
GA4 has the raw purchase events but not always the clean user-stitching you need for reliable cohort assignment. It works as a starting point — especially with a historical import to backfill 12-24 months — but most stores end up joining it against Shopify order data for the customer key. The math is the same; the identity resolution is what matters.
Weekly is enough for most stores. The curve is a strategic diagnostic, not a real-time dashboard — daily refreshes tempt over-reaction to noise. Set a weekly review, and only escalate when a mature cohort (6+ months) drifts materially from the baseline of the six cohorts before it.
Isolate the cohorts acquired after the initiative launched and compare their curve against the pre-launch cohorts at matched ages. If the post-launch cohorts are consistently above the baseline at month 3 and month 6, the initiative is the most likely driver — but confirm by segmenting on who was exposed. Attribution on the curve is easier than on sitewide RPR because you can hold cohort age constant.
Most GA4 dashboards don't; you need either a dedicated retention tool or an analytics platform with cohort primitives built in. Metricuno builds the curve from your historical GA4 import on day one, so you get a mature baseline the moment you connect — no 12-month wait.
Get an AI expert review of your site
Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.