Everything wrong with the stock, ranked by money, plus the three registers that gate the phases: negative balances, unverified openings, and SKUs that cannot be measured at all. scored 29-07-2026 03:12 GST stock_health_scores · nightly · 18,204 keys
| Location | Score | SKUs | Stockout | Critical | Overstock | Dead | Negative | Unverified | At risk AED | Last count |
|---|---|---|---|---|---|---|---|---|---|---|
| HQ_319 | 82 | 1,512 | 148 | 62 | 41 | 28 | 1 | 0 | 1.12M | 18-07 · full |
| HQ_325 | 88 | 418 | 24 | 9 | 6 | 3 | 0 | 0 | 0.09M | 18-07 · full |
| MCC | 54 | 884 | 96 | 48 | 6 | 4 | 1 | 1,046 | 0.31M | never · seeded |
| YAS | 57 | 812 | 72 | 38 | 5 | 3 | 0 | 968 | 0.24M | never · seeded |
| AJM | 59 | 744 | 58 | 31 | 3 | 2 | 0 | 886 | 0.19M | never · seeded |
| CCZ | 61 | 690 | 44 | 18 | 2 | 1 | 0 | 724 | 0.14M | never · seeded |
| AJM | 63 | 512 | 31 | 12 | 1 | 1 | 0 | 318 | 0.08M | never · seeded |
| BAS | 66 | 341 | 18 | 7 | 0 | 0 | 0 | 176 | 0.04M | never · seeded |
| CONS · 5 | 44 | 206 | 12 | 4 | 14 | 9 | 0 | 0 | 0.21M | 01-07 · partner |
| TRANSIT | 71 | 94 | 0 | 0 | 0 | 0 | 0 | 0 | 0.03M | n/a |
| SUPPLIER_HOLD | 38 | 22 | 0 | 0 | 0 | 14 | 0 | 0 | 0.06M | n/a |
| DISCONTINUED | 22 | 61 | 0 | 0 | 0 | 61 | 1 | 0 | 0.11M | n/a |
| SKU | Location | Stock type | Qty | bal_after | First negative | Likely cause | Drift case | Age | Action |
|---|---|---|---|---|---|---|---|---|---|
| ANQ07B | MCC | STOCK | -1 | -1 | 29-07 09:22 | Ghost exchange · refund with 0 line items | DRF-0148 | 5h | Open correction → |
| LLW-PRF-201 | HQ_319 | STOCK | -3 | -3 | 28-07 18:52 | Refund restock posted twice under two idempotency keys | DRF-0151 | 19h | Open correction → |
| ANQ04P | DISCONTINUED | WRITTEN_OFF | -2 | -2 | 14-07 11:03 | Write-off exceeded the on-hand it was written off from | DRF-0139 | 15d | Finance review → |
| Location | Keys | Units | Source | Seeded | Signer | Action |
|---|---|---|---|---|---|---|
| MCC | 1,046 | 3,506 | Shopify levels | 12-07 05:00 | store manager | Schedule count → |
| YAS | 968 | 3,241 | Shopify levels | 12-07 05:00 | store manager | Schedule count → |
| AJM | 886 | 2,489 | Shopify levels | 12-07 05:00 | store manager | Schedule count → |
| CCZ | 724 | 1,502 | Shopify levels | 12-07 05:00 | store manager | Schedule count → |
| AJM | 318 | 874 | Shopify levels | 12-07 05:00 | store manager | Schedule count → |
| BAS | 176 | 418 | Shopify levels | 12-07 05:00 | store manager | Schedule count → |
| HQ_319 | 0 | 33,914 | RFID mass-tag count | 18-07 22:40 | signed · A. Yousuf | done |
| HQ_325 | 0 | 3,108 | physical count | 18-07 22:40 | signed · A. Yousuf | done |
| All locations | 0 | - | never_verified | - | 0 keys | gate can close |
| SKU | Prefix | Sold 90d | Revenue AED | Component rows | Recipe | Action |
|---|---|---|---|---|---|---|
| FB_MSR31_SET | FB_ | 142 | 248,600 | 0 | none | Build recipe → |
| FB_FYN_DUO | FB_ | 96 | 86,400 | 0 | none | Build recipe → |
| FB_LBA_GIFT | FB_ | 61 | 114,900 | 0 | none | Build recipe → |
| LP_ENGRAVE_MSR | LP_ | 58 | 17,400 | 0 | none | Build recipe → |
| LP_ENGRAVE_JRY | LP_ | 44 | 13,200 | 0 | none | Build recipe → |
| LP_MONOGRAM_LBA | LP_ | 31 | 15,500 | 0 | none | Build recipe → |
| JB_FYN_TRIO | JB_ | 27 | 48,600 | 0 | none | Build recipe → |
| JB_ANQ_PAIR | JB_ | 19 | 22,800 | 0 | none | Build recipe → |
| 23 more | mixed | 312 | 401,300 | 0 | none | See all 31 → |
| Total | 790 | 968,700 | 0 | excluded from every average |
| SKU | Title | Category | Location | Health | Units | Days idle | Cover | Oldest cohort | Value AED | WoW | Action |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN-CNL-038 | Soy candle · Rose 400g | Home | HQ_319 | dead | 1,640 | 412 | - | 438d | 72,160 | ↑ 5% | Request write-off |
| MIN-APP-534 | Wool coat · Camel L | Apparel | HQ_319 | slow | 96 | 238 | 311 | 296d | 49,020 | ↑ 18% | Discount plan |
| LBA01 | Alyazia handbag · Black & tan | Handbags | CCZ | overstock | 72 | 96 | 204 | 187d | 36,864 | ↑ 2% | Rebalance |
| JRY01 | Alia ring · Gold vermeil | Jewellery | CONS_FLOWARD | dead | 120 | 204 | - | 211d | 37,200 | flat | Recall from partner |
| MIN-APP-501 | Linen shirt · Ivory L | Apparel | HQ_319 | slow | 840 | 187 | 268 | 241d | 26,040 | ↑ 4% | Discount plan |
| ANQ01P | Amiira pendant · Rose | Jewellery | DISCONTINUED | dead | 61 | 396 | - | 402d | 24,644 | flat | Request write-off |
| MSK15-BLK | Strap 20mm · Black | Straps | HQ_319 | slow | 88 | 62 | 194 | 158d | 3,344 | ↓ 3% | Watch |
| MIN-2159 | Bloom vase · Large | Home | HQ_319 | slow | 62 | 74 | 188 | 132d | 10,540 | flat | Rebalance |
| LC-STRAP-42 | LC strap 42mm · assorted | Straps | SUPPLIER_HOLD | dead | 120 | 88 | - | 96d | 6,120 | flat | RTS-0022 ready to ship |
| FYN04-S | Fyne ear cuff · sample batch | Jewellery | HQ_319 | SLA breach | 5 | 3 | - | 3d | 410 | new | Classify, 80h in QC |
| LLW-BAG-062 | Lulwa evening clutch · Midnight | Handbags | HQ_319 | slow | 44 | 122 | 216 | 176d | 18,480 | ↑ 6% | Push to Namshi |
| MIN-MRR-003 | Round mirror · 90cm | Home | HQ_319 | dead | 18 | 288 | - | 311d | 11,880 | flat | Request write-off |
| PP02 | Amber leather parfum 100ml | Perfume | HQ_319 | critical | 6 | 0 | 6 | 14d | 624 | ↓ 12% | 48u in RNI, book invoice |
| LLW-JWL-301 | Lulwa crescent pendant · Gold | Jewellery | all stores | stockout | 0 | 11 | 0 | - | 0 | ↑ new | 280u in pipeline, ETA 04-08 |
| MSR31-12 | Sereen · Gold / Ivory | Watches | HQ_319 | critical | 9 | 0 | 6 | 28d | 1,962 | ↑ 9% | 40u in production |
Every state below is a rule over the projection, not a heuristic. If two rules could match, the earlier one wins, so the classes are disjoint and the counts add up.
Score is 100 - 30(stockout) - 20(critical) - 15(negative) - 15(unverified) - 10(overstock) - 10(dead), clamped to 0..100 and averaged per location weighted by capital at risk. The weights live in settings so an argument about them is a config change, not a deploy.
Aging comes from FIFO receipt cohorts, so it measures units. Cover comes from the 28-day rate with out-of-stock days removed from the denominator, so a SKU that was unavailable for 20 of 28 days does not read as having infinite cover.
The nightly scorer runs at 03:00 Dubai and needs at least 28 days of inventory_balance_daily to compute velocity.
Showing the 28-07 scores. Nothing has been recomputed since.
Error ID i3-health-9d21