Running ads or emails without a demand view is expensive. This article is for e-commerce owners, marketers, and ops leads who plan campaigns in WooCommerce or Shopify. You will learn how to turn past sales, seasonality, and lead times into a simple forecast you can trust. No math degree needed. We will keep it practical, with quick checks you can do in a spreadsheet. And we will avoid guesswork.
We will cover which data to use, how to spot promo spikes, and how to set weekly budgets with stock risk in mind. You will also see how a tool like Shelf Planner can connect forecasting to buy orders and reorder points, so your campaigns stay aligned with what you can actually ship.
Forecast Demand Before You Set a Budget
Most budgets start with a gut feeling. “Let’s spend $X and see what happens.” But if you forecast demand first, the budget becomes a result rather than a guess. Start with the question that matters: how many units can we sell next week or next month without running into stock problems?
Pull your last 8–12 weeks of sales for the products you want to promote. Separate normal weeks from promo weeks. A promo spike looks impressive, but it can trick you into overspending later. Next, add two inputs you already have: your average conversion rate and your average order value for that category. Now you can translate demand into traffic and spend. If you expect 300 orders and you convert at 2%, you need about 15,000 sessions. If your paid traffic usually costs $0.60 per click, you can estimate the spend range.
Here’s where it gets practical. Check inventory and lead time before you lock anything in. If you only have 180 units and restock is three weeks away, your “300 orders” forecast is not real. Cap the budget to what you can ship, or shift the campaign to products with deeper stock. Also, look at the margin. If discounts are planned, recalc your allowable CPA so you don’t buy unprofitable orders.
I like to build two scenarios: conservative and aggressive. Then set a daily pacing rule and a stop point, like “pause if stock hits 25%” or “slow spend if CPA rises 20%.” This keeps campaigns stable, even when reality differs from the forecast.
Match Campaign Timing to Real Buying Patterns
Timing is where a lot of campaigns quietly fail. Not because the creative is bad, but because you hit “launch” on a week when people are not buying that thing. So before you schedule emails or turn up ads, look for patterns that repeat.
Start simple. Pull 6 to 12 months of sales by week for the products you plan to push. Do you see payday bumps? Many stores get a lift right after pay periods, then a softer stretch mid-month. Also, check the day of the week. Some categories spike on Sunday night (planning mode). Others convert on weekdays (work breaks). If your data shows a pattern, trust it more than your calendar.
Here’s my take: align marketing to how customers restock their own lives. Replenishment items behave differently from “treat yourself” items. A coffee pod brand I worked with stopped blasting discounts at random. They mapped repeat-buy cycles by customer segment. Heavy users reordered every 18 to 22 days. Light users every 30 to 40. They shifted email and retargeting to those windows, with a soft reminder first and a stronger offer only if needed. CPA dropped, and they used fewer discounts.
Another example. A pet supplies shop kept promoting litter during a supplier delay. Demand was there, but lead time was not. They moved the campaign to higher-margin add-ons that were in stock, and scheduled the litter push for the week their inbound shipment arrived. They also set a rule: if projected stock cover fell under 14 days, spend throttled down automatically. The result was steadier revenue and fewer “sorry, it’s backordered” tickets.
Finally, watch for seasonal triggers. Skincare often lifts in cold months. Outdoor gear spikes before holidays, then again in early spring. If you plan a big push, make sure purchasing and replenishment plans can support it. A great campaign is not the one that sells out in 48 hours. It is the one you can repeat, predictably, without breaking operations.
Turn Forecasts into Weekly Marketing Actions
A forecast is only useful if it changes what you do on Monday. I like a weekly rhythm, because it’s fast enough to react, but not so fast that you chase noise.
Start by turning your forecast into three numbers per key product or category: expected units, target CPA, and stock cover in days. Then build your week around those numbers. For example, if you forecast 120 units and you have 400 in stock with a 21-day lead time, you can push harder. If you forecast 120 units and you only have 160 left, you plan a lighter week and save budget for what you can replenish.
Here’s what usually improves when teams do this. Spend becomes steadier, so ROAS stops swinging. Email feels less random because it supports what’s available. Paid social and search stop competing for the same limited inventory. And you discount less, because you are not forced to “panic sell” slow movers at the end of the month.
A small case that stuck with me: a home goods store was launching weekly promos without a stock view. They had great click-through, but a lot of out-of-stock landing pages. After adding a weekly forecast check, they used a simple rule: only feature items with at least 30 days of cover, and move low-cover items into waitlists or softer content. Return rates stayed the same, but ad waste dropped, and customer support tickets fell.
Another team in apparel used forecasts to set pacing. If CPA drifted up, they did not cut the whole campaign. They shifted spending to products with better forecasted demand and better replenishment timing. That kept revenue stable and made optimization feel calm, not reactive.



