In partnership with Roar Data (Australia) · Fixed-price, always· +61 433 345 000

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.

Remote delivery, working hours 7am–7pm GST, seven days, serving Dubai, Abu Dhabi, Sharjah and across the Emirates. Delivered in partnership with Roar Data, an Australian Power BI consultancy.

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.

KPIDefinitionFormulaWatch out for
Gross margin after landed costNet 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 salesLanded 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 inventoryStock 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 salesAge 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-outFor 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, cumulativeRetailer 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 ageingOpen 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 statusA 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.
DSODays of sales represented by open receivables, by customer and entity.Open receivables ÷ net credit sales in the trailing period × days in periodCash and COD sales are excluded from the denominator; including them flatters DSO in a business with a large retail share.
Fill rateOrder lines shipped complete from stock as a share of order lines received, by customer and SKU.Lines shipped complete ÷ lines orderedLines 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 salesNet 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 periodThe comparable period must be Ramadan-aligned and weekend-aligned; a calendar month with an extra Saturday moves the number by itself.
Sales per square metreNet sales divided by trading area, by store and month, in AED.Net store sales ÷ trading area in square metresUse trading area, not leased area; storerooms and back of house belong in rent-to-sales, not here.
Basket size and conversionNet sales per transaction and, where footfall counters exist, transactions as a share of footfall, by store and hour.Net sales ÷ transactions; transactions ÷ footfallFootfall counters count staff and repeat entries; use them for trend, not for absolute conversion.
Channel contributionNet 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 − returnsMarketplace 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 orderAttributed 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 ordersPlatform-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.

SystemHow it connectsRefreshThe catch
POS (LS Central, Oracle Xstore, Foodics, custom)Database read access or vendor API; LS Central through Business CentralNightly, with intraday for same-day sales where the API allowsReturns 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)NightlyLanded 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 connectorHourly or dailyOrder 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 folderWeekly or per settlement cycleSettlement reports are net; gross sales, fees and returns are reconstructed from the order-level report.
WMSDatabase read access or APINightlyLot 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 sheetsRead from a fixed folder by Power QueryDailyThe 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.

Retail Operations
Retail Ops
Retail Operations

Interactive analytics and key metrics overview.

PROCESSING
47k/hr
+1.2%vs last mo
RISK SCORE
6/100
-2.2%vs last wk
SYSTEM LOAD
47%
+1.6%vs target
THROUGHPUT
709 MB/s
+0.9%yoy

Retail Performance

Core metrics tracking

Live view
PrimarySecondary

Regional Distribution

Click a bar to focus (Top 7)

Live view
Ahead of averageAround averageBehind averageVolumehigher is better

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?
Yes. The model takes the purchase price converted at the booking rate under your FX policy, adds freight, duty, clearing and inbound handling allocated to the lot from the shipment and clearing invoices, and sets the result against net sales by SKU, brand and customer. Where landed cost lives in a spreadsheet today, the sheet is structured and reconciled to the purchase ledger rather than replaced.
Can we track post-dated cheques and credit exposure?
Yes. Cheques on hand are loaded from the ERP or the cheque register with maturity date and status, and the model reports exposure per customer as open invoices plus cheques not yet due against the credit limit, with cheques aged by maturity and returned cheques listed. Cheques not yet due are kept out of the overdue figure, so arrears and exposure are two different numbers, as they should be.
Can it connect to Tally and our POS?
Yes. Tally connects through its ODBC driver via the on-premises gateway for scheduled refresh; SAP Business One, Odoo, Business Central and NetSuite through their databases or APIs. LS Central connects through Business Central, Oracle Xstore through its reporting database, Foodics through its API, and a custom POS through SQL views. Returns and exchanges are recorded differently by each POS, so net sales is defined once, in writing, before the build.
Can we compare Ramadan to last year properly?
Yes. The date table carries Ramadan and both Eids as attributes, so a Ramadan month is compared with the previous year’s Ramadan month rather than the same calendar month, and like-for-like is also weekend-aligned so a month with an extra Saturday does not move the figure on its own. The comparable-period toggle on each page says which comparison is in force.
Can one model cover stores, online and wholesale?
Yes, and it should, because channel contribution only means something when every channel is on the same basis. Stores from the POS, online from the platform and marketplace order reports, and wholesale from the ERP are loaded into one model with a channel dimension, net sales defined the same way for each, and fees, delivery and returns deducted per channel. Entities and warehouses are dimensions on the same model, with row-level security by entity, store or channel.
What does it cost?
A fixed price, quoted after a short call and a look at your systems. The scope itemises the business shapes in scope, the sources and how each connects, the FX policy and landed-cost rule, the entities, stores and channels covered, the pages and mobile layouts, and the calendar logic. The quote is the price; anything outside the scope is quoted separately before it is done.

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.