Forecasting
Do returns count as sales in your sales rate?
In most sales-rate calculations, including ours, a unit that comes back still counts as sold. The error runs the opposite way from the stockout loop, and it costs cash rather than sales.
Yes, in most sales-rate calculations a returned unit still counts as sold, and Restocio's is one of them, so a product with a high return share shows a rate above its real pace. It is the mirror image of the stockout loop: an empty shelf hides demand that was there and starves your best sellers, while a return records demand that was taken back and parks cash in stock you did not need. One error costs you sales. The other costs you money, and it is the quieter of the two, because a full shelf never raises an alarm.
The understated half is written up in how to stop running out of stock and is not repeated here. This page takes the other direction: what Shopify actually records when a unit comes back, how far that pushes the rate, where your own number is, and what to do with it.
What Shopify records when a unit comes back
A unit comes back one of three ways, and each leaves a different mark on the order. The marks matter because a sales rate is built from order lines, and which field it reads decides whether the return is visible to it at all.
Cancel the order and Shopify flags the whole order as cancelled. Its page on cancelling orders, read on 2 October 2026, says the Restock inventory option "is selected by default, which returns the canceled items to your inventory". Refund the order instead and nothing is cancelled. It stays a valid order with a refund attached, and the page on refunding orders, read the same day, says the Restock items option "is selected by default and is available only when you track inventory for the items included in the order". Edit the order and take a line off before it ships, and the unit never left the building, but the line remembers that it was ordered.
It remembers in a precise way. Shopify's Admin API reference for the order line item, version 2026-10, read on 2 October 2026, defines the line's quantity as "the number of units ordered, including refunded and removed units", and a second field, currentQuantity, as "the number of units ordered, excluding refunded and removed units". Two numbers on every line. A calculation that sums the first counts the refund as a sale. One that sums the second does not, and the first is the obvious one to reach for when the question is what sold.
| What happened | What the order says | What the shelf says | A rate built on the ordered quantity |
|---|---|---|---|
| Order cancelled | Cancelled, whenever that happened | Units back, if restock was left ticked | Leaves the whole order out, if it filters cancelled orders |
| Refunded, unit returned and restocked | Still a valid order, with a refund | Unit back on the shelf | Counts the unit as sold |
| Refunded, unit not restocked | Still a valid order, with a refund | Unit gone, damaged or written off | Counts the unit as sold, which is right: it has to be bought again |
| Line removed by an order edit | Edited, the ordered quantity unchanged | Unit never left | Counts the unit as sold |
Read the last column. A cancellation is the only case the order itself flags, so a rate can leave it out without reading the lines. Every other way a unit comes back is invisible to a rate that sums the ordered quantity, and a restocked unit is doubly invisible, because it goes back into the stock count as though it had never been sold while the rate goes on insisting it was.
How far the rate reads high
Call the share of units that come back and go back on sale the restocked return share. That is the figure that matters, not the raw return rate. A return that is damaged or written off is a unit you genuinely have to buy again, and the rate was right about it.
For the restocked share the arithmetic is one division. Take a product where ten units a day leave on orders that are never cancelled, and three of the ten come back and are restocked. Seven a day is the pace the shelf actually empties at. The rate reads ten, and ten divided by seven is 1.43, so the rate sits 43 percent above the real pace. Not 30 percent, because taking three units out of the count makes the remaining seven the whole, and the overstatement is measured against the seven.
| Restocked return share | Rate shown, against the real pace | 700 units on the shelf reads as | How long they really last |
|---|---|---|---|
| 0% | Correct | 70 days | 70 days |
| 10% | 11% high | 70 days | 78 days |
| 20% | 25% high | 70 days | 88 days |
| 30% | 43% high | 70 days | 100 days |
| 40% | 67% high | 70 days | 117 days |
Every number downstream inherits it, because every one of them is the rate multiplied by something. Days of stock is the shelf divided by the rate, so it reads low, and the order deadline, which is days of stock minus lead time, arrives early. The quantity reads high. An order meant to cover 100 days comes out at 1,000 units on the rate shown and 700 on the real pace, and those 300 extra units are about six weeks of additional cover at seven a day. Subtracting the shelf from both figures does not close that gap, it widens it in proportion, since the same stock is taken away from the larger number.
Two things soften it. Returns lag the sale, so over a horizon of days the units still in the post have not come back and the gross rate is close to right; over the months an importer plans across, the lag is a rounding error and the net pace is the honest one. And the direction is the safe one for the shelf. A rate that reads high buys early and buys more, which parks cash and breeds dead stock rather than empty shelves. The stockout loop costs sales you never get back. This costs money you get back slowly, one unit at a time.
Both errors also meet on the same product more often than you would like. A best seller in a high-return category sells out, which drags its measured rate down, and gets a third of its units back, which pushes the rate up. Two errors pointing opposite ways can land near the right answer. That is luck, not measurement, and the next time the size mix shifts it stops holding.
The case for leaving returns in
There is a respectable argument on the other side, and it deserves a hearing. A 2019 post on the supply-chain planner Arkieva's blog, Forecasting with Returns, read on 2 October 2026, warns that a history with returns netted out projects "a smaller than expected amount in terms of what we need to supply to the customer", and concludes that "a better approach is to track the returns separately and not include them as part of the actuals when doing forecasting. If needed, they can be forecasted separately."
That is right for the question it answers. If you are forecasting how many units customers will order next week so the warehouse can pick them, the returned unit was ordered and picked like any other and belongs in the count. A purchase decision asks a different question: how many units to buy from the factory so the shelf is not empty in four months. A unit that comes back and goes back on sale does not need buying twice, and a rate that counts it buys it twice. Both answers are right, to different questions, and a reorder is the second kind. Shopify's own product report quietly takes the same view, as the next section shows.
Where to read your own return share in Shopify
The scale first. The National Retail Federation and Happy Returns projected, in a release dated 15 October 2025, that 19.3 percent of US online sales would be returned in 2025. That is a share of dollars across the whole of American online retail, so it says little about your store beyond the fact that the number is not small. Yours is in your own reports, per product, and it takes five minutes.
Open Analytics, then Reports, and find the order report called Orders and reversals by product. Shopify's order reports page, read on 2 October 2026, gives it three columns that do the whole job: Ordered quantity, "the total number of items ordered during the selected time period"; Reversed quantity, "the total number of items removed from orders during the selected time period", which "includes refunds, returns, cancellations, or edits"; and Reversed quantity rate, the second as a percentage of the first. Set the date range to the window your rate is measured over, 60 days by default in ours, and the last column is your return share, per product, with no arithmetic.
The sales report tells the same story from the other end. The product-level column in Total sales by product is Net quantity, which Shopify's sales reports page, read the same day, defines as "number of sold items - number of returned items". So the quantity Shopify shows you per product is already the net pace. It is the ordered quantity, the figure most sales-rate calculations are built on, that is not.
Two caveats on the number before you use it. Reversed quantity counts cancellations and order edits alongside returns, and the rate you are correcting has usually dropped cancelled orders already (ours has not yet, see the last section), so the share from the report runs a touch high as a correction. And the sales reports page says sales post "as a positive value for the day that they were made, and reversals display as a negative value for the day that they were processed", so a window that ends on a quiet fortnight carries returns from sales outside it. Over 60 days the first is small and pushes towards over-correcting; the second cuts either way (returns from earlier sales count, returns still in the post do not). If in doubt, round the share down rather than up: the error you are correcting runs in the safe direction, and a half-correction leaves you on the safe side of it.
Then the question only you can answer: do those units go back on sale? If your refund habit leaves Restock items ticked and the goods come back resaleable, the restocked share is close to the report's figure. If returns go to a bin or an outlet, it is close to zero, and the rate was right all along.
Correcting the rate by hand
Multiply the rate by one minus the restocked share, and use the result everywhere the rate goes. Ten a day with three in ten restocked is seven a day. Days of stock is the shelf divided by seven, not ten. The order deadline moves later in the same proportion and the quantity shrinks by it. Do it per variant, because a product's return share is mostly one size's return share, and do it only where it moves a decision. A 5 percent share on a product with three weeks of cover changes nothing you would act on. A 30 percent share on a container order changes the container.
Keep the stockout correction as well. Divide by the days the product was actually on the shelf and take the restocked returns out, both together, and a product that sells out and comes back is measured right from both ends instead of balanced by accident. The rest of the rate, the window and what to leave out of it, is in inventory forecasting without the mystique, and what the corrected pace does to the shelf is in how many days of stock to hold.
What Restocio does with a return today
Now the limitation, since it is ours. Restocio's sales rate is read from Shopify's order list and sums each line's ordered quantity, the field Shopify defines as including refunded and removed units. A refund never drops out of it, nor does a line removed by an order edit, and today neither does a cancelled order: the filter we asked Shopify for is one its order search ignores, found while checking this page. When a returned unit is restocked it comes back into the stock figure, because the plan reads each variant's inventory quantity from Shopify, so the shelf is right and the pace is high. The cost of goods panel shows the same unit from the other side, as stock that appeared without a delivery, and lists a returned order put back on the shelf first among the usual causes. Nothing in the app shows a return share per product, and nothing nets one out of the rate.
What that means on a high-return product: the days left on the Replenishment page are a floor, the real figure is higher by the table above, and the suggested quantity is a ceiling, as far as this error goes. On anything with a restocked share in single digits the difference sits inside the noise of the rate itself and you can ignore it. Netting restocked returns out of the rate is not on our roadmap today, and we would rather say so than imply it is coming. If it matters to your catalogue, tell us. Where the rate sits in the whole loop, deadline and quantity included, is the Shopify replenishment guide.
Common questions
Do returns count as sales when forecasting inventory?
In most calculations they do, because the calculation sums the ordered quantity on each order line, and Shopify defines that field as including refunded and removed units. For a purchase decision they should not: a unit that comes back and goes back on sale does not need buying again. Multiply the rate by one minus the share of units that are returned and restocked, and use that pace for days of stock, the deadline and the quantity.
Does a cancelled order count in the sales rate?
Usually not. In Restocio it does until the filter is fixed. Most calculations drop an order by its cancelled status, whatever day the cancellation happened; ours asked Shopify's order search for a field it ignores, found while checking this page. A refund is different. The order stays valid with a refund attached, and the line's ordered quantity still includes the refunded unit, so it stays in the rate.
Does Shopify's sales report include returns?
Its product report shows Net quantity, which Shopify defines as the number of sold items minus the number of returned items, and sales-reversal columns for the money. Reversals post on the day they were processed rather than the day of the sale, and they cover cancellations and order edits as well as returns, so the figure is a close cousin of the return share rather than the thing itself.
How do I find my return rate per product in Shopify?
Open Analytics, then Reports, then the order report called Orders and reversals by product. It shows Ordered quantity, Reversed quantity and Reversed quantity rate per product for the date range you pick. Set the range to the window your sales rate is measured over and read the last column. Then ask whether those units went back on sale, because only restocked returns distort the rate.
Which products is this worth correcting for?
The ones where the restocked share is large enough to move a decision. A product that customers buy in two sizes to try is the obvious candidate, but read the report rather than guessing. At a 30 percent restocked share the rate sits 43 percent above the real pace, which changes a container order. A product returning one in twenty sits inside the noise of the rate and is not worth the arithmetic.
Does Restocio subtract refunds from the sales rate?
No. It reads the order list and sums the ordered quantity on each line, which includes refunded and removed units, and a restocked unit comes back into the stock figure from Shopify. On a high-return product the days of stock shown are a floor and the suggested quantity a ceiling. The app shows no return share per product, and netting one out is not on the roadmap, which we would rather say plainly than imply otherwise.
Sources
Every source below was opened and read on the date shown against it. Rules, rates and schedules change, so check the current page before you act on a number that matters. If anything here is out of date or wrong, tell us and we will correct it.
- Shopify Help Center, Order reports (Orders and reversals by product) (read 2 October 2026)
- Shopify Help Center, Sales reports (read 2 October 2026)
- Shopify Help Center, Refunding orders (read 2 October 2026)
- Shopify Help Center, Canceling orders (read 2 October 2026)
- Shopify Admin GraphQL API reference, LineItem object, version 2026-10 (read 2 October 2026)
- National Retail Federation and Happy Returns, press release of 15 October 2025 (read 2 October 2026)
- Arkieva, Forecasting with Returns, Sujit Singh, 26 June 2019 (read 2 October 2026)
Marcus co-founded Restocio and works on it daily with a Swedish importer who plans their purchasing in it every working day. Restocio is built in Sweden by two founders, one Swedish and one Danish, and Marcus is the Danish one. Why we are building it.
Related reading
- How to stop running out of stock
- Inventory forecasting, without the mystique
- How many days of stock should you hold
- Dead stock, and how to spot it while it is still worth something
- Shopify replenishment, end to end
Restocio plans purchasing for Shopify stores that import. It works out what to order, how much, and whether it should travel by sea, rail or air, so you pay air freight only for the units that genuinely cannot wait.