Reorder Point for a Store Chain: Why "7 Days of Cover, Top Up to 14" Loses Money

"Order when a product is down to a week of stock, top it up to two" is how many chains order. It ignores the three things that decide when a shelf empties. A simulated year in four chains shows what that costs, and a short formula fixes most of it.

Key takeaways

  • A days-of-cover rule ("below 7 days, order up to 14") ignores the lead time, the wait until the supplier's next order day and how erratic demand and deliveries are.
  • The periodic-review formula sets an order-up-to level S = expected sales over lead time plus review period, plus a buffer for the spread of both.
  • In a simulated year across four chains, the rule of thumb earned between about half and 97% of the tuned formula's profit; it failed worst where suppliers were far away.
  • The formula needs four inputs most chains can get: sales pace without empty-shelf days, lead time from your own receipts, the supplier's order days, and a service level per product class.
  • The formula is a strong baseline, not the end: perishables and demand shifts leave room for more, and the evidence on whether AI adds to it is mixed.

Ask how a store chain decides when to reorder and the answer is often a rule of thumb in days of cover: when a product is down to about a week of sales, order enough to bring it back to two weeks. It is easy to explain, easy to put in a spreadsheet and wrong in a way that depends on the supplier. This article sets the rule against the textbook alternative, shows what the difference was worth in a simulated year across four chains, and works through the formula for two suppliers.

1. Two ways to decide when and how much

Write μ for a product's average daily sales in a store and IP for its inventory position, stock on hand plus stock already on order. The rule of thumb, on a supplier's order day: if IP is below 7μ, order up to 14μ2.

The periodic-review formula, known as (R, S), asks how long this order has to last. An order placed today arrives after the lead time L and must last until the next order can arrive, R days later, where R is the wait until the supplier's next order day. Over those L + R days the store expects to sell μ(L + R), and it adds a buffer for the spread of demand σ and of the lead time σ_L: S = μ(L + R) + z·√((L + R)σ² + μ²σ_L²). On each order day it orders up to S. The factor z sets the service level; Retail-Bench's tuned version uses 2.05, 1.64 and 1.28 for products in the top, middle and bottom revenue classes, which correspond to about 98%, 95% and 90%, and caps short-life products at their shelf life of sales2.

2. What a simulated year shows

Retail-Bench, the open benchmark marql built, runs four simulated chains for a year after a three-month warm-up: convenience stores in London, fresh grocery in Manchester, home and garden in Bristol with suppliers four to six weeks away by sea, and a drugstore chain in Leeds kept as a hold-out. Every contender meets the same customers and the same late trucks, over twenty runs per chain, so the differences come from decisions alone. Profit is counted after the cost of holding stock, write-offs and ordering1, 2. Against the tuned formula, the rule of thumb earned:

Fresh grocery, ManchesterSupplier lead times1 to 6 daysRule's profit, as a share of the formula's97.3%
Convenience, LondonSupplier lead times2 to 10 daysRule's profit, as a share of the formula's95.3%
Drugstore, LeedsSupplier lead times6 to 12 daysRule's profit, as a share of the formula's81.1%
Home and garden, BristolSupplier lead timesMostly 33 to 44 daysRule's profit, as a share of the formula's48.7%
Retail-Bench leaderboard v0.2 (19 September 2026), mean economic profit over 20 paired runs per chain. A simulation, not a measurement of real stores.

The pattern follows the lead time. Where suppliers deliver in a day or two the rule costs a few per cent of profit; where they are weeks away it costs half. On the benchmark's own scale, which runs from the rule of thumb at zero to a contender that knows the future at one hundred, the tuned formula captures 60% of everything better ordering could win1.

3. Why the rule loses: a worked example

Take one product that sells four units a day on average, with a daily spread of three, at a 95% service level. Buy it from two suppliers: a nearby one that delivers in three days and takes orders once a week, and an importer that delivers in 38 days, give or take four, also ordered weekly.

Nearby supplier, ordered weekly

Importer, ordered weekly

One product, four units a day

The order has to last
3 + 7 = 10 days
38 + 7 = 45 days
Rule of thumb
Order below 28, up to 56
Order below 28, up to 56
Formula: order up to
57 units
222 units
What goes wrong with the rule
It skips an order day with 30 in stock; the shelf empties before the next truck
It covers 14 of the 45 days; the shelf is empty for weeks
An illustration. The formula's level: μ(L + R) plus 1.645 × √((L + R)σ² + μ²σ_L²).

For the nearby supplier the rule's target is about right, but its trigger is not. It looks only at stock against a week of sales, and forgets that the next chance to order is a week away and the truck after that takes three more days. Thirty units look safe and last seven and a half days. For the importer the rule is simply too short: two weeks of stock for an order that has to last six and a half. Both errors come from the same omission: the rule counts days of cover but not the days the cover has to last.

The rule also has no way to see an erratic supplier. Late deliveries widen σ_L, and the formula widens the buffer with them; the rule keeps the same seven and fourteen days for a punctual supplier and an unreliable one.

4. What the formula needs from your data

  1. Sales pace per product and store, leaving out days that ended with an empty shelf

  2. Lead time and its spread, measured from your own receipts, not the promised days

  3. Each supplier's order days, so R is the real wait to the next order

  4. A service level per product class, and the shelf life for fresh lines

  5. An order-up-to level per product and store

    Missing any one, the level is guessed and the buffer is wrong

The first input matters more than it looks. A day that ended with an empty shelf records low sales, not low demand; averaging it in pulls μ down and the next order with it. Retail-Bench's formula reads those days at the level of normal ones2, and the out-of-stocks guide covers how to spot them. Round the result up to the case pack and the supplier's minimum, and check the other end too: the same arithmetic run against stock that is not selling is how the dead-stock guide finds excess.

5. Where the formula is not enough

The formula is a strong baseline for a reason. When a lost sale costs far more than holding a unit for a while, order-up-to rules are close to the best possible; in Retail-Bench a lost unit costs as much margin as holding that unit for 506 to 1,128 days2. It is weakest with perishables, where every extra unit risks a write-off: in the fresh-grocery chain the tuned formula captured only a small part of what perfect foresight could1.

Whether AI adds to it is less settled than vendors suggest. In InventoryBench, a 2026 academic benchmark of single-product inventory decisions, a language model reviewing a capped base-stock policy scored 0.538 against 0.445 for the policy alone, and the authors note that models "sometimes falsely identify demand shifts when it is pure noise"3. The guide to AI in store replenishment covers the field evidence on people and algorithms working together.

6. Limitations

The figures in section 2 come from a simulation, calibrated against real chains but not measured in them, and from the benchmark's version of 19 September 2026. The simulation does not yet model substitution, shelf capacity, markdowns or a distribution centre. marql builds the benchmark and competes in it; the baselines discussed here are not marql's, and the full results, including the rounds where marql's own engine lost, are published.

How marql uses this formula

In Retail-Bench the tuned formula is the bar every contender is measured against, marql's own replenishment engine included. The first round put that engine below the formula in three chains of four, and the replays showed why: a buffer blind to how erratic a supplier was and to how far away the next order day was. Any ordering system can run through the same protocol, and every result is published.

  1. MARQL Retail-Bench (2026-09-19). Leaderboard v0.2, canonical worlds (generator v2), with the report-models export. retail-bench.marql.one
  2. MARQL Retail-Bench (2026). Methodology: the decision problem, the score and the contenders. retail-bench.marql.one
  3. Baek, J., Fu, Y., Ma, W. and Peng, T. (2026). AI agents for inventory control: human-LLM-OR complementarity. arXiv:2602.12631. arxiv.org

TopicsReorder point, Safety stock, Store replenishment, Inventory policy

Written by

Maxim T.

CMO, marql

Follow marql on LinkedIn

All articles

Retail

Safety Stock for a Store Chain: Why One Buffer Factor Doesn't Fit Every Supplier

Many replenishment tools size the safety buffer with one factor for every product. Worked through for three supplier patterns, the right factor differs sevenfold, and an erratic supplier doubles the buffer on its own.

By Maxim T.

Retail

AI for Store Replenishment: What the Algorithm Should Decide, What the Buyer Should, and How to Tell If It Helps

Automated replenishment has been in supermarkets for years, and buyers still change a large share of its orders. Recent field studies show which of those changes help, which create the next stock-out, and what an AI replenishment employee has to show before it earns more authority.

By Maxim T.

Retail

Average Transaction Value in a Store Chain: How to Aggregate It, Decompose It and Compare It

Average transaction value is sales divided by transactions, and at a single till that is the end of it. Across a chain the number has to be aggregated, decomposed and defined, and each step has a way to go wrong that the published results of large retailers make visible.

By Maxim T.

Blog

Frequently asked questions

With periodic review, order on each order day up to S = μ(L + R) + z·√((L + R)σ² + μ²σ_L²), where μ is average daily sales, L the lead time, R the days until the next order day, σ and σ_L the spread of daily demand and of the lead time, and z the factor for the service level you want.

It uses the same number of days for every supplier, so it ignores how long the order has to last. It runs short when the next order day is far away or the supplier is distant, and it cannot widen the buffer for an unreliable supplier.

Set it by product class and margin rather than one number for everything. A common split is about 98% for the top revenue class, 95% for the middle and 90% for the tail, which corresponds to z of 2.05, 1.64 and 1.28.

Cap the order-up-to level at the sales expected within the shelf life, measured from when the delivery arrives. Perishables are where simple formulas leave the most money on the table, because extra stock is written off.

The evidence is mixed. In a 2026 academic benchmark a language model reviewing a base-stock policy improved on it; in Retail-Bench a model on top of a rule-based system added nothing measurable. A well-tuned formula on clean data is a strong baseline to beat.

Ready to see
the euros it found?

Connect your POS, stock and accounting in a day. Read-only access, no POS replacement, €200 a month per location and less as you grow.

0
Replacement of stack
1
Chat. Whole business.