Most stores hear two complaints at once and rarely connect them: the warehouse is full and the shelf is empty. Capital sits in goods that sell slowly while, on the same day, a customer leaves without the item they came for. Both follow from one weakness: ordering decisions are made on averages rather than on the demand pattern of each item in each store.
Retail is one of the few industries that has been generating the necessary data for years while using little of it. Every till receipt is a complete observation: which item, at what hour, next to which other item, at what price. What today's models do is nothing more than reading that history systematically; the difference is that they do it for thousands of SKUs and dozens of branches at the same time.
Three applications that pay off first
- Demand forecasting at item and branch level: a separate estimate for each item-store combination instead of one growth factor applied to everything.
- Personalised recommendation: showing an item related to the current basket or the customer's earlier purchases, both online and in post-purchase messages.
- Pricing and discount timing: deciding which item is discounted, when, and by how much, instead of a flat end-of-season markdown across the range.
Why the average is the worst ordering guide
Retail demand is rarely smooth. Around Nowruz, Ramadan and Yalda the composition of the basket changes; a branch in an office district behaves differently from one in a residential neighbourhood; and a single item can show two opposite patterns in two stores of the same chain. Averaging across all of this hides two errors at once: over-ordering slow movers and under-ordering items whose demand was underestimated. A forecasting model does nothing novel; it simply performs that separation for every SKU, which no spreadsheet can do.
Dynamic pricing and the line not to cross
Changing prices over time — discounting items near expiry or marking down dead stock — is accepted practice. But showing two different prices to two customers at the same moment, even where technically possible, destroys trust, and rebuilding that trust costs far more than the short-term gain. Three rules keep the practice safe: a clear floor and ceiling per category, a log of every price change, and human review for large discounts.
Why it matters for Iranian SMEs
When the cost of finance is high, an item sitting in the warehouse for months does not merely occupy space; it locks up money that could be working elsewhere. That is why better forecasting shows up in Iranian financial statements sooner than in many other markets. The second point is that most stores already hold their sales history in the till system; what is missing is not data but order in the data.
A 90-day route to start
- Days 1–30: pick one category that both turns over well and has a visible stock problem. Extract at least a year of daily sales and mark unusual events — holidays, supply interruptions, special promotions — in the same table.
- Days 31–60: build the forecast and test it on the past first: had this model existed three months ago, what would it have ordered and what would the outcome have been? Place its output next to the buying team's actual decisions.
- Days 61–90: give the model's suggestion to the buying team as advice, not as an instruction. If the stockout rate falls without total inventory rising, extend the scope to the next category.
Frequent mistakes
- Starting with the whole store instead of one category, which produces a project that never reaches evaluation.
- Leaving external events out of the data; a model unaware of last week's public holiday reads the sales dip as a permanent pattern.
- Judging personalised recommendations on click rate rather than actual sales; more clicks do not always mean a larger basket.
- Trusting the forecast completely for a newly introduced item with no history at all.
Three actions for this quarter
- List the ten items that ran out of shelf stock most often and make them the starting point.
- Consolidate daily sales history from the till system into one unified table, separate from the monthly reports.
- Record two numbers: the stockout rate and inventory turnover for that category, so they can be compared three months from now.
Frequently asked questions
- What do we do about a new item with no sales history?
Base the forecast on comparable items in the same category and, for the first weeks, keep orders cautious and short-cycle while data accumulates. - Do we need to identify customers to personalise?
Not at the outset. Basket analysis — which items are usually bought together — works with no identity data at all and often delivers the first tangible improvement. - Can a physical store use any of this?
Yes. Inventory forecasting and shelf-layout adjustment need only till data and do not depend on online sales.
Takeaway
In retail, the distance between a good decision and an expensive one usually comes down to data quality rather than model sophistication. One category, one clean year of history and two clear metrics — stockout rate and inventory turnover — are enough to begin; postpone scaling until you have seen a result.
Glossary
- SKU: the unique identifier of each sellable item, the basis of any inventory analysis.
- Stockout rate: how often a customer fails to find the item they wanted in stock.
- Inventory turnover: how fast goods sell and are replaced over a period.
- Basket analysis: identifying items that are typically bought together in one purchase.
- Price elasticity: how far demand shifts in response to a change in price.
- Baseline: the recorded value of a metric before a change, used to measure improvement.