MaShop/Journal/Tools/The Stock That Did Not Sell Is Still Costing You
● ToolsSeptember 26, 2026
Read · 5 min
markdown timing · dead stock

The Stock That Did Not Sell Is Still Costing You

Slow stock costs cash, space and attention while you wait. When to cut the price, how far, and the EU rule that decides what you may call a discount.

There is a box in the corner. You know what is in it. You ordered thirty, sold nine, and the remaining twenty one have been there since spring. Every few weeks you think about putting them on offer, decide the margin is too painful, and leave them. That decision has now been made eleven times, and each time it cost you a little more than the one before.

Key takeaways
  • Stock that does not move is not neutral. It holds cash, occupies space, and its resale value falls while you wait, which is why late markdowns are usually worse than early ones.
  • If you sell to EU consumers, any advertised reduction must be calculated against the lowest price you charged in the previous 30 days, not the price you charged last week.
  • The Court of Justice confirmed this on 26 September 2024 in a case about a supermarket advertising bananas as 23 percent off, and it applies to percentages and to phrases that merely imply a good deal.
  • That rule changes markdown timing. A staircase of small cuts shrinks the discount you are allowed to advertise at every step.
  • A model can estimate what demand would have been at a price you never charged, but the research is explicit that this involves selection bias and genuine randomness.
  • The most valuable decision is made before anything goes wrong: an exit date set when you place the order.

What is unsold stock actually costing while it sits?

Four things at once, only one of which appears in your accounts. The cash is the obvious one: money spent on those twenty one units is money not spent on stock that sells. Space is the second, and for anyone working out of a spare room or a small unit it becomes real the moment you cannot fit a new line in.

The third is the one that does the damage. The value of unsold stock decays, and not gently. A seasonal item loses most of its appeal the week the season ends, then waits nine months to be merely out of date rather than late. Anything with a fashion, technology or freshness element is on a faster clock than that.

The fourth is attention. Slow stock generates decisions. Every time you reorganise the shelf, write a newsletter, or plan a promotion, that box asks for a judgment, and you make it badly because you are tired of it. A shop of one person has a fixed budget of decisions per week, and dead stock draws on it indefinitely.

Put together, those four explain a pattern any experienced trader recognises. The best price you will ever get for slow stock is usually available earlier than you are willing to accept it, and the reason you refuse is that the early markdown feels like admitting a mistake while the late one feels like bad luck.

Why is the first markdown usually too small and too late?

Because it is set by how the loss feels rather than by what is left to lose. A shop that paid 12 for something priced at 30 will try 10 percent off first, because 27 still looks like a healthy margin. If 30 was not selling, 27 will not sell either. The shopper who declined at 30 was not 3 away from buying.

The useful reframe is that the money is already spent. The only question left is which of several bad outcomes you prefer: a smaller sum now, a smaller sum later, or nothing at some point after that. Asking whether a discount is fair to your margin is the wrong question, because the margin was decided when you bought the stock. Asking what price actually clears this in the time you have is the right one.

There is a practical signal worth watching instead of gut feel, and it is not units sold. It is cover: how many weeks of stock you are holding at the current rate of sale. Nine sold in three months against twenty one remaining is seven months of cover on something with a three month season. That number tells you the answer immediately, and it does not care how you feel about the margin.

Five step diagram showing a markdown ladder that sets an exit date, watches weeks of cover, cuts once properly and then holds the new price

What can a model actually work out here?

The hard part, if you have enough history, and it is worth understanding exactly what the hard part is. The question a markdown decision asks is counterfactual: how many would I sell at a price I have never charged? Your sales records cannot answer that, because they only contain prices you chose.

A 2021 paper on markdowns in e-commerce fresh retail by Junhao Hua and colleagues, deployed at the grocery operation Freshippo, is unusually clear about the obstacle. It describes selection bias arising because historical data shows only what happened at chosen prices, and says that estimating demand at untested price levels requires inferring unobserved scenarios. The authors state plainly that counterfactual demand inevitably has randomness in the prediction process.

Their method combines a semi-parametric model learning individual price elasticity with a multi-period pricing algorithm built on Markov decision processes, and they report reducing the time complexity of the optimisation from exponential to polynomial. That last detail tells you something about the shape of the problem: deciding a sequence of prices over remaining time, rather than one price now, is combinatorially awkward, which is why the useful version of this arrives as software rather than as a rule of thumb.

What that means for a small shop is a clean division:

QuestionCan your own data answer it?What to use instead
How fast is this selling nowYes, directlyNothing. Count units and weeks of cover
How much stock will be left at the season's endYes, by arithmeticCurrent rate times weeks remaining
How many would sell at 20 percent offNo, never charged itA comparable item you have discounted before
Which price clears the lot by a dateOnly with many past markdownsJudgment, then measure and adjust once
Whether the discount created extra salesOnly with a holdout groupA deliberate test, not a before and after

The last row is where most shops fool themselves, and it deserves its own treatment. Comparing the discount week against the previous week counts customers who were going to buy anyway, which is the difference between a promotion that worked and one that merely moved revenue forward. We set out the method for separating those in the question of whether your discount week actually caused the extra sales.

The rule that decides what you may advertise

Here is the part that turns a commercial decision into a legal one, and it catches small sellers constantly. If you sell to consumers in the European Union, you cannot simply announce a reduction against whatever price was showing last week.

Article 6a of the Price Indication Directive requires that an announced reduction indicate the prior price, and a summary of how that obligation works in practice puts the definition plainly: the prior price must correspond to the lowest price applied during at least the 30 days preceding the announcement. Not the list price. Not last week's price. The lowest one you actually charged in that window.

The Court of Justice settled the argument on 26 September 2024. Kinstellar's note on the ruling in case C-330/23 records that the Court rejected the idea that a reduction could be calculated from some other reference point while the 30 day low was listed alongside as supplementary information. The 30 day lowest price is the mandatory baseline for the calculation itself.

The facts are worth knowing because they are so ordinary. A write up of what the judgment changes for retailers records a brochure from 17 to 22 October 2022 offering organic bananas at 1.29 euro per kilogram, described as 23 percent off 1.69, and pineapples at 1.49 euro marked as a price highlight against a previous 1.69. This was not an elaborate scheme. It was a weekly leaflet, of the kind every shop produces.

Two extensions of the ruling matter more than the headline. The obligation covers percentages and also promotional statements intended to highlight how advantageous a price is, so you do not escape it by writing something vague instead of a number. And the same analysis notes you cannot satisfy it by showing a more recent price prominently and the required figure in small print.

How the 30 day rule changes markdown timing

This is the connection nobody draws, and it is the practical reason to read the law before planning a clearance. Read the rule against a normal markdown ladder and the arithmetic turns against you.

Imagine an item at 30 that is not moving. You try 27, then 24, then 20, a fortnight apart, which is exactly how most shops do it. By the time you reach 20 and want to shout about it, your lowest price in the previous 30 days was 24. The reduction you may advertise is 20 off 24, which is 17 percent, not the 33 percent you feel you are offering against 30. You have spent your headline on two cuts nobody noticed.

Now the alternative. Hold 30, then cut once to 20 and leave it there. The prior price is 30, the advertised reduction is 33 percent, and the offer is loud enough to be worth telling people about. Same final price, same margin, considerably more effect, and a compliance position you can evidence.

That reasoning is mine rather than the Court's, drawn from what the rule says rather than quoted from it, and it points somewhere unfamiliar: the number of markdowns is now a marketing variable and not only a margin one. Fewer, larger, held steady beats a staircase. For a small shop that is welcome news, because the staircase was always the more laborious approach.

A second consequence follows for anyone running frequent promotions. If your product is on offer most weeks, your 30 day low is your real price, and you have no headline left to use when you genuinely need one. Permanent discounting does not just erode margin, it removes the tool. That is a different objection to constant sales than the usual one, and it is the one that has legal teeth behind it. The wider version of where automation may and may not set your prices sits in what a small shop can safely automate in its pricing, and the line not to cross.

Note

Scope matters. This is an EU rule, transposed into each member state's law, and the reported analysis notes Belgium implements it through Article VI.18 of its Code of Economic Law and that perishable foods can attract a shorter reference period. If you sell into the EU from outside it, the rule follows the consumer, not your address.

How deep should the one cut be?

Deep enough to change who buys, which is almost always further than the first instinct. The purpose of a markdown is not to reward the person already considering the item. It is to reach a different shopper, one who saw the old price and dismissed it without hesitating.

A workable way to choose the number without a model is to look at what else that money buys in your own shop. If the item was 30 and you drop to 26, it still competes with everything in your 25 to 30 bracket, and it lost to those items already. Drop to 19 and it is now competing in a bracket where it is unusually good, against items that cost less to make. That is the shift you are paying for, and it happens in steps rather than smoothly, because shoppers think in price bands.

The counterweight is your own floor. Below the price at which you would rather keep the stock than sell it, stop and move to the bundle or wholesale options instead. Writing that floor down before you start prevents the spiral where each unsuccessful cut justifies a deeper one and you end up giving away goods you could have traded.

One more practical point on timing within the season. A markdown taken while a season still has weeks to run reaches shoppers who still want the thing. The same markdown taken a fortnight after the season ends reaches nobody at any price, and you will be holding the stock for a year to find out whether it sells next time. The window closes earlier than it feels like it does.

What if you never advertise the discount at all?

Then the rule bites much less, and this is a legitimate route for slow stock. A price that is simply lower, with no claim of a reduction, no strikethrough, no percentage and no language implying a deal, is not a price reduction announcement. It is a price.

That opens options a shop rarely considers. Quietly repricing a slow line and letting it sell at its new level avoids both the compliance question and the brand cost of looking like a shop that is always on sale. It also removes the urgency that makes a discount work, so it suits items where the problem is that the price was wrong rather than that demand has gone.

The judgment applies to how you talk about a price, not to what you charge. Deciding which of those two problems you have is the first question, and shops conflate them constantly. A mispriced item needs a new price. An unwanted item needs an event.

Illustration card listing three checks before discounting slow stock, knowing your thirty day low, cutting once and setting an exit date

What about bundling, wholesaling or writing it off?

All three are underused, and all three avoid the reference price problem because none of them is a reduction on the item.

Bundling changes what is being sold. Two slow items packaged with a fast one at a combined price is a new product with its own price history, and it moves stock without teaching your customers that your prices fall if they wait. The discipline is to bundle slow with fast rather than slow with slow, which otherwise just creates a slower thing.

Wholesaling means finding someone whose customers are not yours. A clearance buyer, a market trader, a shop in another town. The price is dismal and it is often better than the fourth markdown, because it converts the whole remainder to cash on one day with no further decisions attached. Selling into other shops has its own mechanics, which we covered in what AI helps with when a maker starts selling to shops.

Writing off is the option people treat as failure and should treat as accounting. If something genuinely will not sell, donating or disposing of it ends the space cost, ends the decision cost, and may be deductible depending on where you trade. Keeping it on a shelf so the loss stays theoretical is the most expensive form of optimism in retail.

The habit that prevents most of this

Decide the exit before you need it. When you place an order, write down the date by which that stock must be gone and the price you will drop to if it is not. Both numbers are easier to choose when you are optimistic and have no sunk cost, and having them written down converts a painful judgment later into an instruction you already agreed with.

Then check cover monthly rather than sales weekly, because cover is the number that predicts trouble and sales is the number that describes the past. Anything whose cover exceeds the time left in its season is already a markdown decision, whether or not you have made it.

Finally, record what you charged and when, per product, because your own 30 day low is now a fact you need before you can write an offer. Most shops cannot answer what they charged for a given item six weeks ago, which makes compliance a guess. A shop that owns the database behind its own storefront has that history already and can query it; the rest are reconstructing it from screenshots.

None of this requires a pricing model. It requires an exit date, a cover number and a price log, and those three would have emptied the box in the corner in June.

Discussion 0

0 / 4000Your email address is not displayed with your comment.
No comments are published yet.

Explore — related articles.

Build something. Move your work forward.

Start with a software project or an agent task. Describe the result you need, review the work and keep control of your connected accounts.

Open the workspace →