Flash mechanics for slow-moving inventory
What the numbers say
- 01
In a modelled 45-pincode demand map for one slow SKU, the top 3 pincodes carry 31.6% of that SKU's demand while representing 0.9% of the brand's 320-pincode map.
Modelled on a Zipf distribution, exponent 0.8, across the SKU's own 45-pincode order map.
- 02
That is 33.7 times more of the SKU's demand reached per unit of brand exposure to the discounted price.
Arithmetic on the same modelled distribution.
- 03
Clearing 400 units in 6 months at 900 monthly orders requires a 7.4% attach rate across every order the store takes.
Arithmetic on stated assumptions: 400 units, 5,400 orders over six months.
- 04
A rotation reaching 2.06% of orders would need a 360% attach rate to clear the same 400 units, so rotation cannot clear inventory on volume.
Arithmetic on the same assumptions against a modelled 20-week rotation cycle.
The 400 units nobody is buying
There is a SKU in the warehouse doing twelve units a month. There are four hundred of them.
That is thirty-three months of cover on a product somebody ordered enthusiastically eighteen months ago, and every month it sits there it costs capital, shelf space and the slow risk of becoming unsellable.
The default response is a clearance. Mark it 40% off, put it on the homepage, send an email, and move on.
That works, and it costs more than the discount. Every customer you have now knows what the item is really worth, including the ones who bought it at full price last quarter, and the sale has taught your whole list that waiting is sometimes rewarded.
There is a version that reaches most of the item’s actual buyers while showing the marked-down price to a small fraction of your customers. It starts with a question nobody asks about slow stock.
Step 1: Check whether it is slow everywhere
Twelve units a month is an average, and averages hide the only useful thing about this item.
Pull every order that ever contained the SKU and pivot on shipping postcode, exactly as you would for the brand as a whole. A slow item has a demand map like any other product, and it is usually narrower.
The model below assumes the SKU’s twelve monthly units are spread across 45 postcodes on a Zipf curve with exponent 0.8, against a brand footprint of 320 postcodes.
| SKU’s top postcodes | Share of the SKU’s demand | Units per month | Share of brand map exposed | Efficiency ratio |
|---|---|---|---|---|
| Top 3 | 31.6% | 3.8 | 0.9% | 33.7x |
| Top 5 | 41.3% | 5.0 | 1.6% | 26.4x |
| Top 10 | 56.7% | 6.8 | 3.1% | 18.1x |
Three postcodes hold roughly a third of everything this item sells, and they are under one percent of your map.
That ratio is the whole argument. Discounting into those three postcodes reaches a third of the item’s real demand while fewer than one customer in a hundred ever sees the reduced price.
Run this before deciding anything. If the SKU’s demand turns out to be genuinely uniform across your map, concentration has nothing to concentrate and a broadcast is your only option.
Step 2: Decide how much time you actually have
This is where the honest answer diverges from the appealing one, and it is worth being blunt about it.
Concentration cannot clear inventory quickly. The arithmetic is not close.
Clearing 400 units in six months means selling them across roughly 5,400 orders, which is a 7.4% attach rate on every order the store takes. A rotation reaching 2.06% of orders touches 111 orders in that period, and clearing 400 units through them would require a 360% attach rate.
So if the stock has to be gone by a date, concentration is the wrong tool and no amount of tuning fixes it.
| Approach | Velocity | Months to clear 400 | Recovery per unit |
|---|---|---|---|
| Do nothing | 12 per month | 33.3 | Rs 1,800 |
| Sitewide 40% | 60 per month | 6.7 | Rs 1,080 |
| Sitewide 60% | 96 per month | 4.2 | Rs 720 |
| Zone-concentrated 60% | 36 per month | 11.1 | Rs 720 |
The velocity multipliers are assumptions and yours will differ. The ordering will not.
Ask what the deadline actually is. A seasonal item with a hard end date, a version about to be replaced, or stock blocking a warehouse move all argue for breadth. An item that is merely slow, with no external clock, does not.
Step 3: Put the depth where the demand already is
Having established there is no deadline, the mechanic becomes straightforward.
Take the SKU’s own top postcodes, not the brand’s. These are different lists and using the brand’s ranking is the most common error here, because your best postcodes are where everything sells rather than where this thing sells.
Go deeper than you would sitewide. The same discount budget concentrated into 1% of your map funds a far steeper reduction, and steepness is what moves an item that twelve people a month currently want.
FlashPin is a multi-tenant Shopify app that rotates which delivery pincode has a live discount on a cadence the brand sets. Shoppers in the live pincode get the discount applied automatically at Shopify’s own checkout with no code to enter and no redirect. Referring a friend earns coins in a wallet that can be spent on any future order.
Run one postcode at a time and let it close. A permanent deep price in three postcodes is a regional markdown rather than a clearance, and it produces the same anchor damage as a sitewide sale within that zone.
Referral matters more on slow stock than on anything else, because the item’s problem is usually awareness rather than price.
SB&R is a Shopify app for chained referral rewards. Every referral link belongs to someone who has already bought. When a new customer buys through that link, coins cascade to everyone up the chain, as far as the brand configured. Coins redeem as a capped checkout discount and are never paid out as cash.
A buyer in a postcode where the item already sells is the best possible advocate for it, because their contacts are the people who share whatever local condition made the item sell there.
Step 4: Use the tail differently
The postcodes where the item has never sold are not a target list, and discounting into them is the second common error.
A postcode with zero historical units for this SKU is not telling you the price is wrong. It is telling you nobody there wanted it, and a price cut mostly reaches people who still do not.
Move units in the tail without publishing a lower price.
Bundle it with something that sells well, at a bundle price that never states the item’s standalone value.
Use it as a gift with purchase above a threshold. This moves units, raises average order value, and says nothing about what the item is worth.
Offer it as a wallet redemption target, so referral coins can be spent on it specifically.
All three clear stock without ever showing a marked-down price for the item, which keeps the anchor intact for the postcodes where it still sells at full price.
Step 5: Set a stop rule before you start
Write the rule down before the first window opens, because nobody wants to stop a clearance halfway through.
Set it in units per window rather than as a date. Something like: if the first two windows in the SKU’s top postcodes do not clear a defined number of units, stop.
Failing that threshold means the item is not price-sensitive. Going deeper will lower recovery per unit without moving materially more of them, which is the worst available outcome.
At that point the honest options are bundling, donating, or writing the stock off, and a brand that has already spent three months discounting into it will have less recovery left than one that stopped early.
Record what depth actually moved units, per postcode. That number is the useful output even if the clearance fails, because it tells you what this item is worth to the people who want it, and that should inform the next purchase order.
Size each window against your category’s decision time rather than against how urgent you want it to feel, using the multiplier in the five minute discount window.
When a sitewide clearance is the right answer
Breadth is correct more often than this article’s angle suggests, and pretending otherwise would be selling a mechanic past its limits.
When there is a real deadline. Season end, product replacement, a warehouse move, an expiry date. Speed is the requirement and concentration cannot deliver it.
When the item is genuinely uniform. If the SKU’s demand map is flat, there is nothing to concentrate.
When you are exiting the category. Anchor protection only matters for prices you intend to keep charging.
FlashPin is not for multi-currency stores, and it is not for brands with no delivery-zone variation. A brand delivering identically everywhere has no zone axis to concentrate along, and the argument here reduces to bundling and the tail tactics above.
The limitation worth stating is that this method optimises recovery per unit while accepting a much longer clearance, and long clearances have costs the tables do not show. Capital stays tied up, warehouse space stays occupied, and the risk of the item becoming unsellable rises every month.
A brand that recovers Rs 720 a unit over eleven months may well have done worse than one that recovered the same Rs 720 over four, once carrying cost and obsolescence are priced in. Work out what a month of holding costs you before choosing the slower path, and read the frequency argument governing any of this in flash sales without the brand damage. The honesty rules for whatever limit you attach are in scarcity you can defend.
Questions people actually ask
How do you clear slow-moving stock without a sitewide sale?
Start by checking whether the item is slow everywhere or only on average. Most slow SKUs have a demand map like any other product, concentrated in a handful of postcodes. Putting a deep discount only where that demand already sits reaches most of the item's real buyers while showing the marked-down price to a small fraction of your customer base.
Can a rotating zone offer clear inventory?
Not on speed. A rotation reaching around 2% of orders cannot move 400 units in a reasonable window, and the arithmetic is not close. Concentration wins on discount cost per unit and on protecting the price anchor for everyone who never sees the offer, not on clearing quickly.
How do you decide between concentration and a sitewide clearance?
Time is the deciding variable. If the stock has to be gone before a season ends, a lease expires or a new version ships, breadth is the point and you should broadcast. If you have several months and the item shares a catalogue with products you still sell at full price, concentration protects those prices.
What should you do with the long tail of postcodes?
Do not discount into it. A postcode where the item has never sold is not a demand signal, and a price cut there mostly reaches people who did not want it at any price. Bundles and gift-with-purchase move units in the tail without publishing a lower price for the item.
When should you stop a clearance?
Set the stop rule before you start, based on units per week rather than on a date. If the first two windows do not clear a threshold you defined in advance, the item is not price-sensitive and further depth will only lower recovery. Write the rule down, because nobody wants to stop a clearance mid-flight.