Retail and trading analytics for Dubai and the UAE
Retail and trading in the UAE take three shapes. Store retail in malls and on high streets, where the questions are like-for-like sales, rent as a share of sales and what the Dubai Shopping Festival did. E-commerce and marketplace selling through an own site, Noon and Amazon.ae, where the questions are channel contribution after fees, returns and delivery cost. And general trading and distribution — the Gulf’s most common company type — where goods are bought in dollars, euros, yuan or rupees, landed through Jebel Ali, sold in dirhams on credit terms, and paid for with post-dated cheques.
The trading model is the one nobody writes about, and it is the one this page spends most of its length on: margin after landed cost, stock ageing, sell-in against sell-out, credit exposure and cheque ageing. Store and online retail follow, with the multi-currency, multi-entity and seasonal logic the three shapes share.
Delivered remotely on GST hours, as a fixed price quoted before work starts, under the Power BI dashboards by industry UAE structure used across the site.
Trading and distribution
A trading company’s ERP knows the purchase price and the sale price. It rarely knows the landed cost, because freight, duty and clearing are invoiced separately and allocated in a spreadsheet, and it rarely knows the real exposure to a customer, because the cheques in the drawer are not in the ledger. The model rebuilds both.
- Gross margin by SKU, brand and customer after landed cost: purchase price converted at the booking rate, plus freight, duty, clearing and inbound handling allocated to the lot, against net sales in AED.
- Stock ageing and days of inventory: stock on hand by age since the lot was received, in quantity and value, by warehouse, with slow-moving lines flagged against a threshold the business sets.
- Sell-in versus sell-out for distributors: units invoiced to retail accounts against the units those accounts sold through, from their reports, with the cumulative gap by SKU and account.
- Credit exposure and PDC ageing by customer: open invoices plus cheques on hand against the credit limit, with cheques aged by maturity and status and kept separate from arrears.
- DSO by customer and entity, with cash and COD sales excluded from the denominator.
- Fill rate by customer and SKU, counting lines cancelled after a stock-out as misses.
- Van-sales productivity: calls, productive calls, lines per call and value per route per day, from the handheld or the dispatch sheet.
- Supplier rebates: rebates earned against purchase volumes and targets, accrued monthly and reconciled when the credit note arrives.
Store retail
Store retail has the better-known measures, and the UAE adds the mall, the festival calendar and the weekend to them.
- Like-for-like sales for stores trading in both periods, with the comparable period Ramadan-aligned and weekend-aligned.
- Sales per square metre of trading area, by store and month.
- Footfall conversion where counters exist, used for trend rather than absolute, and basket size from the POS.
- Promotions: the Dubai Shopping Festival, Ramadan and Eid, back-to-school and the end-of-season sales, each carried in the calendar so a promotion week is compared with the same promotion last year.
- Mall rent as a share of sales, by store, including the turnover-rent component where the lease has one.
- Shrink: stock loss between counts as a share of sales, by store, from the WMS or the POS stock module.
E-commerce and marketplaces
Online channels report their own numbers in their own formats, and each one nets something off before it shows a total. The model reconstructs gross sales, fees and returns from the order-level reports so channels can be compared on the same basis.
- Channel contribution: net sales less marketplace fees, payment fees, delivery cost and returns, for the own site, Noon, Amazon.ae and other marketplaces, beside stores and wholesale.
- Marketplace fees and returns by platform, from the seller reports, reconciled to the settlement.
- Ad spend and ROAS by platform, with platform-reported attribution shown beside orders from the store system.
- Delivery cost per order by carrier and emirate, and the COD share of orders with its effect on returns and cash timing.
KPI definitions
Eleven definitions across trading, stores and online, written so the commercial director, the finance manager and the warehouse manager can argue with them before the model is built. Each carries a formula and the trap that most often makes the number wrong.
| KPI | Definition | Formula | Watch out for |
|---|---|---|---|
| Gross margin after landed cost | Net sales less cost of goods where cost includes the purchase price converted at the booking rate plus freight, duty, clearing and inbound handling, by SKU, brand and customer. | Net sales − (purchase cost in AED at booking rate + freight + duty + clearing + inbound handling), as AED and as % of net sales | Landed cost allocated by value understates bulky low-value lines; allocate freight by volume or weight where the shipment data allows. |
| Stock ageing and days of inventory | Stock on hand by age since receipt, in quantity and AED, by warehouse and brand; and days of inventory at the current rate of sale. | Stock value by age band; days of inventory = stock on hand ÷ average daily cost of sales | Age from the receipt date of the specific lot, not the SKU’s first-ever receipt; FIFO in the ERP does not always mean FIFO in the warehouse. |
| Sell-in versus sell-out | For distributors: units invoiced to retailers (sell-in) against units the retailers sold to consumers (sell-out), by SKU and account. | Sell-in from the ERP; sell-out from retailer reports; gap = sell-in − sell-out, cumulative | Retailer sell-out reports arrive in different formats and lags; the model keeps each account’s report date so the gap is not overstated by missing weeks. |
| Credit exposure and PDC ageing | Open receivables plus post-dated cheques on hand per customer against the approved credit limit, with cheques aged by maturity and status. | Open invoices + PDCs not yet due; exposure ÷ credit limit; PDC value by maturity month and status | A cheque on hand is not cash and not arrears; keep PDCs not yet due out of the overdue figure and show them as their own schedule. |
| DSO | Days of sales represented by open receivables, by customer and entity. | Open receivables ÷ net credit sales in the trailing period × days in period | Cash and COD sales are excluded from the denominator; including them flatters DSO in a business with a large retail share. |
| Fill rate | Order lines shipped complete from stock as a share of order lines received, by customer and SKU. | Lines shipped complete ÷ lines ordered | Lines cancelled by the customer after a stock-out should count as a miss; if the ERP deletes them, the fill rate is fiction. |
| Like-for-like sales | Net sales growth for stores trading in both periods, excluding openings, closures and stores with a change in size. | (LFL store sales this period − LFL store sales comparable period) ÷ LFL store sales comparable period | The comparable period must be Ramadan-aligned and weekend-aligned; a calendar month with an extra Saturday moves the number by itself. |
| Sales per square metre | Net sales divided by trading area, by store and month, in AED. | Net store sales ÷ trading area in square metres | Use trading area, not leased area; storerooms and back of house belong in rent-to-sales, not here. |
| Basket size and conversion | Net sales per transaction and, where footfall counters exist, transactions as a share of footfall, by store and hour. | Net sales ÷ transactions; transactions ÷ footfall | Footfall counters count staff and repeat entries; use them for trend, not for absolute conversion. |
| Channel contribution | Net sales less marketplace fees, payment fees, delivery cost and returns, by channel (own site, Noon, Amazon.ae, marketplaces, stores, wholesale). | Channel net sales − platform fees − payment fees − delivery cost per order × orders − returns | Marketplace settlement reports net fees against sales in a single figure; the model reconstructs gross sales and fees separately from the seller report. |
| ROAS and delivery cost per order | Attributed sales divided by ad spend, by platform; and last-mile cost divided by orders shipped, with COD share as a separate measure. | Attributed sales ÷ ad spend; delivery invoices ÷ orders shipped; COD orders ÷ total orders | Platform-reported ROAS uses the platform’s attribution; report it beside orders from the store system so the two can be compared. |
Systems we typically connect
The ERP holds the ledger; the POS, the e-commerce platform and the marketplaces hold the sales; the WMS holds the lots; and the landed-cost and price-list spreadsheets hold what the ERP does not. The model connects all of them and reconciles the spreadsheets to the purchase ledger rather than pretending they do not exist.
| System | How it connects | Refresh | The catch |
|---|---|---|---|
| POS (LS Central, Oracle Xstore, Foodics, custom) | Database read access or vendor API; LS Central through Business Central | Nightly, with intraday for same-day sales where the API allows | Returns and exchanges are recorded differently by each POS; net sales needs a rule the business agrees. |
| ERP (Tally, SAP Business One, Odoo, Dynamics 365 Business Central, NetSuite) | ODBC via gateway (Tally), database or API (SAP B1, Odoo), OData (Business Central), SuiteAnalytics or REST (NetSuite) | Nightly | Landed cost is often applied in a spreadsheet after the goods receipt; the model rebuilds it from the shipment, duty and clearing invoices. |
| E-commerce (Shopify, Salla, Magento) | Platform API or connector | Hourly or daily | Order status changes after the order date (cancelled, returned, refunded); the model refreshes recent orders, not only new ones. |
| Marketplace seller reports (Noon, Amazon.ae) | Seller portal exports to a fixed folder | Weekly or per settlement cycle | Settlement reports are net; gross sales, fees and returns are reconstructed from the order-level report. |
| WMS | Database read access or API | Nightly | Lot receipt dates in the WMS drive stock ageing; if the ERP has only SKU-level stock, ageing comes from the WMS. |
| Excel price lists and landed-cost sheets | Read from a fixed folder by Power Query | Daily | The landed-cost sheet is usually the only place freight and duty are allocated; it is kept, structured and reconciled to the purchase ledger. |
Multi-currency and multi-entity
A trading business buys in USD, EUR, CNY or INR and sells in AED, and often sells into the GCC in SAR, QAR, OMR, KWD or BHD. The dirham’s peg to the dollar makes USD purchases simple and everything else a policy question: which rate is cost booked at, the invoice date, the payment date or a monthly standard rate? The model holds one FX policy, written down, and reports margin at that rate with the realised FX difference shown separately, so a margin change is not confused with a currency change.
The entity structure is usually a mainland LLC for retail and local wholesale alongside a free-zone company that imports and re-exports, with stock and goods moving between them. The model carries an entity dimension, eliminates intercompany sales, and reports VAT by entity and return period so each entity’s figures can be reconciled to its return. VAT on imports, reverse-charge treatment and the treatment of goods moving through designated zones differ, and the model records what the ledger records under the treatment your tax adviser has decided. We are not tax agents.
Seasonality
Retail in the UAE has a calendar of its own, and the model carries it as attributes so comparisons are made like with like.
- Ramadan and Eid: grocery and gifting rise, fashion and dining shift towards the evening, and Eid produces a short peak. A Ramadan month is compared with the previous year’s Ramadan month, not the same calendar month.
- The Dubai Shopping Festival and the summer sales: promotion periods carried in the calendar and compared same-promotion to same-promotion.
- Summer: mall footfall holds and street footfall falls; online rises. Channel mix is compared seasonally rather than month to month.
- National Day and the year-end: a peak in early December and a trading pattern around it.
- The Saturday–Sunday weekend: weekly patterns are reported against the current working week, and a month with five Saturdays is flagged so like-for-like is not moved by the calendar alone.
Open the retail demo
Demo built on synthetic data to show layout, KPI definitions and interaction. Not client data. Open the retail and trading demo opens in this site; nothing to install and nothing to sign up for.
Interactive analytics and key metrics overview.
Retail Performance
Core metrics tracking
Regional Distribution
Click a bar to focus (Top 7)
Three things to look for while it is open:
- Open the margin page and switch the cost basis between purchase price and landed cost; the ranking of brands changes, which is the point.
- Look at the customer exposure page: open invoices, cheques not yet due and overdue amounts are three separate figures, and the credit-limit bar uses the first two.
- Use the currency selector on the purchases page and note that margin in AED does not move when the display currency changes, because the FX policy is in the model.
Questions about retail analytics
Can Power BI show margin after landed cost?
Can we track post-dated cheques and credit exposure?
Can it connect to Tally and our POS?
Can we compare Ramadan to last year properly?
Can one model cover stores, online and wholesale?
What does it cost?
Fixed price for a retail or trading dashboard
Quoted before work starts against a written scope. The quote is the price.
A retail or trading build is quoted the same way as every other project on this site, following the sequence on the Power BI dashboard development Dubai page. Landed-cost sheets and price lists kept in Excel are brought into the model using the method on the Excel to Power BI migration Dubai page; where the month-end pack must stay in Excel, the Excel reporting automation Dubai service automates its inputs instead. Distributors whose problem is the fleet and the warehouse rather than the margin will find the logistics analytics Dubai page closer to their shape.
It starts with a short discovery call, at no charge, and a look at your current reports and the systems behind them. From that we write a scope: the sources we will connect, the model we will build, the pages and visuals, the users and their security, the training and the handover.
We then quote a fixed price against that scope. The quote is the price. If we find something worse than expected inside the scope, that is our cost, not yours. If you want something outside the scope, we quote it separately before doing it, and you decide.
Payment is staged against the milestones written into the scope, so you are never paying ahead of what you have seen. Where a figure is published on this site it is a starting point rather than your quote, because the number depends on your systems; we would rather you knew how the price is built than read a "from" price as though it already applied to you.
The reporting diagnostic is a fixed AED 4,950. That is the whole amount. Nothing is added at checkout. A retail build is quoted rather than sold from a page: builds start at AED 15,500 and most land in the AED 15,500 to AED 62,000 range, depending on the systems joined, the state of the data and the number of entities, pages and trained users. Those figures anchor the conversation; the number in your written quote is the one you pay.
The written scope for a retail build itemises:
- Business shapes in scope: trading and distribution, stores, online, or a combination.
- Sources: ERP, POS, e-commerce platform, marketplace reports, WMS, landed-cost and price-list sheets — and how each connects.
- The FX policy and the landed-cost allocation rule, agreed before the build.
- Entities, warehouses, stores and channels covered, and the security roles.
- Pages and mobile layouts, including any van-sales or store-manager view.
- Calendar logic: Ramadan, Eid, DSF, summer and weekend-aligned comparisons.
Talk through your retail reporting
Get started — four quick questions takes about a minute and books a thirty-minute call at no charge, on GST hours.


