How Repeatly learns each product's reorder interval

Where the numbers come from, how much history is needed, and when you should override them.

📦 Repeatly5 min readUpdated 2026-08-22

Repeatly does not guess from product type. It reads your actual order history and measures how much time really passes between repeat purchases of the same product by the same customer.

The method

  1. For every customer and product, Repeatly collects the gaps between their repeat purchases.
  2. It needs at least three gaps before it will trust a product.
  3. It takes the median of those gaps, not the average — one customer who reordered after a year cannot drag the whole product with them.
  4. The result is clamped to a sensible range of 5 to 365 days.

Products without enough history

A new product has no gaps to measure, so Repeatly leaves it paused rather than inventing a number. You have two options: set a fallback interval that applies to such products, or let them wait until real data arrives. Both are legitimate — the fallback gets you sending sooner, waiting gets you accuracy.

When to override

Override when you know something the data cannot see. A supplement sold in both a 30-day and a 90-day pack will have a mixed history if they share a product. A seasonal item may have gaps that reflect the season rather than consumption.

You can set intervals in bulk for many products at once, and switch a whole group back to automatic later. Overrides always win over learned values.

Send timing

The reminder is not sent on the interval date itself but a few days before, so the customer receives it while they still have some product left. That offset is the “send N days before due” setting, and it should roughly match your delivery time.

Did this answer your question?

If anything here was wrong, unclear or out of date, tell us — the article gets fixed the same day.

Related articles