How to use Aligning Retention Window To Median Repeat-Purchase Interval

Metricuno
August 22, 2026
6 min read
How to use Aligning Retention Window To Median Repeat-Purchase Interval — Set your retention window from real order data, not convention. Pull the median repeat-purchase interval from Shopify and use 1.5-2x to size the window.
Quick answer

A step-by-step method for turning your Shopify order history into a data-derived retention window — pull the cohort's median days-between-orders and multiply by 1.5-2x.

Definition
Retention & Cohort Analysis

Aligning Retention Window to Median Repeat-Purchase Interval

A method for sizing your retention window from real order history: take the cohort's median days-between-orders and multiply by 1.5-2x.

Aligning your retention window to the median repeat-purchase interval replaces a convention (30, 60, or 90 days, picked because everyone else uses it) with a decision derived from your own order data. You pull the median gap between a customer's first and second order across a stable cohort, then set the retention window at roughly 1.5-2x that interval — long enough to capture the typical repeat, short enough to still be a useful engagement signal.

The method matters because a fixed window flatters some verticals and buries others. Coffee at 32 days looks great inside a 30-day window; a considered-purchase apparel brand at 95 days looks dead. Same customers, same behaviour — different lens.

Also known as
data-derived retention window
median-interval retention sizing

Most Shopify stores inherit their retention window from whichever dashboard they set up first. GA4 defaults to 30 days. Klaviyo templates lean 60 or 90. The number becomes load-bearing in board decks and campaign briefs long before anyone checks whether it matches how customers actually behave.

This guide walks through the operational fix: pull your median repeat-purchase interval from order history, apply a 1.5-2x multiplier, and stress-test the result. It's the method that turns retention from a vanity metric into a diagnostic one.

Why a fixed retention window distorts your numbers

The retention window is the observation period during which a repeat purchase still counts as retention. Pick 30 days and you're implicitly claiming that customers who repeat on day 45 are churned. That claim is fine for consumables — coffee, protein powder, pet food — where 30 days sits comfortably above the typical repurchase gap.

It falls apart everywhere else. Skincare medians cluster around 55-75 days. Apparel sits at 90-140. Home goods stretch past 180. A 30-day retention window on those categories doesn't measure loyalty — it measures who happened to reorder unusually quickly, which is a fraction of your real repeat base.

The downstream damage is silent. Lifecycle emails fire at the wrong cadence. Paid-social lookalike seeds get built from a truncated repeat set. Cohort dashboards show a churn cliff that isn't real — it's just the window closing before your customers were ever going to come back.

The 30-day trap

A 30-day retention window flatters consumables and buries considered-purchase brands running the exact same acquisition playbook. If your category median is above 45 days, a 30-day window is measuring speed of return, not retention.

How to pull the median from Shopify

The core calculation is one query: for every customer with at least two orders in a stable cohort, compute the days between order 1 and order 2, then take the median of that distribution. Detail on the Shopify export path lives in the companion guide on pulling median days-between-orders from Shopify order history.

Two setup choices matter more than the SQL. First, exclude single-purchase customers from the calculation — they have no interval to contribute and dragging them in as zeros or nulls destroys the median. Second, pick a cohort window that's already had time to repeat: customers acquired 6-12 months ago, not last quarter.

Chart

How a fixed 30-day window distorts measured retention by vertical

0%20%40%60%80%CoffeeSupplementsSkincareBeautyApparelHome goods% of true repeat customers capturedVertical

The chart above is the case for deriving the window. A coffee brand's 30-day retention captures roughly four in five real repeat customers; an apparel brand's captures fewer than one in five. Reported retention diverges by 4-8x for reasons that have nothing to do with product, brand, or acquisition quality.

Applying the 1.5-2x multiplier

Once you have the median, multiply by 1.5x for a tight window (fast feedback, better for testing lifecycle changes) or 2x for a generous one (better for LTV-adjacent reporting and board metrics). The tradeoff is covered in depth in choosing between 1.5x and 2x the median interval as your window — the short version is that 1.5x optimises for signal speed and 2x optimises for coverage.

The multiplier exists because the median is only the midpoint. Half your repeat customers, by definition, come back after it. A window sized exactly at the median would capture only 50% of true repeaters. 1.5x pushes coverage into the 70-80% band; 2x reaches 85-90%. Beyond 2x you're mostly adding noise from long-tail repeaters who look more like reactivation than retention.

Benchmark

Typical median repeat-purchase interval and derived retention window by vertical

VerticalMedian interval (days)1.5x window (days)2x window (days)
Coffee & beverages28-354565
Supplements35-456080
Skincare55-75100135
Beauty & cosmetics65-90120160
Apparel90-140180240
Home & lifestyle150-220280370

Use the table as a sanity check, not a substitute. Median repeat-purchase intervals by DTC vertical vary widely by AOV band and subscription mix — a subscription-heavy skincare cohort will land closer to 30 days, and adjusting the derived window for subscription-heavy cohorts is its own consideration.

When to re-derive and when to segment

Medians drift. New product launches shorten them, price increases lengthen them, and seasonality bends both directions. Re-deriving the window when your median shifts quarter over quarter keeps the metric honest — a good default is checking the rolling median once per quarter and updating the window if it's moved more than 15%.

If your median calculation reveals a bimodal distribution — a cluster of 30-day consumable buyers and a second cluster of 120-day restockers — a single window will fit neither. Handling bimodal repeat-purchase distributions calls for either segmented reporting or deriving separate windows per acquisition channel when repeat behaviour diverges between paid social and organic search.

The order of operations

Stress-test candidate windows at 30/60/90/180 days first to see how sensitive your numbers are, then derive the median-anchored window, then apply the 1.5x or 2x multiplier. Doing it in that order keeps you from over-anchoring on whichever number happens to come out first.

Frequently asked

Frequently asked questions

Repeat-purchase intervals are right-skewed — a small tail of customers who reorder after 300+ days pulls the mean well above where most customers actually sit. The median is the honest midpoint of your real repeat base.

You want at least 300-500 customers with two or more orders in the cohort. Below that the median is noisy quarter to quarter. If you're smaller, widen the cohort to 12-18 months rather than 6.

For window sizing, start with just the first-to-second interval — it's the largest and most representative bucket. Later orders have shorter intervals because the customer has self-selected as a repeat buyer, and mixing them in will bias the median downward.

Use whatever you have, but expect the median to shift as later-repeating customers get counted. In the meantime, lean toward the 2x multiplier rather than 1.5x — the wider window gives you more coverage while the data matures.

Only after you separate one-time buyers from subscribers. Subscribers' intervals are set by the plan cadence, not preference, and mixing them into the median makes the number meaningless. Derive two windows or exclude the subscription cohort from the calculation.

LTV modelling estimates total future revenue from a customer; retention window sizing decides the observation period during which a repeat counts as retained. They use similar inputs but answer different questions — you need the window right before LTV reporting means anything.

Only if their medians are within 20% of each other. When repeat behaviour diverges — often paid social skews shorter, organic longer — deriving separate windows per acquisition channel gives you cleaner channel-level retention numbers.

For most Shopify stores in the €1M-€15M band, a properly sized window puts 60-day-equivalent repeat rates in the 22-35% range depending on vertical. Numbers wildly outside that range usually mean the window is still miscalibrated.

Check the median quarterly. Only update the window if it's moved more than 15% or if a product launch, pricing change, or channel-mix shift has clearly restructured the buying pattern. Constantly moving the window makes trend reporting impossible.

No — 30-day retention is still useful as a fast leading indicator, particularly for lifecycle email response. The derived window becomes your primary retention metric for cohort dashboards, board reporting, and LTV work. Both can coexist.

Track CAC, channels, and funnel conversion in one place

Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.