Dispensary Inventory Forecasting: Stop Stockouts Before They Happen
Running out of your top flower on a Friday afternoon is more than a missed sale. It's a customer who drove across town, found an empty shelf, and started building a mental list of dispensaries that actually have what they want in stock. In competitive cannabis markets, that single stockout can cost far more than the lost transaction — it chips away at the loyalty that keeps customers returning.
And yet most dispensaries still order inventory on feel: "We sold a lot of that last week, let's get more." A few data signals get a glance, a purchase order goes out, and the operator hopes for the best. The result is a predictable cycle: stockouts on high-velocity winners, overstock on slow movers, and cash locked up in product sitting idle for 45+ days.
There's a better way — and it doesn't require a data science team or new software. It requires a cleaner relationship with the data your POS already collects every day.
Why Cannabis Inventory Forecasting Is Harder Than Standard Retail
Before diving into methods, it's worth naming why this problem is harder for dispensaries than for most small retailers.
Traditional retail forecasting assumes you can return unsold product to vendors, pivot to national suppliers overnight, or markdown freely without compliance consequences. Dispensaries have none of those safety nets.
The constraints that make cannabis forecasting uniquely difficult:
- No vendor returns. Over-ordered a slow-moving concentrate? That product sits until it sells, you mark it down, or it expires. Unlike general retail, you can't reverse the decision after the fact.
- Compliance creates ordering lag. METRC manifests, transfer approvals, and license validation add 24–72 hours to every reorder cycle. You can't call a supplier and get same-day delivery.
- Vendor reliability is uneven. State-licensed distributors face production bottlenecks, compliance holds, and allocation constraints of their own. A brand that drives 15% of your revenue can go dark for weeks without warning.
- Demand spikes sharply and unpredictably. A social media post, a competitor closing, or a local event can double demand for a specific SKU in 48 hours — with no lead time to respond.
- Product has a freshness window. Flower degrades. Edibles and concentrates carry printed expiration dates. Holding too much of anything isn't a neutral outcome — it's a ticking cost.
Dispensaries that manage inventory by instinct typically experience one of two failure modes: stockout events that cost $800–$2,500 per day on high-velocity SKUs, or cash-trap overstock where 15–25% of inventory sits idle beyond 45 days. Neither is acceptable when margins are already compressed by 280E tax treatment and high compliance overhead.
Build on Clean Demand History First
Forecasting is only as accurate as the underlying data. Before building any model, you need at minimum 90 days of clean POS transaction history — ideally 12 months to capture seasonal variation.
- Daily units sold by SKU
- Day of week and calendar date for each sale
- Product category (flower, concentrate, edible, vape, topical, tincture)
- Selling price and cost of goods
- Stockout dates — days when the product was unavailable
That last item is the one most operators skip, and it quietly corrupts their forecasts. If a SKU ran out of stock for three days in February, those three zeros in your transaction history don't represent zero demand. They represent lost sales you never captured. Average them in, and your model will systematically underforecast your fastest movers — the exact SKUs where a forecast error costs the most.
How to identify stockout dates: Look for SKUs with zero sales on days when they typically move 5+ units. Cross-reference against your receiving records to confirm whether you had inventory that day. Flag those dates and exclude them from your demand baseline before calculating any averages.
Three Forecasting Methods That Work for Dispensaries
You don't need machine learning to build a useful forecast. Three accessible methods cover the majority of dispensary inventory scenarios.
1. Simple Moving Average (SMA)
Best for: Stable, consistent products — your top house flower strains, everyday vape cartridges, steady-selling edible SKUs.
SMA averages daily unit sales over a rolling window, typically 4–8 weeks. A SKU averaging 14 units/day over the past six weeks gets a forward demand estimate of 14 units/day.
Limitation: SMA responds slowly to momentum. If a product is gaining velocity, SMA will lag behind actual demand and leave you short at the worst time.
2. Weighted Moving Average (WMA)
Best for: Most standard SKUs in a mature product mix.
WMA applies heavier weight to recent periods. A practical weighting for cannabis inventory: 50% last week, 30% week two, 20% weeks three through four. This makes the forecast more responsive to recent demand shifts without overreacting to a single unusual day.
- Week 1 (most recent): 91 units sold
- Week 2: 77 units
- Weeks 3–4 average: 68 units per week
WMA = (91 × 0.50) + (77 × 0.30) + (68 × 0.20) = 45.5 + 23.1 + 13.6 = ~82 units/week, or roughly 12 units/day.
3. Trend-Adjusted Smoothing
Best for: New products gaining velocity, or established SKUs in decline.
If a product launched eight weeks ago and has grown from 3 units/day to 10 units/day, a simple or weighted average will underforecast demand — it weights the early low-velocity weeks equally with recent high-velocity performance. Trend-adjusted smoothing calculates both the current demand level and the week-over-week rate of change, then projects both forward.
Most cannabis POS platforms — including Treez, Dutchie, and Cova — offer built-in trend analysis. The critical skill is knowing which method to apply to which SKU category, rather than accepting your platform's default across your entire catalog.
Layer In Seasonal Adjustments
Raw historical demand needs seasonal context before you can build a reliable weekly order plan. Cannabis retail has predictable seasonal patterns that most operators recognize in hindsight but rarely build into their ordering process in advance.
Key seasonal patterns to calibrate:
- 4/20 (April 20): Flower, concentrates, and bundle SKUs typically see 200–400% of normal daily volume in the three-day window around the holiday. The two weeks following 4/20 often see a 15–20% demand dip as customers who stocked up reduce visit frequency.
- December holidays: Edibles and gift-oriented products (pre-rolls, accessories, sampler formats) spike. Flower holds steady or rises modestly.
- Summer (July–August): Dispensaries in tourist corridors see a 20–35% lift in new customer traffic — which tends to favor approachable entry-tier products over specialty high-potency SKUs.
- Tax refund season (February–March): Many markets see a consistent demand lift of 10–18% driven by a surge in discretionary spending.
How to build a seasonal index: Calculate each week's actual sales as a percentage of your annual weekly average. A week running 30% above average gets an index of 1.30; a slow week at 85% of average gets 0.85. Apply the index forward when forecasting that same week next year. You'll stop getting caught short on predictable spikes — and stop over-ordering into predictable valleys.
Calculate Reorder Points With Real Numbers
A demand forecast is only useful if it translates into a concrete purchase trigger. Every high-velocity SKU needs two numbers: a reorder point (ROP) and a safety stock level.
Reorder Point: The on-hand inventory level that triggers a purchase order.
ROP = (Average Daily Demand × Vendor Lead Time in Days) + Safety Stock
Safety Stock: The buffer inventory that absorbs variability in both demand and vendor lead time.
Safety Stock = Z × σ(demand) × √(Lead Time)
Where Z is your service level factor — use 1.28 for a 90% service level (stockouts occur less than 10% of the time) or 1.65 for 95% — and σ(demand) is the standard deviation of your daily unit sales.
- A top flower SKU averages 18 units/day with a standard deviation of 5 units
- Vendor lead time: 3 days
- Target service level: 95% (Z = 1.65)
Safety Stock = 1.65 × 5 × √3 = 1.65 × 5 × 1.73 ≈ 14 units
ROP = (18 × 3) + 14 = 68 units
The moment on-hand inventory hits 68 units, you place your order. At 18 units/day consumption, you have roughly 3.8 days before exhausting the safety stock buffer — enough margin for the vendor to fulfill before you run out.
Run this calculation quarterly for your top 20 SKUs. Those 20 products likely represent 60–75% of your revenue, and protecting their availability is where forecasting ROI is highest.
Build Vendor Redundancy Before You Need It
Even a perfect forecast doesn't protect you from a vendor going dark. Cannabis supply chains are fragile by design: licensed producers face compliance holds, distributors miss delivery windows, and popular brands sell out at the distributor level before your order processes.
Practical steps to reduce vendor concentration risk:
- For each of your top five product categories, maintain at least two qualified vendors you've ordered from in the past 90 days. A vendor you haven't ordered from in six months isn't a backup — they're a cold contact.
- Track vendor fulfillment rate as a monthly metric: orders received complete and on time ÷ total orders placed. Any vendor consistently below 85% needs an active backup in rotation.
- Build a hot SKU substitution list — for your top 10 SKUs, identify the closest alternative in category and price tier that you can feature if the primary runs out. Train staff on the substitutions so customers hear a confident recommendation, not an apology.
Dispensaries with vendor redundancy built into their purchasing process typically reduce stockout duration by 40–60% compared to single-vendor category management. The fix isn't just better forecasting — it's building resilience into the supply side of the equation too.
The Bottom Line
Dispensary inventory forecasting isn't a capability reserved for multi-state operators with dedicated analytics teams. Any dispensary with 90 days of clean POS data and a willingness to run a few calculations can stop treating inventory as a reactive problem and start treating it as a predictable one.
- Clean your demand history first — flag and exclude stockout days before calculating any demand averages
- Match your forecasting method to product behavior: SMA for stable SKUs, WMA for standard products, trend-adjusted smoothing for new launches or declining items
- Calculate explicit reorder points and safety stock buffers for your top 20 SKUs — gut-feel order quantities leave margin on the table
- Build vendor redundancy into your purchasing process before a supply disruption forces your hand
At Chapters Data, we help dispensaries build inventory forecasting frameworks directly from their existing POS data — no new software required. If your ordering decisions still feel more reactive than planned, that's a data gap we can close.



