👗

Fashion Retail Analytics

RM 24,000 trapped in unsold inventory — and it was all the same 2 sizes. The data showed exactly which to stop ordering.

Sell-Through RateDead Stock DetectionMarkdown ImpactInventory TurnoverSize-Level Analysis
450
SKUs Analysed
18
Dead Stock SKUs
RM 24k
Trapped Value
32%
Discount Revenue
-8.9%
Margin Erosion
1

Step 1 — Data Extraction

450 active SKUs were exported from the inventory management system and POS covering Women, Men, and Accessories across Physical Store and Online channels.

Raw export — 10 sample SKU records

SKUCategorySubSizeChannelUnits InUnits SoldOrig PriceDiscount
SKU-1000WomenDressMPhysical12096RM 1890%
SKU-1001WomenDressXSOnline809RM 1890%
SKU-1002MenShirtLPhysical150118RM 1450%
SKU-1003MenShirtXXLOnline9516RM 14530%
SKU-1004AccessoriesBagMPhysical6048RM 2200%
SKU-1005WomenJeansXSOnline758RM 21040%
SKU-1006MenJacketLPhysical8871RM 3400%
SKU-1007AccessoriesWatchSOnline4512RM 48025%
SKU-1008WomenBlouseMPhysical11087RM 1280%
SKU-1009MenPoloXXLPhysical9014RM 11840%
2

Step 2 — Data Cleaning

Issues found and resolved

IssueCountActionResult
Duplicate SKU entries12Removed — kept latest438 clean records
Units Sold > Units Received4Capped at Units ReceivedCorrected
Blank discount column89Set to 0% — confirmed full-priceImputed
Negative revenue records2Removed — returns errorDropped
Blank Channel field15Set to Physical StoreImputed
3

Step 3 — Transform: VLOOKUP + Calculated Fields + Pivot

VLOOKUP joined the COGS reference table to each SKU. Four retail metrics were calculated per row. A Pivot Table grouped by Size x Category to surface the sell-through pattern.

Calculated fields added

MetricFormulaPurpose
Sell-Through RateUnits Sold / Units ReceivedHow much stock actually sold
Dead Stock FlagIF(Sell-Through < 20%, 1, 0)Flags non-moving inventory
Actual RevenueUnits Sold x Sell PriceRevenue after discount
Gross Margin %(Revenue - COGS) / Revenue x 100Profitability per SKU

Pivot Output — Sell-Through % by Size x Category

This is what the management chart was built from

SizeWomenMenAccessoriesAvgDead Stock?
XS14%12%18%14.7%🔴 YES
S38%41%52%43.7%🟡 Below Target
M68%71%65%68.0%🟢 Strong
L72%69%67%69.3%🟢 Strong
XL44%48%42%44.7%🟡 Below Target
XXL16%19%14%16.3%🔴 YES
🔍 KEY FINDING
M and L sizes sell at 68–69% yet represent only 35% of total units ordered. XS and XXL fall below the 20% dead-stock threshold across all 3 categories. RM 24,197 is locked in non-moving XS/XXL units — cash that should be going to M/L restocking.
4

Step 4 — Analysis

48.2%
Avg Sell-Through
Target: 65%
32%
Revenue from Discounts
-8.9%
Margin Erosion
RM 24k
Dead Stock Value

Markdown impact by category

CategoryFull-Price RevenuePost-Discount RevenueMargin BeforeMargin AfterErosion
WomenRM 68,420RM 58,18052.3%44.1%-8.2%
MenRM 54,890RM 48,34049.8%41.9%-7.9%
AccessoriesRM 38,200RM 30,92058.4%47.6%-10.8%
TOTALRM 161,510RM 137,44053.4%44.5%-8.9%
🔍 KEY FINDING
30% of all revenue came from discounted items, reducing gross margin by 8.9%. Accessories suffered most — XS/XXL Accessories SKUs were discounted repeatedly to force clearance, destroying margin on the highest-pricing-power category.
5

Step 5 — Visualisation

Sell-Through Rate by Size & Category
Below 20% dotted line = dead stock
Dead Stock SKU Count by Category
18 SKUs total with sell-through below 20%
Full-Price vs Post-Discount Revenue
Gap = revenue lost to markdowns
Sell-Through Rate by Size and Category
Grouped bar — M/L at 68-69%, XS/XXL below 20%. Visual mandate to stop over-ordering extreme sizes.
Dead Inventory Count by Category
Bar — 18 dead SKUs, Accessories worst with 8. Tells management exactly where the problem is.
Markdown Impact: Full Price vs Discounted
Side-by-side bars — RM 24k lost to discounting. Drives markdown policy tightening conversation.
6

Step 6 — Report to Management

Actions submitted from this analysis

FindingAction RequiredOwnerDeadlineExpected Impact
XS/XXL dead stock RM 24kFreeze all XS/XXL reorders immediatelyProcurement ManagerThis weekStops new dead stock
XS/XXL unsold units40% markdown clearance campaignRetail ManagerThis weekendRecover ~RM 14k
M/L underordered vs demandShift order ratio to 50% M/L from 35%Procurement ManagerNext order cycleSell-through 48% to 62%
Markdown eroding marginEnforce Week 6/8 markdown trigger policyOperations Director2 weeksStop unplanned discounting
WHY MANAGEMENT MUST ACT
  • Cash flow: RM 24,197 tied in XS/XXL cannot be reinvested in M/L. Every week they sit, recovery value drops further.
  • Margin decay: Currently at 38% avg discount. Trending toward 50%+ after week 8. The clearance window closes in 3 weeks as Q2 arrives.
  • Next season risk: Without a procurement ratio change now, the same problem repeats next quarter with fresh stock in the same wrong proportions.