Profit

Shopify sales forecasting from your own orders: a method you can check

The simplest honest forecast moves your own last year forward, weekday by weekday, scales it by how you are really growing, and prices it with the costs that will apply.

The short answer

Forecast a store from its own orders: take each future day's sales from the same weekday a year earlier, multiply by your growth rate, measured on recent weeks against the same weeks last year, and price the result with the costs that will apply then. That gives a sales forecast and a profit forecast from the same orders.

Most sales forecasts for small stores are either a feeling or a trend line in a spreadsheet, and both fail in the same place: they ignore the weekly and seasonal rhythm that is already sitting in the store's own order history. The simplest forecast worth trusting reuses that history directly. Every future day takes its orders from the same weekday a year earlier, the whole year is scaled by how the store is actually growing, and the result is priced with the costs that will apply on each day, so a sales forecast and a profit forecast come out of one method. This guide walks through it step by step, shows what it handles well and where it needs help, and explains why a forecast of profit is the one worth reading.

In short

  • Move last year forward by 364 days, not by a calendar year, so every Saturday stays a Saturday and the weekly rhythm survives.
  • Measure growth on recent weeks against the same weeks a year earlier, and cap it, so one odd month cannot run away with the year.
  • Price the forecast with the costs that will apply on each future day, including changes you have already agreed.
  • Under a year of history there is no season to read: repeat the last four complete weeks and say so.

Why your own orders beat a trend line

A trend line through monthly revenue is the most common small-store forecast, and it averages away the two rhythms that decide whether a forecast is useful. The first is the week. On an example store's order book, Saturday brought 1,31 times the net revenue per trading day that Monday did, €38.735 against €29.547, with the working days close together in between; the full pattern is in which weekday actually earns. A forecast that ignores the week is wrong on nearly every single day and right only on the monthly total, which is the least useful level to be right at when you are planning staff, stock and campaigns.

The second is the season: the summer dip, the run-up to Christmas, the week of Black Friday, the January wave of returns. A year of your own orders already contains all of it, in your own proportions and for your own audience, which no industry curve can. The method below uses that year directly instead of fitting a line through it.

Step 1: move last year forward by 364 days

Take every order of the last 364 days and move it forward by exactly 364 days. Not by a calendar year: 364 days is 52 weeks, so every Saturday lands on a Saturday and the weekly rhythm survives. A calendar shift would line this year's Saturday up with last year's Friday, and the weekend effect above would smear across the whole forecast as noise.

Dates tied to a weekday move correctly. Black Friday is the day after the fourth Thursday of November, so it moves the same way: 28 November 2025 plus 364 days is 27 November 2026, Black Friday again. Fixed calendar dates drift by a day each year, so last Christmas Day lands on Christmas Eve in the forecast, which for most stores is noise against the shape of the week. Easter follows neither rule, falling on 5 April in 2026 and 28 March in 2027, so a store with an Easter peak should mark it by hand rather than trust any automatic alignment.

Step 2: measure how you are actually growing

Last year is the shape, not the size. To scale it, compare the orders of your last complete weeks, up to thirteen of them, with the same weeks a year earlier. Count orders rather than revenue, because price rises and shifts in the product mix belong to pricing, not to demand, and measure over weeks rather than days so that one odd day cannot steer the year.

The arithmetic is a single division. Say the last thirteen complete weeks brought 2.600 orders and the same thirteen weeks a year earlier brought 2.000: the rate is 1,30, and every forecast day becomes last year's same weekday times 1,30. The rate carries last year's seasonality forward at this year's size, so a December that was twice as busy as October last year stays twice as busy, just bigger.

Then cap the result. A store that doubled through a single viral month should not forecast doubling forever, and one that halved during a stock-out should not forecast collapse. nouz keeps the rate between a quarter of last year and three times last year, and only measures it when last year's weeks held enough orders to mean something; otherwise it uses last year as it was. Advertising grows at its own rate, platform by platform, because a merchant scales one channel and pauses another: a paused platform stays paused in the forecast, and a channel that did not exist last year repeats its last four weeks.

Step 3: let refunds keep their own day

Refunds are the subtle part. If the forecast moved each refund with its order, the last weeks of the forecast would carry almost no returns, because orders from the last few weeks have not been refunded yet. The fix is to move each refund with its own day: a forecast day's returns are the refunds that were issued on the same weekday a year earlier, all of which have already happened, whichever order they belonged to.

It matters because the lag is long. On an example store's order book the median refund arrived 18 days after its order and only 21,7% within the first week; the full curve is in how long refunds take to arrive. A forecast that ignored the lag would flatter every recent month by most of a month's returns, and the flattery would always point the same way.

Step 4: price it with the costs that will apply

A sales forecast stops at revenue, and revenue cannot tell you whether a month is worth having. A profit forecast runs every forecast day through the same cost rules as the statement: the cost of goods valid on that day, the parcels priced by zone and by weight or size, the payment fees, the advertising projected for the period and the fixed costs that will be running. A supplier increase you have already entered with a start date in March applies from March in the forecast too, because dated cost rules work forward in time as well as back.

That is the difference between a sales forecast and a forecast you can plan with. It shows each future month as a statement, net revenue down through CM1, CM2 and CM3 to EBITDA, which is the shape of the P&L statement block by block, so a strong month that will lose money on its own discounts shows up as exactly that instead of as a record.

Step 5: give it a range, not a promise

Every forecast is wrong by some amount, and the honest thing is to say how much. Test the method on your own past: run it as of the first day of each past month, using only what was known then, and compare its net revenue with what the month actually brought. The spread of those errors is the range to plan around, and it widens for months further away.

nouz does exactly that once a store has enough history to test on, which is how it can say how accurate the forecast is: the likely range is the error the method stayed within on four past months in five. Until then it uses 10% for the current month plus a point for every month further out, and 25% for a store with less than a year of orders. The range on profit is wider in euros than the range on revenue suggests, because profit moves by the revenue a month gains or loses times the margin that revenue carries.

When there is less than a year

Under four weeks of orders there is nothing to forecast: four weeks is the least that shows a weekly rhythm, and anything shorter would be a guess dressed as a number. Between four weeks and a year there is a rhythm but no season, so the honest method is to repeat the last four complete weeks for the rest of this month and the next three, and to say plainly that the season is missing. From a year on, the same-weekday method above takes over, season included.

What the method cannot know

It knows what happened, not what you are planning. A sale you have not run before, a product launch, a price change you have not entered, a new market, a supplier who will deliver late: none of them is in last year's orders. Each belongs in the forecast as a deliberate change rather than a hope, and the ones that repeat every year, such as last year's Black Friday, should be found in your own data and carried forward automatically. The planning around that week is its own subject, set out in the Black Friday margin checklist.

Stock is the other limit. A forecast can say a product will sell 300 units in November; only the stock on the shelf and the supplier's lead time say whether it can. That is where the reorder point comes in, and a forecast of units per product is what turns it from a guess into a date.

How to use it once it exists

A forecast earns its keep in the weeks after it is made, not on the day. Read it against what actually happened once a week, on the same weekday, and look at the gap rather than the totals: a month running ahead of its forecast in its first ten days is telling you about demand, a month running behind on margin while revenue holds is telling you about costs. Either is worth knowing in the second week of the month rather than in the first week of the next one.

Use it to set the things that have to be decided before the month starts: the ad budget the margin can carry, the stock that demand planning says to order against each supplier's lead time, the cash the account will need on the day the VAT return and the big supplier invoice land together. And set goals against it rather than against last year, because a goal that ignores the forecast is either already met or out of reach before the month begins. A month that keeps missing its forecast in the same direction is the signal to look again at the growth rate, or at a cost that changed without being entered.

Where this lives in nouz

The Forecast page in nouz runs this method on your own orders and on the cost rules you already keep. It shows where this month will land, with the days already booked counted as fact and only the rest forecast, and every month as a statement, up to twelve months ahead, this one included, with the likely range and what the forecast assumes, growth rate included. Last year's Black Friday season is found in your daily orders and carried forward, What if scenarios change prices, advertising, costs or growth for a period you choose, goals sit against the forecast month by month, and planned events add a sale, a launch or a campaign.

On the Stock & cash tab the same forecast becomes a purchase plan and a cash plan, and the cash side, with its VAT dates, is worked through in cash flow forecast with VAT. Forecast is on every plan, and it reads the same statement the rest of the product does, so a cost you change on the Products page changes the forecast the same day. Every rule it follows is listed in how the forecast is built.

Doing it by hand

  • Export a year of orders with their dates in the store's timezone, without test and cancelled orders.
  • Add 364 days to every order date, and total the orders and net revenue for each future day.
  • Divide the last thirteen complete weeks' orders by the same weeks a year earlier, cap the result between 0,25 and 3, and multiply the future days by it.
  • Move each refund forward 364 days from its own date, not its order's.
  • Price the result with the costs you know will apply, including changes already agreed for later months.
  • Check it against two or three past months before trusting it, and plan around the spread you find.

A spreadsheet can do all of this; the work is in redoing it every time the store moves. For the money side, the profit forecast calculator carries a month's statement twelve months forward at the growth rates you give it. For the units side of a single product, the stock coverage calculator is the quickest check of how long the shelf lasts at the forecast pace.

A forecast built this way is not clever, and that is its strength: every number in it can be traced to an order you actually took or a cost you actually entered. It will not predict a viral month or a supplier failure. What it does, reliably, is turn last year's rhythm and this year's growth into a plan you can check every morning against what really happened.

Questions

Questions, answered.

How do I forecast sales for my Shopify store?
Take last year's daily orders, move them forward by 364 days so each weekday lines up, multiply by your growth rate measured on recent weeks against the same weeks a year before, and add what you know is different this year, such as a planned sale or a price change.
How much order history does a forecast need?
Four weeks at the least, which shows a weekly rhythm but no season; until you have a year, repeat the last four complete weeks and say that the season is missing. With a year or more, the same weekday a year earlier carries the season, Black Friday included.
Why forecast profit and not just sales?
Because a sales forecast cannot say whether a month is worth having. The same orders priced with the costs that will apply then show what each month should leave after goods, parcels, fees, advertising and fixed costs.
How accurate is a forecast built from last year's orders?
Accurate enough to plan with, never exact. Test it on your own past: run it as of the start of each past month, compare it with what the month brought, and plan around the spread of those errors.

Run these numbers on your own store.

nouz installs from the Shopify App Store, where the listing is in review. It imports every order your store has ever taken and builds the full P&L from your own costs, every day. Cancel anytime.

Your trialToday
14 days of nouz, every feature€0,00
Card needed to startNone
Access to your storeRead-only
Due today€0,00