Demand forecasting for retail: turning POS data into stock decisions

Demand forecasting in retail is the practice of using past sales to predict what you'll sell next week, next month, and next quarter β and using that prediction to drive purchasing decisions. Done well, it eliminates the two opposite problems of retail inventory: stockouts (lost sales because the shelf is empty) and overstock (cash tied up in product that won't move).
The good news: your POS already records every signal you need. The hard part is structuring it into a routine that survives busy weeks and produces decisions, not just dashboards.
The four metrics that matter
Most retailers don't need machine-learning forecasting. They need four numbers per SKU, reviewed weekly:
Weekly velocity. How many units of this SKU sell per week, averaged over the last 4β8 weeks. This is the baseline.
Weeks of cover. Current stock divided by weekly velocity. If you sell 12 units a week and have 36 units on hand, you have 3 weeks of cover. The reorder threshold is typically 2 weeks of cover plus your supplier's lead time.
Trend. Is weekly velocity rising, flat, or falling vs. four weeks ago? A SKU selling 12/week today but 8/week a month ago is trending up β your "average" velocity already understates current demand.
Seasonality multiplier. Some SKUs spike at known times (Ramadan, back-to-school, Eid, year-end). For these, raw weekly average is a trap. You need year-over-year same-week comparison, not just last-month average.
A POS report that surfaces these four numbers for the top 200 SKUs is the working layer of demand forecasting. Everything fancier is optimization.
Reorder thresholds: when to buy more
The standard reorder formula:
Reorder point = (weekly velocity Γ supplier lead time in weeks) + safety stock
Worked example for a SKU selling 20 units/week with a 2-week supplier lead time and 1 week of safety stock:
- Reorder point = (20 Γ 2) + 20 = 60 units
- When inventory drops below 60, place an order
- Order quantity = enough to cover the next 4β6 weeks at current velocity, plus a buffer for demand uncertainty
The safety stock multiplier depends on how variable demand is for that SKU. Stable, year-round items can run on 1 week of safety stock. Volatile or seasonal items need 2β3.
For multi-store operations, calculate reorder points per store, not just at the chain level. A SKU that turns 30/week chain-wide might break down as 18/week at one store and 4/week at another β buying for the chain average leaves the busy store understocked.
The weekly reorder routine
A weekly reorder routine that works has four steps:
Step 1 β Pull the report. Every Monday morning, pull the SKU-level demand report. It should show: current stock, weekly velocity (4-week average), weeks of cover, trend vs. prior period, and a flag for any SKU below reorder point.
Step 2 β Investigate the flagged SKUs. Each flagged SKU needs a 30-second decision: reorder at standard quantity, reorder larger (trending up), reorder smaller (trending down), or skip (clearing the SKU). The investigation is glance-level; the data should make the decision obvious.
Step 3 β Place orders. Bundle reorders by supplier to hit minimum-order thresholds and reduce per-order shipping costs. A POS that integrates with purchasing module makes this a one-click operation; otherwise it's a spreadsheet export.
Step 4 β Track receiving. When the supplier delivers, reconcile against the PO. Short-shipments or substitutions need to be flagged within 24 hours so credits don't expire.
The cumulative discipline matters more than the precision of any single forecast. A team that runs this routine reliably for six months has dramatically less stockout risk than a team running a more sophisticated model occasionally.
Seasonality: where simple forecasting breaks
Annual seasonality is where weekly-average forecasts go wrong. The classic mistakes:
Forecasting Eid demand from non-Eid weeks. Confectionery, gift items, dates, fragrances spike before Eid. If your forecast averages the last four weeks (none of which include Eid prep), you'll dramatically underbuy. The fix: year-over-year same-week comparison, with explicit calendar awareness.
Ramadan grocery patterns. Total grocery sales rise 20β40% during Ramadan with the timing of demand shifting (heavy purchases after iftar, sharp spikes on the days before Ramadan begins). Generic forecasting that treats Ramadan as "average" misses both the volume increase and the daily timing shift.
Back-to-school in late August. School supplies, uniforms, electronics see specific weeks of peak demand that don't repeat the rest of the year. Stock 4β6 weeks ahead, then mark down aggressively in the weeks after the peak to clear leftovers.
Year-end / new-year. Gift purchases, new-year planning items, calendars, planners. Concentrated in 3β4 weeks.
For seasonal SKUs, the right comparison is same week last year, not last week. A POS with multi-year sales history makes this trivial. Without history, the first year of any new SKU is a guess; the second year you start having real data.
Multi-store: balancing inventory across locations
Retailers with multiple stores face a specific challenge: some stores run out while others sit on excess inventory of the same SKU. The discipline that addresses this:
Per-store demand profiles. Each store has its own weekly velocity for each SKU. Don't assume uniform demand. A boutique location might sell premium items at 3Γ the rate of a suburban location while moving basics at half.
Inter-store transfers as a routine, not an exception. When the central report shows Store A has 8 weeks of cover and Store B has 1 week, transfer should happen before B stocks out, not as an emergency response after.
Centralized reorder, store-level distribution. Order quantities are calculated chain-wide based on aggregate demand. Distribution to stores is calculated separately based on each store's historical share of that SKU's velocity.
Our multi-store inventory guide covers the operational details.
The forecasting failures that cost the most
Three specific mistakes account for most forecasting losses:
Stockouts on top SKUs. Your top 20 SKUs by sales typically generate 60β70% of revenue. A stockout on a top-20 item costs disproportionately more than a stockout on a long-tail item. Reorder thresholds for top SKUs should be tighter and reviewed more frequently β daily, not weekly.
Buying for the year on a hot trend. A SKU is trending up sharply for 4 weeks, so a buyer commits to a 6-month supply at the new run rate. Then the trend reverses and you have 5 months of dead stock. Hot trends warrant larger orders, but rarely 6-month commitments. Stay closer to the curve.
Ignoring slow-movers. A SKU sells 1/week. It's been 1/week for two years. Carrying 50 units is 50 weeks of cover. The right number for this SKU is 8β12 units, not 50 β even if the historical reorder size was 50. Periodic slow-mover review (monthly or quarterly) flags these for either downsizing or discontinuation.
What POS data alone can't tell you
Demand forecasting from POS data has real limits. The blind spots:
- Lost sales from stockouts. Your POS records what you sold, not what customers tried to buy when the shelf was empty. Customer-facing surveys, "tried to buy" tracking, or supplier rep observations help fill this gap.
- External shocks. A new competitor opening across the street, a road closure, a major event in your city β these change demand without warning. Forecast models trained on past data don't predict them.
- New SKU launches. No history β no forecast. The first 6β8 weeks of a new SKU are pure guess; you need to watch closely and adjust.
- Demand cannibalization. When you launch SKU B, it might steal sales from SKU A rather than create incremental demand. Your forecast for both needs to account for this.
Authoritative sources
- Saudi General Authority for Statistics β retail trade indicators β official monthly retail trade data for benchmarking against your own velocity trends.
- GS1 β global product identification standards β barcode and SKU standards that make consistent inventory tracking possible across suppliers and stores.
- APICS Operations Management Body of Knowledge β industry-standard reference for inventory management formulas and reorder-point methodology.
Frequently asked questions
How accurate does my forecast need to be?
Aim for "good enough to make better decisions than guessing." A forecast accurate to Β±15% is dramatically better than no forecast. Chasing Β±5% accuracy with sophisticated models rarely earns its complexity for retailers under 1M SAR/month in revenue.
What's the right amount of safety stock?
Depends on demand variability and the cost of a stockout. High-value items where stockouts kill conversion (top sellers) get more safety stock. Slow movers where a stockout means a 2-week wait that nobody minds get less. As a default: 1 week for stable SKUs, 2β3 weeks for volatile ones.
Should I forecast weekly or daily?
Weekly is the practical operating cadence for most retail. Daily forecasting matters for very high-volume operations (grocery, quick-service) where same-day decisions about replenishment, freshness, and labor planning depend on tight signals.
How do I forecast for SKUs I just launched?
For the first 6β8 weeks, watch sales closely and don't extrapolate too aggressively. Look at comparable SKUs (similar category, similar price point) for a baseline. Reorder cautiously; you'd rather be slightly understocked early and recover than overstocked and discount-clearing in month three.
What if my supplier's lead time is unreliable?
Pad the reorder point. If the stated lead time is 2 weeks but actual lead times vary from 2β4 weeks, calculate the reorder point as if lead time were 4 weeks. Inventory cost on the extra stock is cheaper than stockout cost.
Our cycle counts guide and POS sales reports guide cover the data foundations that demand forecasting depends on.
Related Articles

Cycle stock formula: how to calculate safety stock and reorder points for retail
Cycle stock is the inventory you expect to sell between replenishment orders. Learn the formula, how it differs from cycle counting, and how to size safety stock and reorder points.
Back to Blog
Multi-store inventory management: how to keep stock accurate across locations
Practical strategies for tracking inventory across multiple retail locations without spreadsheets or manual reconciliation.
Back to Blog
Menu engineering for restaurants: using POS data to price and prune
Your POS records every dish sold and every dish ignored. A practical guide to using that data to price right, drop dead items, and shape the menu around what actually drives margin.
Back to Blog
POS sales reports every retail store should track weekly
Seven essential POS reports that turn transaction data into actionable decisions for revenue, margins, and inventory.
Back to BlogPerishable inventory and expiration tracking: a retailer's guide to FIFO, FEFO, and waste
Perishable inventory expiration tracking turns spoilage from a guess into a managed cost. Here is how grocery POS systems track shelf life, run FIFO/FEFO rotation, and separate waste from shrinkage.
Back to Blog
How cycle counts prevent end-of-month inventory surprises
Use lightweight weekly counting routines to keep stock records accurate and reduce urgent corrections.
Back to Blog