Inventory Mix

Is the money in the right shape. Category, brand and price-band composition against what actually sells, and how that gap has moved. snapshot 29-07-2026 09:00 GST from inventory_balance_daily + mix_snapshots

Mix drift index 412 bps and rising. Perfume is 660 bps under-weighted against 90-day demand while Watches is 560 bps over. AED 1.24M of capital sits in segments selling slower than their share of stock. Rebalance plan →
Stock health →

Category composition

units
Watches · 28.0% · 14,668 units · AED 2.98M cost Jewellery · 22.0% · 11,525 units · AED 1.86M cost Handbags · 15.0% · 7,858 units · AED 2.21M cost Perfume · 11.0% · 5,762 units · AED 0.72M cost Home · 9.0% · 4,715 units · AED 0.44M cost Accessories · 7.0% · 3,667 units · AED 0.29M cost Straps · 4.0% · 2,095 units · AED 0.08M cost Sunglasses · 2.0% · 1,048 units · AED 0.13M cost Apparel · 1.5% · 786 units · AED 0.06M cost Other · 0.5% · 263 units · AED 0.02M cost 28% 22% 15%
52,387
total units
AED 31.2M potential
Hover a ring segment for units, cost and share. Ten categories, no residual bucket over 0.5%.
Lens = units. Switching to cost re-bases every ring: Handbags jumps from 15.0% of units to 23.0% of cost.

Held vs sold

4 over-weighted3 under-weighteddemand share = trailing 90d units sold
CategoryUnitsHeld %Sold %Drift bps Cost AEDRetail AEDCover d
Watches14,66828.0%22.4%+5602.98M9.84M52
Jewellery11,52522.0%26.1%-4101.86M6.72M35
Handbags7,85815.0%11.8%+3202.21M7.10M61
Perfume5,76211.0%17.6%-6600.72M2.94M21
Home4,7159.0%6.2%+2800.44M1.52M78
Accessories3,6677.0%9.4%-2400.29M1.28M27
Straps2,0954.0%3.1%+900.08M0.46M48
Sunglasses1,0482.0%2.2%-200.13M0.72M33
Apparel7861.5%0.9%+600.06M0.32M96
Other2630.5%0.3%+200.02M0.10M88
Total52,387100%100%412 mean abs9.61M31.20M42
Drift bps = held share minus sold share, in basis points. Positive means we hold more of it than we sell. It is a subtraction, not a model.

Brand x category treemap

area = unitsMinimalist 84.2% · Lulwa 15.8% · nested blocks are the Lulwa share of that category
Watches · 14,668 units · 28.0% · AED 2.98M Watches · Lulwa · 1,918 units (13.1% of category) Watches 14,668u · 28.0% AED 2.98M cost · cover 52d Lulwa 1,918 Jewellery · 11,525 units · 22.0% · AED 1.86M Jewellery · Lulwa · 2,420 units (21.0% of category) Jewellery 11,525u · 22.0% AED 1.86M cost · cover 35d Lulwa 2,420 Handbags · 7,858 units · 15.0% · AED 2.21M · highest capital per unit Handbags · Lulwa · 2,516 units (32.0% of category) Handbags 7,858u · 15.0% AED 2.21M · cover 61d Lulwa 2,516 Perfume · 5,762 units · 11.0% · cover 21d · most under-weighted category Perfume 5,762u · 11.0% · cover 21d sells 17.6% · under by 660 bps Home · 4,715 units · 9.0% · cover 78d Home 4,715u · 9.0% · cover 78d Accessories · 3,667 units · 7.0% · cover 27d Accessories 3,667u · 7.0% Straps · 2,095 units · 4.0% Straps 2,095u Sunglasses · 1,048 units · 2.0% Sun Apparel · 786 units · 1.5% App Other · 263 units · 0.5%
Watches Jewellery Handbags Perfume Home Accessories Darker nested block = Lulwa share. Handbags is 32% Lulwa by units and 41% by cost.

Category x location concentration

10 categories · 8 columnscell = units over % of the category row · shade = concentration
CategoryHQ_319MCCYASAJMCCZCONSIN_PRODGITTotal
Watches 8,91261% 1,0247% 8806% 7045% 5864% 1461% 1,76012% 6564% 14,668
Jewellery 6,68458% 9228% 6926% 5765% 4614% 6906% 1,26811% 2322% 11,525
Handbags 4,24454% 94312% 7079% 5507% 3935% 6288% 3154% 781% 7,858
Perfume 2,70847% 80714% 63411% 5199% 4037% 1733% 1162% 4027% 5,762
Home 3,34771% 4249% 3307% 2365% 1894% 932% 00% 962% 4,715
Accessories 1,79649% 51314% 40311% 3309% 2577% 1484% 401% 1805% 3,667
Straps 1,23659% 1688% 1266% 1055% 804% 402% 34016% 00% 2,095
Sunglasses 14814% 545% 404% 323% 242% 101% 32031% 42040% 1,048
Apparel 36246% 14218% 10213% 719% 476% 628% 00% 00% 786
Other 12146% 5320% 3413% 239% 176% 156% 00% 00% 263
Total 29,5585,0503,9483,1462,4572,0054,1592,06452,387
Sunglasses is the outlier: 71% of it is still in the pipeline (IN_PRODUCTION + GIT_INBOUND) against a stockout at every store. That is what a pre-order category looks like before it lands.

Price-band distribution

5 bandsbar = held share · marker = 90d sold share
Entry · under AED 200 18,336u · 35.0%
Core · AED 200 to 499 15,716u · 30.0%
Premium · AED 500 to 999 10,477u · 20.0%
Luxury · AED 1K to 2.5K 6,286u · 12.0%
Maison · AED 2.5K plus 1,572u · 3.0%
BandUnitsHeld %Sold %DriftCost AEDSell-through
Entry18,33635.0%42.0%-7001.28M4.1%/wk
Core15,71630.0%31.0%-1002.35M3.4%/wk
Premium10,47720.0%17.0%+3002.79M2.6%/wk
Luxury6,28612.0%8.0%+4002.31M1.9%/wk
Maison1,5723.0%2.0%+1000.88M1.1%/wk
Total52,387100%100%320 mean abs9.61M3.2%/wk
Bands are a table, not a constant. Edges live in price_bands so the luxury boundary can move without a deploy.

Mix drift · 12 months

Watches divergingheld share minus sold share, in basis points, zero line is balanced
+800+4000-400-800 Watches · Jul 2026 · +560 bps held over sold · worst of the 12 months Watches · Aug 2025 · +80 bps Perfume · Jul 2026 · -660 bps · sells far faster than it is held Jewellery · Jul 2026 · -410 bps Handbags · Jul 2026 · +320 bps · AED 2.21M of cost sits here Home · Jul 2026 · +280 bps Ramadan + Eid
AugSepOctNovDecJanFebMarAprMayJunJul
Watches +560 Handbags +320 Home +280 Jewellery -410 Perfume -660
Every point is one mix_snapshots row. Nothing is smoothed, interpolated or back-filled: a month with no snapshot shows a gap, not a guess.

Over and under-weighted segments

AED 1.24M over-weightedAED 0.61M of missed coverranked by absolute drift · action opens the owning module
SegmentDimensionUnitsHeld %Sold % DriftDrift bpsCapital at riskCover dRecommended action
Perfumecategory5,76211.0%17.6%
-660
-660AED 0.29M21 Raise PO, cover is 21d →
Watchescategory14,66828.0%22.4%
+560
+560AED 0.59M52 Slow the 1,760u in production →
Entry bandprice band18,33635.0%42.0%
-700
-700AED 0.18M24 Reorder the entry tier →
Jewellerycategory11,52522.0%26.1%
-410
-410AED 0.14M35 Rebalance from HQ_319 →
Luxury bandprice band6,28612.0%8.0%
+400
+400AED 0.42M67 Review slow movers →
Handbagscategory7,85815.0%11.8%
+320
+320AED 0.48M61 4 dead SKUs, AED 187K →
Premium bandprice band10,47720.0%17.0%
+300
+300AED 0.31M49 Hold, within tolerance
Homecategory4,7159.0%6.2%
+280
+280AED 0.16M78 Candle line is 312d cover →
Accessoriescategory3,6677.0%9.4%
-240
-240AED 0.07M27 Watch, within tolerance
Lulwa · Handbagsbrand x category2,5164.8%3.0%
+180
+180AED 0.34M72 Push to consignment →
Strapscategory2,0954.0%3.1%
+90
+90AED 0.02M48 Hold
Sunglassescategory1,0482.0%2.2%
-20
-20AED 0.00M33 740u still in the pipeline →
Apparelcategory7861.5%0.9%
+60
+60AED 0.03M96 Aging, review →
Maison bandprice band1,5723.0%2.0%
+100
+100AED 0.29M88 Intentional, maison positioning
Othercategory2630.5%0.3%
+20
+20AED 0.00M88 Hold
Capital at risk = units above a balanced share, valued at landed cost. It is the number to argue about, not the percentage.

What this page is allowed to claim

Mix is a subtraction, not a forecast. Held share comes from inventory_balance_daily, sold share from the ledger's outbound rows over 90 days, and drift is one minus the other in basis points. There is no elasticity model here, and the page never predicts what a price change would do.

held share
units in the segment over total units, at the selected snapshot
sold share
units sold in the segment over total units sold, trailing 90 days
drift bps
held minus sold, x 10,000. Positive means over-weighted
capital at risk
units above a balanced share x landed cost, in AED
program stock
INFLUENCER_POOL, SAMPLE_POOL and SAMPLE_QC are excluded by default because they never sell
pipeline
IN_PRODUCTION and GIT_INBOUND are included by default. Sunglasses looks healthy only because of them, so hiding them would flatter the number

Composite parents are absent. Their components carry the units and are already counted in their own categories; counting a giftbox and its watch would inflate Watches by the number of giftboxes.

No snapshot for this date.

Mix needs at least one mix_snapshots row. The nightly job runs at 00:05 Dubai.

Cost figures hidden.

Mix by cost and retail needs the finance.read scope. Unit shares are visible to everyone.

Request access
+bps over-weighted, we hold more than we sell -bps under-weighted, we sell more than we hold tolerance +/- 250 bps · beyond that the segment enters the register Snapshot 29-07-2026 09:00 GST · demand window 90 days · Asia/Dubai 1-3 switch lens · click a legend row to isolate · E export · ⌘K palette

Connected to

Live pivot → Classic table → Stock health → Price trends → Reports → POs and PI → Production → Goods in transit → Transfers → Consignment → Locations → Suppliers → Cash forecast → Dashboard →