How to calculate On-Time Delivery Rate

On-time delivery rate is the percentage of deliveries that arrived on or before the promised date.

Formula

On-time rate = deliveries on or before promised date ÷ deliveries with a delivery date × 100

SQL query

This example assumes: deliveries(id, carrier, promised_date, delivered_date). It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.

SELECT carrier,
       COUNT(*)                                                    AS deliveries,
       COUNT(*) FILTER (WHERE delivered_date <= promised_date)     AS on_time,
       COUNT(*) FILTER (WHERE delivered_date <= promised_date) * 100.0
         / NULLIF(COUNT(*), 0)                                     AS on_time_pct
FROM deliveries
WHERE delivered_date IS NOT NULL
GROUP BY carrier
ORDER BY on_time_pct;

Common mistakes that make On-Time Delivery Rate wrong

  • Deliveries with no delivery date must be reported separately, not silently counted as late or on time.
  • Promised date must be the date the customer was promised, not a rescheduled one.
  • Carriers with few deliveries show extreme percentages; show the count.

Ask for On-Time Delivery Rate in plain English

Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.

  • What was our on-time delivery rate last week, by carrier?
  • Which lanes have the most late deliveries?

Frequently asked questions

What is On-Time Delivery Rate?
On-time delivery rate is the percentage of deliveries that arrived on or before the promised date.
How do you calculate On-Time Delivery Rate?
On-time rate = deliveries on or before promised date ÷ deliveries with a delivery date × 100. The SQL example on this page shows the same calculation against a simple table.
What commonly goes wrong when calculating On-Time Delivery Rate?
Deliveries with no delivery date must be reported separately, not silently counted as late or on time.