How it works Clients Email marketing About Blog
Book a discovery call →
← Writing

Work out your replenishment interval instead of guessing 30 days

·5 min read ·Mohamed Bsoul

A replenishment email should arrive a few days before someone runs out, and the number of days that means for your store is already in your order data. It is the median gap between consecutive orders of that product, less the time delivery takes. Almost nobody uses it. Most accounts send at thirty days because a month is a round number.

Pulling the real number takes an afternoon, and the answer is usually not one number.

The account average is the wrong place to start

Klaviyo will hand you an average days between orders for the whole account, which makes it the easiest figure to find and a poor one to build a flow on.

It mixes products. A catalogue holding a 250g coffee bag and a grinder produces an average that describes neither of them, and the flow you build from it fires late for the bag and absurdly early for the grinder.

It also gets dragged by the tail. The gap between orders is not spread evenly around its middle; there is a long right tail of people who reappear after nine months, and that tail pulls the mean well above the median. Send on the mean and you are behind most of your repeat buyers.

Pull the median, per product

The number you want, for one product: among customers who have ordered it more than once, the median number of days between consecutive orders containing it.

In Klaviyo you can get close with a segment of profiles who have placed an order at least twice, then read the time between orders on those profiles. Close is worth having on day one, but it averages across everything they bought, so it inherits the mixing problem.

The honest version comes from an export. Take your orders with line items for the last twelve to eighteen months, sort by customer and then by date, and for each customer who bought the product twice write down the gap in days. Sort those gaps and take the middle one. If a product has fewer than about thirty of those pairs, you do not have a median yet, you have anecdotes.

Then subtract delivery. The email exists to reach someone while the last of it is still in the cupboard, so take the days between order and arrival off the interval before you set the delay.

It is a distribution, and you should fire below the middle

Half your repeat buyers come back sooner than the median. That is what a median is, and it means sending on it is late for half the people it was calculated from.

The two errors do not cost the same. An email that arrives a week early is an email someone ignores, and a recent-purchase exclusion catches the ones who have already rebought. An email that arrives a week late costs the order outright, because a person who has run out goes and searches, and buys from whoever answers first. So set the delay below the median, somewhere around the 30th percentile of your gaps, and let the exclusion clean up behind it.

You cannot test your way to the interval

The instinct is to split-test 25 days against 30. On a normal store list that test cannot return an answer.

We ran the arithmetic on a real account with a list around 7,000 people. At 3,712 profiles per variant, the smallest difference a two-proportion z-test could tell apart from noise was a 35% relative lift. A better send delay does not move a conversion rate by a third; it moves it by a few percent. So the test reports flat whichever interval is genuinely better, and you have spent a month feeling rigorous while learning nothing.

That is the case for deriving the number rather than testing it. Small lists should test the things that can move a metric by a third, which means offer, angle, segment and voice, not a five-day delay.

What has to be true before you turn it on

An exclusion on anyone who has ordered in the last stretch of days, or the flow writes to people who already came back. Customers on an active subscription skipped entirely, since their replenishment is handled and the reminder reads as a store that is not paying attention. Both of those are segments, and segments are the work that makes flows behave: the five worth building before the clever ones.

Start with the two or three products that have enough repeat pairs to give you a median, each with its own delay, and leave the rest of the catalogue out of the flow. A confidently wrong interval on a long-tail product is worse than no email about it.

What if there are no repeat orders to measure yet?

Then you do not have the number and guessing it is fine, as long as you know that is what you are doing. Use the pack itself: a thirty-day supply with four days of shipping puts the first email around day 24.

Write the flow, let it run, and put a date in the calendar ninety days out to pull the real median and correct the delay. Replenishment sits at the far end of the post-purchase flow, which is why it can wait until the flows before it are live and earning, in roughly the order worth building them in.

How do you know the delay is right if you cannot test it?

Count the repeat orders that beat your email. Pull the second orders for that product over the last quarter and see how many of them landed before your delay elapsed. If most did, the flow is arriving after the decision and taking credit for orders that were already coming. Move the delay earlier and watch that share fall.

It is not an experiment and it needs no statistical power. It is a description of what your customers already did, which is the only thing a small account has enough of.

Written by Mohamed Bsoul at Nahhda. We build the machine that runs a store's Klaviyo, and hand it over. If any of this is a problem you have, the fastest way to talk about it is 15 minutes.

Book a discovery call →
// book a call

15 minutes, and no pitch.

A short call to hear about your business and work out together whether there is anything here worth building. If there isn't, we will tell you.

Mohamed Bsoul · Nahhda

Discovery call

15 minutes
Video call, link on confirmation
Times in your timezone

Come with your numbers open if you can. It makes the 15 minutes worth a lot more.