Industry Guides
Markdown Optimization for Boutiques: An End-of-Season Playbook
Instead of one sign on the door, a sell-through table at size-colour level: staged markdowns, a worked 1,000-unit example, and what AI adds for a small apparel store.

Ten percent versus thirty percent. According to one industry analysis, that is the gap between Zara's average markdown depth and the apparel industry's average. The same analysis puts end-of-season unsold stock at roughly 10% for Zara and 17-20% for the industry. Definitions vary between sources (some count annually, some per season, and one single-source analysis claims a figure as low as 0.6% for Inditex), but the direction never changes: a retailer that marks down on data clears less stock with shallower discounts.
For a small boutique, the stakes are cash, not prestige. Every garment still on the rack at season's end is money that should be paying rent and buying next season's range. Consultancies estimate that better markdown timing and depth improves margin rates by 4 to 8 percentage points; that number comes from McKinsey's own pricing product page, so read it as a vendor's claim. What we trust is the direction, and this guide turns that direction into a table you can build in an afternoon.
Our AI-by-industry map advised retailers to start with a narrow, concrete use case. End-of-season markdown optimization is exactly that case.
Why does end-of-season stock pile up?
Stock piles up for three reasons: the size and colour mix bought at season start does not match how things actually sell, markdowns begin too late, and the same percentage gets applied to everything. The result is that most of what remains at season's end is broken sizes (the extremes of the range) and slow colours. Those pieces struggle even at 50% off, because their problem stopped being price and became fit.
Make it concrete. A women's boutique enters the season with 40 styles; each comes in about 5 sizes and 2-3 colours, so roughly 500 stock-keeping units (SKUs). By late September the size 8 in black is gone while the size 16 in khaki sits on the rail. When the "40% off everything" sign goes up at season end, the sizes that were already selling vanish first; what remains is the same stock that was stuck before the sale. The problem does not get solved in February, it gets carried into next season.
The large-scale version of this story is H&M in 2018: $4.3 billion in unsold inventory, stock up 9% while sales grew 3%, and markdowns of up to 47% to clear it. What late-and-deep looks like at boutique scale is in the worked example below.
What is markdown optimization?
Markdown optimization is the discipline of deciding which product, when, in which store and by how much to reduce price, at style-size-colour level, using sell-through and price-elasticity data. It has four goals: raise the sell-through rate, protect margin, convert stock to cash, and free rail space for the new season. Large retailers do it with software; a boutique can do it with a spreadsheet and the same logic.
The method has an academic backbone. Felipe Caro (UCLA) and Jérémie Gallien (MIT) published a model for Zara that ties stock allocation and markdown decisions together at store-product level. Its essence: the markdown decision is tied to that product's sell-through in that store rather than to the calendar. Zara's practice follows the model: a style that does not sell enters staged markdowns after 4-6 weeks, with a sell-through target above 85% against an industry average of 60-70% (both figures come from a vendor blog, so hold them loosely).
Vendor blogs claim markdown losses fall by 20-30%; label that as a vendor claim too. The only thing we would put in a business plan is the direction: early, product-level decisions burn less margin than late, blanket ones. How much less is something you measure with your own numbers.
Staged markdowns or one deep cut?
The numbers favour staging: a store that starts at 20% before the season closes and steps down to 35% and 50% according to sell-through ends up with more revenue and less leftover stock than a store that writes 50% on the door after the season ends. The difference comes less from the depth of the discount than from its timing and from which products it hits.
Let's run it. These are our own model numbers; the demand response is an assumption. You hold 1,000 units, cost $20 each, ticket price $50.
- Scenario A, late and deep: 50% off when the season ends, selling price $25. 800 units sell, 200 remain. Revenue $20,000; cash tied up in leftovers $4,000.
- Scenario B, early and staged: Four weeks before season end, 20% off on slow styles only ($40): 300 units sell. Two weeks later 35% ($32.50): 350 units. At season end 50% ($25): 250 units. 100 remain. Revenue $12,000 + $11,375 + $6,250 = $29,625; cash tied up $2,000.
The gap is $9,625 of revenue and half the leftover stock. Real life is messier: the staged scenario's unit counts will not land this cleanly, and early markdowns risk pulling in customers who would have paid full price (retailers call this training customers to wait). Even if you cut Scenario B's units by 30%, it still beats A. The one condition that makes staging work is that the markdown hits slow sellers only, never the whole range.
The sell-through table: a method that starts in Excel
Sell-through rate is the number of units sold in the last four weeks divided by units on hand; that single ratio tells you which products go on markdown and how deep. Before buying any software, pull a weekly sales-and-stock report at style-size-colour level from your POS or e-commerce platform and calculate the ratio. It takes one afternoon.
The classification we use:
- Fast (weekly sales / stock at 15% or above): No markdown. It will sell out by season end on its own.
- Normal (8-15%): 20% off two weeks before the season closes.
- Slow (3-8%): 20% off four weeks out, 35% two weeks out.
- Dead (below 3%): 35% off now; 50% at season end, or move it to a bundle or outlet channel.
Thresholds vary by store; a rate that counts as slow in womenswear may be normal in childrenswear. What matters is that the classes are built at size-colour level rather than style level. Size 8 of a style can be "fast" while size 16 is "dead", and the markdown applies to the 16 only. That is hard to do with paper tags, but most modern POS systems let you define price rules by variant.
Where does AI come into markdown optimization?
AI patches the three weak spots of the sell-through table: it forecasts the next four weeks instead of reporting the last four, it estimates price elasticity per product (how much a 20% cut will actually lift sales), and it removes the chore of updating a 500-row table by hand every week. At boutique scale none of this requires enterprise software; a platform report and a language model do most of the work.
Enterprise products exist (Revionics, RELEX, Yieldigo, o9 and others), all priced on request and aimed at chains with hundreds of stores. The realistic boutique stack is humbler. Layer one: the stock-age and sales reports built into Shopify, Lightspeed, Square or your local equivalent. Layer two: once a week, hand that report to a language model (ChatGPT, Claude, Gemini) with the instruction "sort these into four sell-through classes, propose a markdown per class, and explain why." Layer three: enter the resulting classes as price rules in the POS.
A note from our own work. For a boutique client, we fed a language model the size-colour-level sales data from the 2025 winter season. Of the 60 SKUs the model flagged as dead, 52 were already on the owner's own gut-feel list. The interesting part was the other 8: styles the owner had kept back as "good product, it will sell" that had sell-through below 2%. The real contribution of AI in a boutique is rarely new information; it is putting a number on the 15% that intuition misses.
For elasticity, last season's markdown history is enough: product groups whose sell-through tripled at 20% off versus groups that only doubled at 35% off. Seeing that difference tells you how deep to go per group next season. The legal side of pricing (reference-price rules, how a "was" price must be displayed) is covered in our guide to price monitoring and dynamic pricing.
Clearing stock without deeper discounts
There are five ways to move stock without increasing markdown depth: quantity offers such as "buy 3 pay 2" and 50% off the second item, bundles and sets, basket-threshold promotions, an in-store outlet corner, and an online channel. What they share is keeping the ticket price intact while lowering the average selling price in a controlled way.
A "buy 3 pay 2" offer has an effective discount of 33%, but the customer leaves with three items; pairing a broken size with a fast seller burns less margin than 50% off on its own. An outlet corner protects the full-price perception of the main floor: dead stock lives on its own rail with its own tag. The online channel works on the same logic: nobody in your neighbourhood may be asking for a size 16, but somebody in the country is. The inventory side of that is in our small business guide to demand forecasting; the sell-through table in this guide is that forecast's end-of-season cousin.
Frequently asked questions
When should end-of-season markdowns start?
By sell-through, with the calendar second: four weeks before season close for slow styles, immediately for dead ones. Every market has a customary sale calendar (late January and late July in much of Europe, for instance), but your product's velocity overrides the calendar.
Why is a blanket percentage on everything wrong?
Because it burns margin on products that were already selling and does not rescue the ones that were not. Holding the total markdown budget constant and distributing it by product (zero on fast sellers, deep on dead stock) delivers the same revenue with less margin loss.
What about stock left over from last season?
Stock that has waited two seasons has stopped being fashion and become a cash question. Outlet corner, bundle, or a jobber; whichever is fastest. Money tied up in a garment waiting for its third season is money missing from next season's buy.
In an inflationary market, isn't holding stock sensible?
Rising replacement costs make holding tempting, but rent and wages rise too, and stock on the rail produces no revenue. Holding only makes sense for seasonless basics (plain tees, denim); for seasonal product, the risk of going out of style eats the inflation gain.
So what should you do?
- Build the sell-through table this week. Last four weeks' sales divided by stock on hand, at size-colour level. One afternoon.
- Set your four classes and thresholds. Start with ours, adjust to your store after two weeks.
- Stage markdowns by product, never as a single sign on the door. Fast sellers stay at full price.
- Open a non-discount channel for dead stock: bundles, an outlet corner, or online.
- Write down three numbers at season end: average markdown depth, sell-through rate, and units left. Beat them next season; no other metric is needed.
Back to the opening figures: the gap between 10% and 30% does not come from Zara holding a secret. It comes from looking at every product's sell-through separately. At boutique scale, one table and an hour of discipline a week gives you the same view; AI shrinks that hour to minutes and puts numbers on the products intuition skips. If you get stuck building the table from your own sales data, or wiring variant-level price rules into your POS, send us your questions.

Written by
Faruk Talmaç
Co-Founder & Editor
Co-founder of YZ Uzman, with 20+ years of experience in web design and software development.
Comments
No comments yet. Be the first to comment!