ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides10 min read

Clothing store inventory management: the size and season problem

Clothing store inventory management for Shopify boutiques: size curves, variant tracking, returns, and markdown timing — with worked numbers, no fluff.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

Clothing inventory is harder than general retail for three structural reasons: every style multiplies into a dozen-plus variant SKUs by size and color, returns flow back into stock at rates general merchandise never sees, and demand falls off a cliff on a date you know in advance — the season change. A general-store inventory method applied to apparel fails in ways that look like bad luck: the Mediums sell out in week 3 while the XXLs sit for a season. This guide covers what actually changes: how to buy a size curve, how to track variants in Shopify, when to mark down, and how to handle returns so they don't poison your velocity math.

Why apparel inventory is a different problem

Start with the multiplication. One style in five sizes and three colors is 15 SKUs, each needing its own reorder decision. A boutique with 120 styles carries 1,800 variant-level SKUs before accessories. Two consequences follow:

  • You are never really "in stock" on a style, only on a size. Customers experience your assortment at the variant level; your dashboards mostly report at the style level. The gap between those two views is where apparel revenue leaks.
  • Your buying decisions are curve decisions. The real question isn't "how many units of this style" but "what shape across the size range" — and getting the shape wrong strands inventory in the sizes nobody bought.

Then add the two distortions general retail doesn't have:

  • Returns. Apparel return rates run high — commonly 20–30% for online fashion, per industry surveys (rates vary widely by category and channel; accessed October 2026). Every return adds a unit back to a specific size at a specific moment, and if your velocity calc treats the return as new supply rather than correcting the demand record, your reorder points quietly under-order.
  • The seasonality cliff. A sweater isn't a slow-moving product in March; it's a product whose market closed. Dead-stock management in apparel is a scheduling problem, not a discovery problem — you know the deadline before you place the first order.

Buying the size curve: a worked example

Suppose your sales history for a women's tee shows this distribution across sizes, from 940 units sold last season:

Size Share Units sold last season
XS 8% 75
S 18% 169
M 26% 244
L 24% 226
XL 15% 141
XXL 9% 85

You're planning 1,000 units for the new season. Buying the historical curve straight gives you 80/180/260/240/150/90. But you adjust for two known factors: the style skews slightly more conservative this year (bump S/M/L up ~2 points each), and your supplier's MOQ is 100 per colorway, not per size. Planned order:

Size Planned At $9.50 unit cost If it sells through
XS 60 $570 full
S 200 $1,900 full
M 290 $2,755 full
L 270 $2,565 full
XL 120 $1,140 full
XXL 60 $570 full
Total 1,000 $9,500

Now the part that matters: what happens when the curve is wrong. Say the market shifts one size down this season — everyone's buying S/M/L harder, XL/XXL slower. If actual demand comes in at 70/210/320/300/70/30 (still 1,000 units of total demand):

  • You had 60 XS; demand 70 → you sell out ~2 weeks early. 10 lost sales.
  • M: 290 on hand vs. 320 demand → 30 lost sales.
  • XXL: 60 bought vs. 30 demand → 30 units left, retail $34 each, $1,020 at retail headed for markdown — and XL adds another 50 units, $1,700 more.

Total: 40 lost sales at the hot end and 80 units (~$2,720 retail) stranded at the cold end, from a curve that was off by one step. This is why apparel buyers who treat size allocation as a fixed 50/50 split across a range routinely mark down a third of the buy. The fix isn't clairvoyance; it's (1) re-deriving the curve from your own last-season sales each season, (2) adjusting for known shifts, and (3) planning a rebuy — holding back 15–20% of budget to chase the winning sizes in week 4–6 when the early sell-through tells you the truth, instead of guessing it all upfront. Chasing requires a supplier who can actually deliver mid-season, which is a lead-time question as much as a buying one.

Variant-level tracking in Shopify

Shopify handles apparel's structure natively: products hold up to 2,048 variants, each with its own SKU, price, and inventory count (Shopify Help Center, accessed October 2026). The practices that matter:

  • SKU naming that encodes the hierarchy. TEE-WMN-SS26-M-NVY beats SKU1043 the first time you're reconciling a count or a return at 11pm. A readable scheme (style-gender-season-size-color) makes variant spreadsheets sortable by anything, and saves you when your POS staff need to find the right barcode.
  • Track inventory at the variant level, always. Aggregate style-level counts hide the Mediums-sold-out problem until returns arrive. If you also sell in person, variant-level counts are what keeps your online store from selling an XXL that exists only in the back room of the shop — the mechanics are the same whether you run one location or several (POS inventory management covers the storefront side).
  • Barcode per variant. Scanning during receiving and counts is the only way apparel counts stay accurate at 1,800 SKUs; your counting routine should be variant-barcode-based, not eyeball-based.
  • Bundles and sets need care. If you sell a three-piece gift set that draws from three variant SKUs, Shopify tracks the components separately — the set itself doesn't hold stock unless you build it (the bundle inventory mechanics are their own topic).

Returns: don't let them poison your velocity

The trap: a size sells 8 units in a week, 2 come back, and your spreadsheet records demand of 8 and supply of +2. Next reorder, your reorder point — computed on gross sales — arrives 2 units earlier than reality, then again the following week. Over a season that drift compounds into a systematically over-bought hot size and a stockroom full of what came back.

The fix is unglamorous bookkeeping:

  1. Net your velocity. Units sold minus units returned, per variant, per period. Demand is what customers kept, not what they ordered.
  2. Track return reason at the size level. "Runs small" reported across a dozen returns isn't noise — it's next season's curve correction, and possibly a product-page fix ("size up").
  3. Restock returns fast and count them. A returned tee sitting in a returns bin for two weeks is invisible stock that Shopify says you don't have. Restock on the day it's inspected, and fold it into your inventory counts.
  4. Mark the exception: final-sale or worn returns that can't resell leave the count entirely, or your shrinkage numbers go fictional.

One more reason to keep hot sizes stocked: the cost of a sold-out size isn't just that sale. A customer who finds her size missing either waits, substitutes a different style, or buys elsewhere — the classic out-of-stock finding from the landmark 2002 study commissioned by the Grocery Manufacturers of America found 31% of shoppers bought elsewhere, 19% substituted, and only 9% bought nothing (accessed October 2026). In apparel the substitution runs toward your competitor's size chart.

Markdown timing: schedule it, don't drift into it

Because the seasonal deadline is known, markdown timing in apparel is a rule, not a mood. A workable discipline:

  • Track sell-through rate per variant weekly. Sell-through — units sold ÷ units received — is the apparel owner's compass: a style at 85% sell-through with 6 weeks of season left was under-bought; a style at 30% with 6 weeks left is a markdown candidate now.
  • First markdown at the point of no return. Work backward from the season end. If the season ends March 15 and your clearance cycle takes ~6 weeks to fully clear, the decision date for a first markdown is roughly February 1 for anything tracking below plan. Waiting until the final fortnight converts a 20% markdown problem into a 60% problem.
  • Depth follows age and coverage. First pass 20–30% on the slow variants only (per size, not per style — never mark down the Mediums that are fine alongside the stranded XXLs). Second pass 40–50% at ~4 weeks out. Final clearance by season end, because the alternative is carrying a spring print into October and discovering it on next year's aging report.
  • Keep a markdown budget per season. A store planning 10% of seasonal receipts to clear below cost can absorb curve misses calmly; one that treats markdowns as failures avoids looking until the loss is locked in.

A note on tooling, since markdowns are where small-apparel tooling falls short: we are building InventoryX to give variant-level visibility — a per-SKU ledger of days each size sat out of stock, estimated lost sales per variant, and a weekly buying list that works at the size/color SKU level, which is where size curves diverge from style averages. What V1 doesn't do is execute markdowns or forecast season demand — the markdown rule above stays yours to run. Treat any tool the same way: it can tell you which sizes are bleeding; the price-cut decision and the calendar remain operator work.

Common questions

How do you manage inventory in a clothing store? At the variant level, not the style level: unique SKUs and barcodes per size/color, counts per variant, velocity computed net of returns, and buying done as size curves derived from your own last-season sales. Add a markdown calendar keyed to season-end dates, and rebuy budget for mid-season chases of winning sizes. Style-level totals hide the sold-out-Medium problem until it's expensive.

What is a size curve in apparel buying? The distribution of a style's order across sizes, matched to how your customers actually buy — e.g., 8% XS, 18% S, 26% M, 24% L, 15% XL, 9% XXL. Derive it from your own sales history per category, adjust for known shifts, and rebalance each season. Buying flat (equal units per size) strands roughly half the order in sizes nobody wanted.

How should I handle returns in my inventory numbers? Net returns out of velocity: units kept, not units ordered, is demand. Restock inspected returns the same day so Shopify's counts reflect reality, track return reasons at the size level (a cluster of "runs small" is next season's curve fix), and remove non-resellable returns from stock entirely. Otherwise your reorder math systematically over-orders hot sizes and under-clears slow ones.

When should I mark down seasonal clothing? Backwards from season end: if clearance takes ~6 weeks, first markdowns trigger roughly 6 weeks out for variants tracking below plan — typically 20–30% off, slow sizes only. Second pass at 40–50% about 4 weeks out, full clearance by season end. Use weekly sell-through per variant as the trigger, not a feeling; waiting for the final fortnight turns a 20% markdown into a 60% one.

How many sizes and colors should a boutique carry? Enough to cover the demand curve, not the catalogue. Check your own data: if 9% of sales come from XXL and you're spending 15% of the buy there, or if a colorway's share of units sold is under ~5% while sharing the MOQ, cut it and put the money into a rebuy of the winners. The right count is whatever your sales distribution supports — reviewed every season.

Next step

Pull one style's last-season sales by size and compute its actual curve — the five-minute version of the table above. Then check your current sell-through on anything from a season that ends within 8 weeks; anything below plan needs a markdown date on your calendar now, before the decision makes itself. And if last season's leftovers are still on your shelves, run them through an inventory aging report — the sizes that missed the curve are usually already visible there.