Decision software for grocery chains

Fresh food demand forecasting: how to place daily orders for produce, bakery and butchery

Last updated: 5 October 20268 min read

Who it is forGrocery chains, fresh category managers, ordering and replenishment planners, store managers

In ambient grocery, forecast error is absorbed by safety stock: surplus goods wait on the shelf and sell the following week. Fresh food has no such buffer. Fruit and vegetables, bread and meat turn into shrink within days if they do not sell; if too little arrives, the shelf is empty by mid-afternoon. That is why, in fresh food, forecasting and ordering are two halves of the same job. This guide covers how to read fresh demand, how to calculate the daily order and which ratio sets the balance between shrink and empty shelves. How forecast accuracy is measured is covered on the forecast accuracy (MAPE) page.

Why is fresh food forecasting different from ambient grocery?

There are three differences. The first is time: fresh orders are placed daily and the forecast horizon is one or two days. The second is the cost of error: over-ordering turns straight into shrink, under-ordering straight into an empty shelf, with no stock in between to wait. The third is demand itself: weather, payday, weekends and public holidays move fresh sales far harder than ambient sales.

Units differ too. Produce and butchery sell by the kilo, but orders are placed by the crate or the carcass. The forecast is made in kilos and then rounded to the order unit, and the direction of that rounding is itself a choice between shrink and an empty shelf.

In bakery the granularity is finer still: the forecast is made by the hour rather than the day, because production runs in batches through the day and each batch can be adjusted to the previous hour's sales.

Forecasting and ordering in fresh departments
DepartmentOrder unitForecast levelCost of over-orderingWhat moves demand
ProduceCrate, kgProduct-store-dayDisposal and trimmingWeather, ripeness, price
BakeryUnits, production batchProduct-store-hourEnd-of-day leftoversDay of week, hourly curve
ButcheryCarcass, cut, kgCut-store-dayProduct past its dateWeekend, public holidays, payday
Dairy and deliCaseProduct-store-delivery dayProduct past its use-by datePromotions, delivery calendar

How do stocked-out hours and over-ordered days distort the forecast?

Sales data shows not demand but the part of demand that was met. If the tomato display emptied at 18:00, that day's sales sit below true demand. Fed into the forecast as they are, those days lower the forecast, the order shrinks, the shelf empties earlier the next day and the error feeds itself.

Correcting it requires knowing when the shelf emptied. The hourly sales curve gives the share of daily sales made by each hour; dividing sales up to the moment the shelf emptied by that share gives the corrected demand for the day. The empty time is read from the last sale at the till or from the department check record.

The distortion also runs the other way. On an over-ordered day, product cleared through evening markdowns adds sales on top of normal demand. Unless markdown sales are flagged separately, the forecast rises and over-ordering becomes permanent.

Corrected daily demand
Sales until the shelf emptied ÷ Share of daily sales made by that hour
Hourly share
Average sales up to that hour on the same day type ÷ Average daily sales
Example: tomatoes, 7 days of sales and corrected demand (kg)
DaySalesShelf empty atShare by that hourCorrected demand
Monday120Did not empty100%120
Tuesday118Did not empty100%118
Wednesday9618:0070%137
Thursday125Did not empty100%125
Friday10217:0062%165
Saturday160Did not empty100%160
Sunday150Did not empty100%150

The safety stock guide explains how recording stocked-out days as zero demand undermines safety stock. In fresh food the same mistake happens at the hourly level and shows up faster.

How is the daily order quantity calculated?

The order covers the selling window from the next delivery to the one after it. For a department receiving goods every day the window is one day; in a store supplied every other day, two days of forecast are added together.

Stock on hand is not deducted as it stands. The part that will be trimmed tomorrow or pass its use-by date is not sellable stock; an order calculated without removing it leaves the shelf full of spoiled product and short of sellable product.

Weather, payday and public holidays enter the forecast as event variables. Religious holidays move about eleven days earlier each year and monthly coefficients do not capture this; in fresh food the same effect appears at day level and hits harder.

Daily order
Σ Forecast sales (selling window) + Safety allowance − Sellable stock − Goods in transit
Sellable stock
Stock on hand − Quantity that cannot be sold within the selling window
Order unit
Order kg ÷ Crate kg, rounded up or down according to the target ratio

Which ratio sets the balance between shrink and an empty shelf?

In fresh food the two errors do not cost the same. Every kilo left over loses the part of its cost that cannot be recovered; every kilo short loses its gross profit. How far above or below the forecast the order should be set follows from the ratio of those two costs.

This is the critical ratio of what the literature calls the newsvendor problem. It tells you the probability with which the quantity ordered should cover demand. If the ratio is below 50 per cent the order sits below the average forecast; above 50 per cent it sits above.

The strongest lever on the ratio is the markdown. Every lira recovered through evening markdowns lowers the shrink cost and allows a slightly more generous order. That is why the markdown routine and the ordering rule are written together.

Target ratio
Unit gross profit ÷ (Unit gross profit + Unit shrink cost)
Unit shrink cost
Unit cost − Amount recovered through markdown sales
  • Measure accuracy at product-store-day level; the aggregate hides the error
  • Measure the forecast against corrected demand, not raw sales
  • Track bias separately: persistent over-forecasting turns into shrink, persistent under-forecasting into empty shelves
  • Record planner overrides separately and measure their effect on accuracy separately

How do bakery leftovers and butchery shelf life change the order?

In bakery the whole daily forecast is not baked in the morning. Production is split into batches and each batch is adjusted to the sales actually achieved in the previous period, so the error in the morning forecast is corrected in the midday batch.

Success is read from two measures together: the end-of-day leftover rate and the time the shelf empties. A leftover of zero is not good news; the shelf may be emptying hours before closing. The aim is to keep leftovers low while the shelf stays stocked until close to closing time.

In butchery the order arrives as carcasses but demand arises by cut. If demand for mince and diced meat is high and chops are limited, the cutting plan is made from the forecast. Shelf life also shapes the order: according to Migros's 2020 sustainability report, MAP packaging extended the shelf life of red meat by about 30 per cent and skin packaging by up to double, and the product's selling life in store rose by 40 per cent. A longer selling window slows the rate at which forecast error turns into shrink.

End-of-day leftover rate
Units left at close ÷ Units produced × 100
Adjusted batch
Planned batch × (Actual sales ÷ Forecast sales, previous period)
Example: batch plan for bread with a daily forecast of 600 units
BatchTimePlanned sharePlanned unitsAdjustment rule
Morning07:0050%300From the forecast, fixed
Midday11:0030%180Multiplied by the ratio of morning sales to forecast
Afternoon16:0020%120Multiplied by the ratio up to midday; baking stops two hours before closing

How is fresh food ordering run in Mindpera?

The forward-looking figure, tomorrow's expected sales, comes from the forecasting model. Mind Send reads that forecast as its demand signal, together with recent sales velocity, similar-product history and store cluster coefficients; warehouse availability, store shelf capacity and minimum dispatch pack apply as constraints. Every proposal line carries the constraint that shaped it and becomes an ERP dispatch order once the planner approves it.

In Mind Stock, shrink is entered with a reason code alongside expiry date tracking; any product-store pair that crosses its threshold drops to its owner as a task, and that data feeds the next order. Shelf capacity defined in Mind Space is read from the same table by every module; a proposal line that will not fit the shelf is flagged.

  • Mind Send: demand signal, replenishment proposal, line-level approval and change trail
  • Mind Stock: reason-coded shrink, expiry date tracking, alerts when thresholds are crossed
  • Mind Space: shelf capacity constraint and flagging of proposal lines that exceed it
  • Agents find the gap between forecast and actual, open a task and follow it until the work is closed

If till, scale and shrink data sit in different systems, installation brings them into a single data model.

Frequently asked questions

How do you calculate the daily order quantity for fruit and vegetables?
Add a safety allowance to forecast sales up to the next delivery, then deduct sellable stock and goods in transit. Sellable stock is stock on hand minus what will be trimmed tomorrow. For example, a 160 kg forecast, 12 kg safety allowance and 30 kg of sellable stock give an order of 142 kg, rounded to 24 crates of 6 kg.
How do you reduce end-of-day leftovers in bakery?
The whole daily forecast is not baked in the morning; production is split into morning, midday and afternoon batches. Each batch is adjusted by the ratio of actual to forecast sales in the previous period. Read the leftover rate together with the time the shelf empties: zero leftovers can mean the shelf is emptying hours before closing and sales are being lost.
How should stocked-out days enter the demand forecast?
Not as they are; they are corrected. Sales up to the moment the shelf emptied are divided by the share of daily sales normally made by that hour. For a product that makes 70 per cent of its daily sales by 18:00, a shelf that emptied then after selling 96 kg implies corrected demand of about 137 kg. An uncorrected series pulls the forecast lower every week.
Is safety stock held for fresh food?
Yes, but it is calculated differently from ambient grocery. Surplus fresh food cannot wait and turns into shrink, so the safety allowance is set by the target that follows from the ratio of unit gross profit to unit shrink cost. A markdown routine lowers shrink cost and so allows a more generous safety allowance.
How does an automated ordering system work for fresh food?
The forecasting model gives tomorrow's sales at product-store-day level; the system deducts sellable stock, goods in transit and shelf capacity to propose an order, and the planner approves it. According to Migros's 2020 sustainability report, automated produce ordering introduced in 2018 cut disposal by 3.1 points in the first 114 stores.
How is forecast accuracy measured for fresh food?
At the level where the order is placed: product, store and day. The forecast is measured against corrected demand, not raw sales. Bias is tracked separately: persistent over-forecasting turns into shrink and persistent under-forecasting into empty shelves, and the two have different fixes.

Sources

  1. Migros, Gıda İsrafını Önleme Çalışmalarımız (food waste prevention section of the 2020 Sustainability Report) — 2020
  2. Law No. 6585 on the Regulation of Retail Trade, Art. 6 (consolidated text, Turkish) — 2014-01-29
  3. Regulation on the Principles and Rules for Retail Trade, Art. 4 (consolidated text, Turkish) — 2016-08-06

Let us build this calculation on your data

Knowing the formula is not enough; the data has to sit at the right grain. Our team does the installation. We will go through your current setup together in 30 minutes.