Stop Guessing When Your Customers Will Reorder

Almost every replenishment flow is set to 30, 60 or 90 days because the number sounded about right. Here is how to work out yours from your own orders.

Open almost any Klaviyo account and you'll find a replenishment flow set to 30 days. Or 60. Or 90, if somebody was feeling cautious.

Ask where the number came from and you'll get a shrug, or the phrase "industry standard", which in email marketing usually translates as "the first thing that came to mind on the day it was built".

Nobody chose 30 days. It's just a round number that sounds about right.

Your customers do have a reorder rhythm. It's knowable, it's in data you already own, and it's almost certainly not 30 days. Getting it right is one of the cheapest revenue gains available in an email account, because you're not creating demand. You're just turning up at the moment it exists.

Why the guess is usually wrong in the same direction

Purchase latency is the gap between one order and the next. Every product has one, and it's driven by consumption rather than by marketing.

A 30 day supply of supplements taken daily runs out in 30 days. But people miss days, go on holiday, forget. Real world consumption for a 30 day product is usually 35 to 45 days.

Meanwhile a coffee subscriber grinding through 250g a week is empty in a fortnight, and your 30 day reminder arrives two weeks after they got fed up and ordered from somebody else.

Guess short and you nag people who aren't ready. Guess long and you arrive after the decision's been made. The second failure is invisible, which is why it survives for years. Nobody complains about an email that came too late. They just don't buy.

Calculate it properly, and use the median

You need an export of your order history and a spreadsheet. Nothing else.

For every customer with two or more orders, work out the gap in days between consecutive orders. Then take the median of those gaps.

Use the median, not the average. This matters more than anything else in this article.

A small group of people who reorder after fourteen months will drag your mean far to the right. Across DTC portfolios, medians for time to next order cluster far tighter than averages do, with the mean often sitting two to three times higher because of that long tail. Build your timing off the mean and you'll be systematically late for the majority of your customers in order to be on time for a handful of stragglers.

Then break it down further:

By product category. A brand selling both consumables and hardware has two completely different latencies and needs two flows, not one.

By order number. The gap between order one and order two is often different to the gap between two and three. Second time buyers tend to come back faster.

By first product purchased. Some entry products lead to fast repeat behaviour and some don't. This is genuinely useful for acquisition decisions as well as email ones.

You want a small table: category, order number, median days. That table is your flow timing, and it replaces every guess in the account.

Timing the send

Once you've got the number, don't send on it. Send before it.

If your median gap is 40 days, the customer starts thinking about running out somewhere around day 32 to 35. Arriving on day 40 means arriving as they're already searching.

A sensible rule is to trigger at roughly 70 to 80% of the median consumption window. For a 40 day median, that's day 28 to 32.

Then build a short sequence rather than a single email. First message is a helpful nudge with no discount. Second, a few days later, adds convenience: subscription, bundle, one click reorder. Third, if they still haven't ordered and you're now past the median, is where an incentive can appear.

Don't lead with a discount on a replenishment email. They're going to run out. They already like the product. Paying them to do the thing they were going to do anyway is exactly the behaviour that makes flow revenue numbers look good and margin look bad.

Klaviyo's predicted next order date, and when to trust it

Klaviyo can model this for you. Its predictive analytics include an expected date of next order, which you can use to build segments of people due to order in the next few days.

It's good when it works. There are conditions.

Klaviyo needs at least 180 days of order history, orders placed in the last 30 days, and at least 500 customers who have actually placed an order. That last figure refers to people who have ordered, not total profiles on your list.

Plenty of brands paying for retention work don't clear that bar. A brand with 40,000 subscribers and 380 repeat customers will find the prediction fields blank or unreliable, and no amount of flow building fixes that.

There's a second condition that's less obvious. The model assumes your customers' behaviour is reasonably consistent. If you've changed your product range significantly, run a heavy discount period that pulled purchases forward, or shifted acquisition channel, the historical pattern it's learning from may no longer describe the customers you have now.

If you don't qualify, or you don't trust the conditions, use your own median table. A calculated median from your own data beats a prediction built on thin evidence, every time.

When the median doesn't apply

Three situations where the number you calculate will mislead you, and all three are common enough to check for.

You've run heavy promotions. Discount periods pull purchases forward. If a chunk of your order history sits inside sale windows, your calculated gaps are shorter than your customers' natural rhythm. Strip promotional orders out and recalculate, then compare. If the two numbers differ a lot, you've learned something uncomfortable about how much of your repeat business is discount driven.

Your range has changed. If your bestseller two years ago was a 90 day supply and your bestseller now is a 30 day supply, historical gaps describe a business you no longer run.

You have a seasonal product. A brand selling sun cream has a purchase rhythm driven by the calendar rather than by consumption. Median days between orders is meaningless. Month of purchase is the useful variable instead, and your flows should be date triggered rather than latency triggered.

Rule all three out before you rebuild anything, or you'll optimise towards a pattern that isn't real.

What this changes downstream

Getting latency right doesn't just improve one flow. It changes several things at once.

Your winback timing stops being arbitrary. If your median reorder gap is 45 days, somebody at 90 days isn't lapsed, they're late. Somebody at 300 days is genuinely gone. Most accounts have a winback flow firing at a point that flatters nobody, chasing people who were never going to be prompt and ignoring people who've just started drifting.

Your definition of an active customer gets real teeth. "Purchased in the last 12 months" is meaningless for a brand with a 21 day cycle and far too aggressive for one with a 200 day cycle.

Your sunsetting improves, because you can distinguish a subscriber who's disengaged from one who's simply mid cycle.

And your reporting gets more honest. Replenishment reminders convert far better than general promotional sends. Not because the email is clever, but because it lands when somebody needs the thing. Knowing that stops you attributing the performance to the copy and rebuilding your other flows to imitate it.

The acquisition consequence

This is where latency stops being an email metric and starts being a business one.

Your payback period is a function of how fast the second order arrives. If you're spending £45 to acquire a customer and your median second order lands at day 40, you're whole in about six weeks. If it lands at day 120, that same spend ties up cash for four months.

Same CAC. Same LTV eventually. Completely different cash flow position, and a completely different answer to the question of how hard you can afford to spend on acquisition this quarter.

Most brands can tell you their CAC. Far fewer can tell you their median days to second order, which means they're managing half of a two part equation.

Shortening that gap by a fortnight is worth roughly the same to your cash position as reducing CAC, and it's usually a lot easier to do. Nobody frames it that way because the two numbers live in different reports and are usually owned by different people.

What it means if the delay was wrong all along

If your replenishment flow has been running at 30 days for two years and your actual median is 55, you haven't been running a replenishment flow. You've been running a promotional email that happens to fire off a purchase date.

Everything it earned would probably have been earned anyway, which takes you back to the question of what your flows are really contributing.

Pull the export. Calculate the median. Fix the delay. Your reporting will never prompt you to do any of it, because a flow with a badly chosen delay still posts attributed revenue every month and never once looks broken.

Watch for the pattern while you are in there. Nothing shows up as an error. The account looks healthy, the reports arrive on time, and the money leaks out somewhere nobody is measuring. The replenishment delay is the easiest one to find, which makes it the right place to start.

Want this done properly on your account?

We plan, write and send a full month of campaigns for ecommerce brands, with the revenue guaranteed or your money back. The Ascent Call takes 30 minutes and tells you whether your numbers clear it.

Book Your Ascent Call