Plain-language questions
Ask for shipping cost per order per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.
KPI · Logistics
Shipping cost per order is the total amount you pay carriers divided by the number of orders shipped. It is your own cost, not what you charge the customer. It shows how much of each order's margin goes on transport.
Total shipping cost in the period ÷ number of orders shipped in the period
In May 2026 Acme Groothandel paid carriers €27,200 for 3,400 orders shipped. Shipping cost per order is €27,200 ÷ 3,400 = €8.00.
Fictitious figures for Acme Groothandel, a sample wholesaler.
Lower shipping cost per order leaves more margin, but only if on-time delivery and damage do not get worse. It often rises because of more split shipments, heavier or bulkier parcels or more international deliveries. Compare by carrier, country and parcel type, and with what customers pay you for delivery.
SQL & DAX
Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.
SELECT date_trunc('month', shipped_at) AS month,
SUM(cost) AS shipping_cost,
COUNT(DISTINCT order_id) AS orders_shipped,
ROUND(SUM(cost) / NULLIF(COUNT(DISTINCT order_id), 0), 2) AS shipping_cost_per_order,
ROUND(SUM(cost) / NULLIF(COUNT(*), 0), 2) AS cost_per_shipment
FROM shipments
WHERE shipped_at IS NOT NULL
GROUP BY 1
ORDER BY 1;Shipping Cost = SUM(Shipments[Cost])
Shipping Cost per Order = DIVIDE([Shipping Cost], DISTINCTCOUNT(Shipments[OrderID]))In ENABLE
Ask for shipping cost per order per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.
Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.
Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.
With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.
FAQ
Add up all carrier costs for a period, including surcharges, and divide by the number of orders shipped. Use the amounts on carrier invoices, not rates from a price list. Divide by orders rather than shipments to see what a customer order really costs.
One order can go out in several shipments, for example because of back orders or multiple boxes. Cost per shipment tells you about carrier rates, cost per order about what a customer order really costs. If the two drift apart, you are splitting orders more often.
Start with the number of shipments per order and the box size, because you control those. Then compare carrier rates by country and weight band. A minimum order value for free delivery also changes the order mix.
In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.