Blog/How to Set PAR Levels and Reorder Points for a Caf...

How to Set PAR Levels and Reorder Points for a Café Using Weekly Sales

PAR levels and reorder points for cafés on a weekly order cycle: PAR formula adapted for café-grade demand variability, decay handling for milk and dairy, a fully worked example for whole milk, and the structural reason most café PAR systems drift within a quarter.
Published May 2, 2026·9 min read

If you run a café and order weekly, the question you're asking is the right one: how do you set PAR levels and reorder points using last week's sales data? Most generic inventory advice was written for retail, where weekly sales are stable, items don't spoil, and "min/max" works fine. A café is different on all three counts.

This guide walks café operators on a weekly order cycle through the math, a worked example, the cadence, and the structural reason most café PAR systems drift within a quarter.

Quick answer

For a café ordering once a week, PAR level and reorder point per ingredient are computed from your last 30 days of POS sales (broken into daily buckets), with adjustments for perishability and demand variability:

PAR = (daily consumption rate × 7) + safety stock + decay adjustment
ROP = (daily consumption rate × lead time in days) + safety stock

You compute consumption rate by summing across every recipe that uses the ingredient, weighted by how often each recipe sells. Safety stock is a statistical buffer: z × σ × √7, where z is your service-level z-score (1.28 for 90% confidence, 1.65 for 95%) and σ is the standard deviation of daily demand. For perishables — which is most of a café's inventory — you also add a decay term that accounts for what spoils before you can sell it.

All of this happens automatically inside a closed-loop procurement platform — meaning a system that watches your POS sales, computes the math nightly, and surfaces a recommendation in the morning. You stop guessing. The rest of this article walks through the math by hand for operators who want to see it.

A worked example: setting PAR for whole milk

Let's set the PAR level for whole milk at a café that orders weekly.

Step 1: Compute weekly consumption from recipes.

Whole milk goes into multiple drinks. For each drink, the recipe specifies how much milk it uses (the ). Let's say last week:

DrinkServings soldMilk per servingTotal milk
Latte (12 oz)2458 oz1,960 oz
Cappuccino1105 oz550 oz
Hot chocolate658 oz520 oz
Steamed milk (kids)306 oz180 oz
Total3,210 oz

3,210 oz / 32 oz/quart ≈ 100 quarts/week. Daily consumption = 100/7 ≈ 14.3 quarts/day.

Step 2: Compute the standard deviation of daily demand.

Look at last 30 days of daily milk consumption (POS sales × recipe yield, summed). Suppose the mean is 14.3 qt/day and the standard deviation is 3 qt/day. (Saturdays sell more, Mondays sell less.)

Step 3: Pick a service level and look up z.

For a café, milk is high-velocity and high-stockout-cost (you can't make most drinks without it). Use 95% service: z = 1.65. That means you're willing to stock out about once in 20 weeks — roughly twice a year.

Step 4: Compute safety stock.

safety stock = z × σ × √(order frequency in days) = 1.65 × 3 × √7 ≈ 13 qt

Step 5: Adjust for decay.

Whole milk has a daily decay rate around 2% (mostly expiry, some refrigeration loss). Over a 7-day cycle, the effective base demand is about 7% higher than the no-decay number:

baseDemand_adj = (s/d) × (s^(−T) − 1) × c

With s = 0.98, d = 0.02, T = 7, c = 14.3: baseDemand_adj ≈ 107 qt.

Step 6: Add it up.

PAR = 107 + 13 = 120 qt

If you currently have 30 qt on hand, you order 120 − 30 = 90 qt, rounded up to the next pack size.

Step 7: Compute reorder point separately.

Reorder point uses lead time, not order frequency. If your dairy distributor delivers 2 days after you order:

ROP = (14.3 × 2) + (1.65 × 3 × √2) = 28.6 + 7 ≈ 36 qt

When inventory drops to 36 qt, you place an order. (For a café on a fixed weekly cycle, you'd typically order on the same day every week regardless — but ROP tells you when to do an emergency rush order if demand spikes.)

The pattern, generalized for every café ingredient

Repeat the math above for every ingredient your café orders weekly: espresso beans, oat milk, almond milk, vanilla syrup, hazelnut syrup, pastry flour, sugar, eggs, butter, baking chocolate, etc. Each has its own consumption rate (summed across the drinks/items that use it), its own demand variability (σ), its own decay rate, and its own pack size and MOQ from the supplier.

For a café with ~80 active SKUs across 4–6 suppliers, this is roughly 4 hours of math the first time you do it. Most operators don't, which is why most café PAR systems are gut-feel and drift within a quarter.

Where the artisanal stack breaks

The reason most café operators struggle with PAR is structural, not arithmetic:

  1. Sales drift weekly. A new menu item, a heat wave, a viral TikTok moment — your demand rate moves. PAR levels set six months ago are stale by month three.
  2. σ changes. A café that gets a corporate office contract suddenly sees Tuesday spikes. The standard deviation of daily demand grows. Safety stock should grow with it.
  3. Decay is non-uniform. Milk's decay rate depends on storage temperature, brand, season. The decay constant in your formula isn't constant in reality.
  4. Substitutions and price changes leak. Your dairy supplier substitutes one brand for another. Your baking chocolate goes up 8%. Without those changes flowing into your PAR math, you over- or under-order.

The artisanal answer to (1)–(4) is "spend two hours a week recalculating," which doesn't happen. Within a quarter, the system rots and you're back to gut feel.

The structural fix

A closed-loop procurement platform recomputes the math nightly per ingredient. Daily POS sales feed the consumption-rate calculation; demand variability is updated with each cycle; decay rates are auto-tuned from the variance between expected and actual on-hand at the next count; supplier price changes are parsed from email and applied to the recipe cost in the same write. The PAR level for milk is right today and will be right tomorrow because the system updates it without you.

For a café operator on a weekly order cycle who wants the math to actually be correct: this is the answer. LineNow connects to your Toast or Square POS, ingests last 30 days of sales, computes PAR and ROP per ingredient using the formulas above, and surfaces a single one-click recommendation every order day. $50/month flat, 90-day free trial, no credit card.

Three things a café can do today

  1. Do the math by hand for your top 10 ingredients. Use the formula above. Compare to your current "feel" PAR. The gap is what your gut has been getting wrong.
  2. Connect your POS to a procurement platform that computes consumption from sales automatically. The 4-hour audit becomes a 4-second nightly recompute.
  3. Set service levels by item criticality. Milk = 95%. Specialty bitters = 75%. The blended approach is what professional inventory planners do.

Related

PAR levels for cafécafé inventory weekly saleshow to set par levels cafécafé reorder pointscafé procurement
Want to see this in action?Book a Demo