EnableYourData.com

KPI · Inventory, purchasing and production

Supplier lead time: formula and example.

Supplier lead time is the number of days between placing a purchase order and receiving the goods. As a KPI you take the average per supplier, ideally together with its spread. Lead time determines how early you need to reorder and how much safety stock you need.

Supplier lead time formula

Sum of (receipt date − order date) across received purchase orders ÷ number of received purchase orders

Worked example

In May 2026 Acme Groothandel placed three orders with an office supplies supplier. They arrived after 12, 15 and 18 days. The average lead time is (12 + 15 + 18) ÷ 3 = 15 days.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A shorter and above all more stable lead time lets you hold less stock. The spread matters as much as the average: a supplier that takes 10 days one time and 30 the next needs more buffer than one that always takes 20. Compare measured lead time with what is in your system and what the supplier promises.

Pitfalls with supplier lead time

  • Using only the average, when it is the outliers that cause stockouts.
  • Mixing calendar days and working days.
  • Not updating the system lead time to the measured value, so reorder suggestions come too late.

SQL & DAX

Calculating supplier lead time in SQL and 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.

SQL · PostgreSQL
SELECT s.name AS supplier,
       COUNT(*) AS received_pos,
       ROUND(AVG(po.received_date - po.order_date), 1) AS avg_lead_time_days,
       PERCENTILE_CONT(0.9) WITHIN GROUP (
         ORDER BY po.received_date - po.order_date) AS p90_lead_time_days
FROM purchase_orders po
JOIN suppliers s ON s.supplier_id = po.supplier_id
WHERE po.received_date IS NOT NULL
  AND po.order_date >= current_date - interval '12 months'
GROUP BY s.name
ORDER BY avg_lead_time_days DESC;
DAX · Power BI
Received POs = CALCULATE(COUNTROWS(PurchaseOrders), NOT ISBLANK(PurchaseOrders[ReceivedDate]))
Supplier Lead Time (days) = DIVIDE(SUMX(FILTER(PurchaseOrders, NOT ISBLANK(PurchaseOrders[ReceivedDate])), DATEDIFF(PurchaseOrders[OrderDate], PurchaseOrders[ReceivedDate], DAY)), [Received POs])

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for supplier lead time 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.

Read more →

In your Power BI dashboard

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.

Read more →

Custom dashboards (pilot)

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.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate supplier lead time?

For each purchase order, subtract the order date from the receipt date and average across all received orders. Also calculate a high percentile, such as the 90th, to see the outliers. Do this per supplier and, if useful, per product group.

What is the difference between lead time and on-time delivery?

Lead time measures how long it takes from ordering to receiving. On-time delivery measures whether the supplier meets the agreed date. A supplier with a long but predictable lead time can be very reliable.

How is lead time used in reordering?

The reorder point is expected demand during the lead time plus safety stock. The longer and less certain the lead time, the higher the reorder point needs to be. That is why it pays to update the measured lead time in your system regularly.

Use AI on your own data. Securely, and without the headache.

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.