Menulab
Get started
Menulab Blog

Dynamic Par Levels for Small Operators: Math and Weekly Sales Triggers

By MenulabSeptember 30, 2026

Small cafe storeroom with inventory, clipboard, and labeled stock illustrating par calculations

Why dynamic par levels matter

Static pars leave small operations exposed to two costly outcomes. Too much inventory increases spoilage and tied-up cash. Too little inventory creates stockouts that damage service and average check. A dynamic par system ties reorder levels to real consumption, lead time, and delivery cadence so pars adapt rapidly but predictably.

The formula and variables

Key variables

Define these for every SKU you track:

  • A = average daily usage over the recent lookback period, typically 7 or 28 days
  • LT = supplier lead time in days from order to delivery
  • DC = delivery cadence in days between regular deliveries
  • SS = safety stock in days to cover unexpected spikes or delays
  • OnHand = current usable units in stock

Core par formula

Target Par = A * (LT + DC + SS)

Reorder Quantity = max(0, round_up(Target Par - OnHand, order_unit))

Round quantities to supplier pack sizes or the smallest practical unit for ordering. For perishables add a shelf life cap: Target Par = min(Target Par, A * ShelfLifeDays).

Worked examples

Example 1: Milk for cafe lattes

Inputs: A = 20 liters per day based on the last 14 days, LT = 2 days, DC = 3 days, SS = 1 day.

Target Par = 20 * (2 + 3 + 1) = 20 * 6 = 120 liters.

If OnHand = 45 liters and supplier minimum order is 10 liters, Reorder Quantity = round_up(120 - 45, 10) = 80 liters.

Example 2: Shell eggs in a small kitchen

Inputs: A = 30 eggs per day (7 day average), LT = 1 day, DC = 7 days for a weekly delivery, SS = 2 days, ShelfLifeDays = 28 days.

Raw Target Par = 30 * (1 + 7 + 2) = 30 * 10 = 300 eggs. Shelf life cap = 30 * 28 = 840 eggs, so no cap needed here. If OnHand = 120 eggs and eggs sold in boxes of 30, Reorder Quantity = round_up(300 - 120, 30) = 180 eggs (6 boxes).

Weekly triggers tied to sales signals

Calculate weekly sales delta against the baseline average, such as the trailing 28 day average. Use these simple, operational triggers:

1. If weekly sales rise by 15 percent or more versus the 28 day average for two consecutive weeks, increase SS by 25 percent and recalculate Target Par. This avoids repeat stockouts when momentum is real.

2. If weekly sales fall by 20 percent or more for two consecutive weeks, reduce Target Par by 15 percent and mark those SKUs for a manual review. Do not auto-cut an item below one delivery cycle of coverage.

3. If on-hand stock exceeds Target Par by more than 40 percent for two consecutive weekly counts, place a temporary freeze on auto-increases and create a promotion plan to reduce waste.

4. If a supplier reports a lead time increase, immediately recalculate pars with the new LT and raise SS to cover the larger uncertainty until the cadence stabilizes.

Implementation checklist for a one-product pilot

  • Pick 3 fast movers with measurable daily usage
  • Set lookback period: 7 days for highly seasonal, 28 days for steady items
  • Record LT, DC, SS and shelf life for each SKU
  • Run the formula and place the first order manually to validate pack sizes
  • Track weekly sales deltas and apply triggers after two-week confirmation

Operational controls to prevent overreaction

Keep these practical guard rails in place:

- Cap Target Par to the product's usable shelf life multiplied by A. This prevents ordering beyond what can realistically be sold before spoilage.

- Use a short lookback for volatile items and a longer lookback for stable items. For new SKUs use conservative SS until you have data.

- Apply sales-based increases only after consecutive confirmation weeks to avoid reacting to one-off events like catering orders.

Run a four week pilot on 3 to 5 SKUs, track spoilage dollars and stockout incidents weekly, then roll the system to more SKUs if spoilage drops and fill rate improves. If you want a simple spreadsheet template to calculate these pars by SKU I can generate one tailored to your delivery cadence and pack sizes.

Frequently Asked Questions

How often should I recalculate pars for perishable items?

Recalculate weekly for high turnover perishables and every two to four weeks for stable items. Recalculate immediately if lead time or delivery cadence changes.

What lookback period should I use to compute average daily usage?

Use 7 days for highly seasonal or promotional items, and 28 days for steady sellers. Combine both: use 7 day for short term adjustments and 28 day as your baseline.

How do I choose safety stock in days?

Base safety stock on supplier reliability and demand volatility. Start at 1 to 2 days for reliable suppliers and 2 to 4 days for variable suppliers, then adjust after observing stockouts or spoilage.

Can this system handle sudden menu changes or events?

Yes. For planned events adjust A and DC manually for the event window. For unplanned surges use the weekly trigger rules and consider one-off emergency orders instead of permanent par changes.

Menulab