Forecast the four numbers separately, then multiply them
A revenue forecast built as one line is a wish. Built as four lines it becomes a set of assumptions you can argue with, test and correct.
So forecast visitors, conversion rate, average order value and orders from returning customers on their own rows, then multiply to get revenue. The value of the structure is that every disagreement becomes specific. Someone who thinks the number is too high has to say which of the four they doubt, and that conversation is productive.
It also makes the forecast correctable. When the month comes in below plan, you can see immediately whether traffic was short, the site converted worse, orders were smaller, or repeat customers did not return. One of those is a media problem, one is a site problem, one is a merchandising problem, and one is a retention problem. A single revenue line tells you none of it.
Keep each row honest about what drives it. Visitors are driven by budget and by whatever organic and email growth you can evidence. Conversion rate stays where it is unless a specific project lands, and even then improve it modestly and only from the date the work goes live. Average order changes when you change bundles, thresholds or price. Repeat orders follow the size of your customer base and your flows.
And resist improving all four at once. A forecast where every number gets better simultaneously is how businesses buy stock they cannot sell.
Start from last year's shape, not from a growth percentage
Most ecommerce demand is seasonal, and the seasonality is usually more predictable than the growth. So build the shape first and apply growth on top.
Take the last full year of orders and work out what share of the year fell in each month, or better, each week. That set of shares is your seasonal index, and it will be broadly similar again unless something structural changed. Include the awkward weeks: the promotional peaks, the quiet stretch after them, holidays, and any period specific to your category such as a school term, a planting season or a sports calendar.
Then apply the growth you actually have reason to expect, and be explicit about where it comes from: more budget, a new channel that is already producing, a range extension that is already ordered, a market you have already opened. Growth from things that have not started yet belongs in the high version of the forecast, not the expected one.
Watch for distortions in the history. A month with a stock outage, a viral moment, a site outage or a one off wholesale order should be adjusted before it becomes next year's baseline. Note the adjustments in the sheet so nobody quietly reverses them later.
If you have more than one year, use the pattern across both rather than the most recent, since one unusual year can bend the whole plan.
And forecast in weeks for the peak trading period. Monthly figures hide the fact that a large share of a quarter can land in a handful of days, which is a stock and staffing problem long before it is a marketing one.
Drive the traffic line from the budget and the cost per visitor
The one row you genuinely control is paid traffic, so build it from money rather than from hope.
Take the planned monthly budget, divide by a realistic cost per click based on your own recent data, and that gives paid visitors. Raise the cost per click assumption for the busy season, because auctions get more expensive when everyone is bidding, and a forecast that assumes flat click costs through a peak will overstate traffic exactly when accuracy matters most.
Then add the non paid rows separately: organic search, direct, email and text, and social. Grow those only where you can point to a reason, such as pages already ranking and rising, or a list that is growing at a measurable rate.
Apply different conversion rates to each source, because they are genuinely different. Email traffic and brand searches convert well, broad prospecting does not, and blending them means a change in mix reads as a change in site performance.
The same logic applies to spend limits. If the plan requires spending more, check whether the demand exists to absorb it. Beyond a point, extra budget buys worse matches rather than more customers, so a forecast that scales spend linearly overstates the back half of the year.
Finally, convert the forecast into the things that have lead times. Units by product for stock ordering, parcels per day for fulfilment, and support tickets for staffing. A revenue forecast nobody translates into stock is an interesting document that changes nothing.
Build three versions, then review the misses every month
A single number will be wrong, so produce three: a low case where traffic costs more and converts less, an expected case, and a high case where a specific initiative works.
Use them for different decisions. Order stock against something between the low and expected case for anything with a long lead time or a short shelf life, and against the expected case for evergreen lines. Plan cash against the low case, since running out of money in a good month is the most avoidable failure in ecommerce. Plan staffing and capacity against the high case, because being unable to ship during a spike costs reviews as well as orders.
Then make the forecast a living document. Each month, put actuals next to the forecast for all four rows, and write one line explaining any material difference. Over a few months this produces something valuable: knowledge of where your forecasting is biased. Most teams are consistently optimistic about conversion improvements and consistently late on projects, and once you can see that in your own history you can correct for it.
Re forecast the remaining months rather than leaving a plan everyone knows is wrong. A forecast nobody believes stops being used, and then decisions get made on instinct again.
Keep it in one place, with the assumptions written next to the numbers, in a document the business owns. The forecast is only useful if the person who inherits it can see why each row says what it says.
Worked example, not a result
One month built from four rows
- Paid budget
- $15,000
- Assumed cost per click
- $0.75
- Paid visitors
- 20,000
- Organic, email and direct visitors
- 18,000
- Blended conversion rate
- 1.9 percent
- Orders
- 722
- Average order value
- $72
- Forecast revenue
- $51,984
Worked example, not a result