Fashion Size & Color Performance Matrix in Excel: Stop Dead Inventory

Updated June 2025 19 min read Intermediate
Shopify WooCommerce

TL;DR

  • Size curves vary by product type: T-shirts peak at Medium, dresses peak at Small
  • Color trends change seasonally: Black year-round, pastels spring only
  • Build sell-through matrix: Rows=Sizes, Columns=Colors, Values=% sold in 30 days
  • Target 80%+ sell-through in 90 days or you're stuck with markdown inventory

Prerequisites

  • Fashion/apparel e-commerce store with size and color variants
  • At least 90 days of sales history per style for reliable patterns
  • Product data with size, color, units ordered, units sold, sell-through rate

Why Fashion Sellers Drown in Dead Inventory

The classic mistake:

You launch a new dress. Manufacturer's minimum: 100 units. You guess at sizes:
- 20 XS (20%)
- 30 S (30%)
- 30 M (30%)
- 20 L (20%)

What actually sells in first 90 days:
- XS: 18 sold (90% sell-through) ✓
- S: 30 sold (100% sell-through) - stockout!
- M: 22 sold (73% sell-through)
- L: 8 sold (40% sell-through) - dead stock

You ended with:
- 50 units sold total
- Lost sales: ~10 S you didn't have
- Dead inventory: 12 L you'll markdown
- Cash tied up: $240 in dead L sizes (at $20 COGS)

The fix: Historical size/color matrices tell you the ACTUAL demand curve before you place orders.

This guide shows you how to build matrices that save you thousands in markdowns.

The Fashion-Specific Data You Need

Export from Shopify/WooCommerce:

Product-level data:
- Style name
- SKU (base SKU + variant)
- Size (XS, S, M, L, XL, XXL)
- Color
- Units ordered (purchase order quantity)
- Units sold (order line items)
- Units remaining
- Date first available
- Date last sold

Calculate These Metrics:

1. Sell-Through Rate:
```
Sell-Through % = (Units Sold / Units Ordered) × 100
```

2. Days to Sell Through:
```
Days to Sell Through = Date Last Sold - Date First Available
```

3. Sell-Through Velocity:
```
Units per Day = Units Sold / Days Available
```

4. Size Mix Actual vs Planned:
```
Actual % = Units Sold by Size / Total Units Sold
Planned % = Units Ordered by Size / Total Units Ordered
Variance = Actual - Planned
```

Build Your Size/Color Performance Matrix

  1. 3

    Export Product Variant Sales Data

    Shopify: Products → Export → Include all variants. Ensure columns for: Title, Variant SKU, Option1 (Size), Option2 (Color), Variant Inventory, Variant Sales Count. Last 12 months for seasonal patterns.

  2. 3

    Calculate Sell-Through Rate per Variant

    Add column: Sell_Through = (Units_Sold / Units_Ordered) × 100. This shows which size/color combos sold well (>80%) vs dead stock (<50%).

  3. 3

    Create Size Performance Pivot Table

    Pivot: Rows = Size, Values = SUM(Units_Sold), AVERAGE(Sell_Through_%), COUNT(Styles). Sort by units sold descending. This reveals your size curve: which sizes sell most.

  4. 3

    Create Color Performance Pivot Table

    Pivot: Rows = Color, Columns = Month (if seasonal trends), Values = SUM(Units_Sold), AVERAGE(Sell_Through_%). Sort by sell-through descending. Shows hot colors vs duds.

  5. 3

    Build Size × Color Matrix

    Pivot: Rows = Size, Columns = Color, Values = AVERAGE(Sell_Through_%). This 2D matrix shows which size+color combos are winners. Example: S+Black = 95%, L+Yellow = 12%.

  6. 3

    Calculate Optimal Size Mix %

    For each size, calculate: Optimal % = Units Sold of Size / Total Units Sold. This is your target size mix for future orders. Compare to what manufacturer offers (often flat 25% each).

  7. 3

    Add Conditional Formatting for Alerts

    In matrix, format cells: Green if >80% sell-through (winners), Yellow if 50-80% (acceptable), Red if <50% (avoid this combo). Instantly see which variants to avoid.

  8. 3

    Create Buy Plan Template

    When placing new order: Total units needed × Optimal size % = Units per size. Example: 200 units × 35% S = 70 S. Rounds to nearest case pack size if manufacturer requires it.

,,,,,,,,

Typical Size Curves by Product Category

Women's Tops (T-shirts, Blouses, Sweaters)

Typical size mix:
- XS: 10%
- S: 30%
- M: 35%
- L: 20%
- XL: 5%

Peak: Medium

Women's Dresses

Typical size mix:
- XS: 15%
- S: 35%
- M: 30%
- L: 15%
- XL: 5%

Peak: Small (dresses run larger than tops)

Men's T-shirts

Typical size mix:
- S: 15%
- M: 30%
- L: 35%
- XL: 15%
- XXL: 5%

Peak: Large

Men's Button-Downs

Typical size mix:
- S: 10%
- M: 25%
- L: 35%
- XL: 20%
- XXL: 10%

Peak: Large (more XL/XXL demand than casual wear)

Kids Clothing

Varies dramatically by age range:
- Toddler (2-4T): Peaks at 3T
- Kids (5-12): Peaks at 8/10
- Youth (13-16): Peaks at 14/16

Critical: Kids sizes sell through FAST at peak age, slow at edges.

Color Performance: The Seasonal Matrix

Year-Round Safe Colors (80%+ sell-through)

1. Black: Universal, all seasons
2. White/Cream: Summer peak, decent year-round
3. Navy: Professional, stable demand
4. Gray/Heather Gray: Athleisure, year-round
5. Denim Blue: Casual, stable

Seasonal Colors (High sell-through in season, dead outside)

Spring (Mar-May):
- Pastels: Light pink, mint, lavender
- Coral, peach
- Light florals

Summer (Jun-Aug):
- Bright colors: Yellow, orange, bright pink
- Turquoise, aqua
- Bold florals

Fall (Sep-Nov):
- Earth tones: Rust, burgundy, olive
- Mustard, burnt orange
- Browns and caramels

Winter (Dec-Feb):
- Jewel tones: Emerald, ruby, sapphire
- Deep burgundy, forest green
- Metallics (for holidays)

Risky Colors (Often <50% sell-through)

- Neon colors (except specific athletic brands)
- Unusual colors (chartreuse, magenta)
- Trendy colors past their peak (millennial pink in 2025)

Excel Formula to Flag Seasonal Colors:

```excel
=IF(AND(Color="Pastel Pink", MONTH(Today())>=3, MONTH(Today())<=5), "Buy Now",
IF(AND(Color="Pastel Pink", MONTH(Today())>=9), "High Risk",
"Neutral"))
```

Advanced Analysis: Size × Color × Style Performance

The 3D Matrix Problem:

Size performance varies by:
1. Size (S, M, L)
2. Color (Black, Navy, Red)
3. Style (Fitted vs Relaxed, V-neck vs Crew)

Example patterns:
- Fitted styles: Peak at S (60% of sales)
- Relaxed styles: Peak at M/L (70% of sales)
- Black fitted: 95% sell-through
- Yellow relaxed: 30% sell-through

Excel Approach: Segmented Matrices

Create separate size/color matrices for:
- Fitted styles only
- Relaxed styles only
- Dress shirts vs casual shirts
- Each product category

Why: One "average" matrix hides critical patterns.

Real Example: Athletic Leggings

Overall size mix looks like:
- S: 30%, M: 35%, L: 25%, XL: 10%

But when you segment by style:

High-waisted leggings:
- S: 45%, M: 35%, L: 15%, XL: 5%

Standard-rise leggings:
- S: 20%, M: 35%, L: 30%, XL: 15%

Using overall average would create dead stock in both segments.

The Buy Planning Spreadsheet: From Matrix to Purchase Order

Step 1: Determine Total Units Needed

Methods:

A. Historical velocity:
```
Monthly_Velocity = Units_Sold_Last_3_Months / 3
Reorder_Qty = Monthly_Velocity × Months_of_Cover_Desired
```

B. Manufacturer minimums:
- You need 100 minimum to place order
- Or: 200 units to hit price break tier

C. Budget-constrained:
```
Max_Units = Available_Budget / Unit_COGS
```

Step 2: Apply Optimal Size Mix

Formula for each size:
```excel
=Total_Units × Size_Optimal_Percent
```

Example:
- Total order: 200 units
- S optimal: 35%
- S order qty: 200 × 0.35 = 70 units

Step 3: Round to Case Pack Requirements

Manufacturers often require multiples of:
- 6 units per size/color combo
- 12 units per size
- 24 units per inner carton

Formula:
```excel
=CEILING(Calculated_Qty, Case_Pack_Size)
```

Example: 70 S calculated, 12-pack required → 72 S ordered (6 packs)

Step 4: Allocate Colors within Each Size

Use color performance matrix:

If ordering 72 S, and color matrix shows:
- Black: 40% of S sales
- Navy: 30% of S sales
- Gray: 20% of S sales
- Red: 10% of S sales

Allocation:
- Black S: 72 × 0.40 = 29 → round to 30
- Navy S: 72 × 0.30 = 22 → round to 24 (case pack)
- Gray S: 72 × 0.20 = 14 → round to 12 (don't over-order risky)
- Red S: 72 × 0.10 = 7 → round to 6 (minimum for testing)

Total: 72 S (matches size allocation)

In fashion, 20% of size/color combos drive 80% of sales. Black/Navy in your top 2 sizes = safe winners. Everything else is risk. Use matrix to minimize the risky 80% of variants.

Markdown Decision Matrix: When to Liquidate

30-60-90 Day Sell-Through Benchmarks:

30 days:
- >50% sell-through: Winner, reorder
- 30-50%: Acceptable, monitor
- <30%: Risky, no reorder

60 days:
- >70% sell-through: Good product
- 50-70%: Acceptable
- <50%: Dead stock, markdown soon

90 days:
- >80% sell-through: Success
- 60-80%: Acceptable
- <60%: Markdown immediately

Excel Markdown Calculator:

Input:
- Units remaining
- Original retail price
- COGS per unit
- Target markdown % (25%, 50%, 75%)

Calculate:
```excel
Markdown_Price = Original_Price × (1 - Markdown_%)
Revenue_at_Markdown = Units_Remaining × Markdown_Price
Total_Cost = Units_Remaining × COGS
Profit_Loss = Revenue_at_Markdown - Total_Cost
```

Decision Matrix:

| Sell-Through | Days Available | Action | Markdown % |
|--------------|----------------|--------|------------|
| <40% | 90+ | Clearance | 50-75% |
| 40-60% | 90+ | Markdown | 25-50% |
| 60-80% | 90+ | Hold | 0-25% |
| >80% | Any | Reorder | 0% |

Stop guessing at size mixes. Get automated fashion analytics showing size curves, color trends, and buy recommendations based on your actual sales patterns.

Get Fashion Analytics

Works with Shopify, WooCommerce fashion stores

Common Mistakes to Avoid

Learn from these common pitfalls to ensure success

Using manufacturer's suggested size mix instead of your actual sell-through data

Solution: Manufacturers suggest flat 25% each size for their convenience. Your customers don't buy that way. Use YOUR historical size curve, not theirs.

Ordering seasonal colors outside their season

Solution: Pastels ordered in October will sit until March. Order seasonal colors 2-3 months before their peak season, liquidate at end of season.

Not segmenting size curves by product category

Solution: Dresses, tops, pants all have different size curves. One 'overall' mix creates dead stock in all categories. Segment by category.

Ignoring case pack requirements in buy plan

Solution: If calculated 37 M but case packs are 12, you must order 36 or 48. Build rounding into your Excel formulas: =CEILING(qty, 12).

How to Verify Your Numbers

Ensure accuracy with these verification steps

Your size mix sums to 100% (no rounding errors creating 103% or 97%)

Top 2 sizes represent 60-70% of total order (concentrated demand is normal)

Safe colors (black, navy, white) are 50%+ of color mix (risk management)

Your sell-through rate for past orders matches benchmarks: 80%+ at 90 days

When you apply optimal size mix to next order, units per size change from flat distribution

Frequently Asked Questions

What if my store is too new to have 12 months of data?
Use industry benchmarks for your product category as starting point. After first order, track sell-through for 60 days and adjust next order. You'll have real data in 2-3 order cycles.
How do I handle plus sizes (1X, 2X, 3X)?
Treat as separate size curve. Plus sizes often have DIFFERENT optimal mix than standard sizes. Build separate matrix if you offer both.
What about petite and tall variants?
Same principle: track sell-through separately. Petite/tall typically 10-15% of total volume. Don't over-order based on enthusiasm - data wins.
Should I order less of risky colors to minimize dead stock?
Yes, but don't eliminate entirely. Use 80/20: 80% of order in safe colors, 20% in seasonal/trendy for testing. Cap risk exposure.
How often should I recalculate optimal size mix?
Quarterly minimum. Annually for stable categories. After any major fit change or new body type targeting (e.g., maternity, plus size expansion).

Ready to Transform Your Reporting?

Start with a free report and see exactly what you'll get every time.