The eight delivery KPIs most worth tracking are on-time rate, first-attempt success rate, failed-delivery rate, cost per successful delivery, order-to-delivery time, exception rate, proof-of-delivery completeness and customer contact rate. Each takes one division or one subtraction. Together they show whether your delivery is fast, reliable and affordable.
The short version
- Track a handful of numbers consistently rather than many numbers occasionally.
- Define each KPI with a numerator, a denominator and a period, and keep the definition fixed.
- Divide cost by orders delivered, not orders sent, so that failed deliveries show up in the figure.
- Look at the spread as well as the average. A good average can hide bad days.
- Use your own baseline first. Compare against your own last month before comparing with anyone else.
The eight KPIs at a glance
| KPI | Formula | What it tells you |
|---|---|---|
| 1. On-time rate | Orders delivered within the promised window ÷ orders delivered | Whether you keep your promise |
| 2. First-attempt success rate | Orders delivered on the first attempt ÷ orders dispatched | How clean your addresses, access and timing are |
| 3. Failed-delivery rate | Orders not delivered on the first attempt ÷ orders dispatched | How much repeat work you create |
| 4. Cost per successful delivery | Total delivery charges ÷ orders delivered | What a delivered order really costs |
| 5. Order-to-delivery time | Delivery timestamp − order timestamp (use the median and a high percentile) | How fast the whole chain runs |
| 6. Exception rate | Orders with an exception ÷ orders delivered | How often something goes wrong |
| 7. Proof-of-delivery completeness | Deliveries with photo and timestamp ÷ orders delivered | Whether you can settle a dispute |
| 8. Customer contact rate | Delivery-related contacts ÷ orders delivered | How much your customers have to chase |
A worked example
Illustrative numbers
Imagine a store dispatches 500 orders in a month. These figures are made up to show the arithmetic.
- 470 orders are delivered on the first attempt. 24 more are delivered on a retry. 6 come back undelivered. So 494 orders are delivered.
- 455 of the 494 delivered orders arrive inside the promised window.
- The delivery charges for the month add up to $5,000.
- 18 orders have an exception such as damage, a missing item or an address problem.
- 37 customers contact the store about delivery.
- 490 of the 494 deliveries have a photo and timestamp.
| KPI | Calculation | Result |
|---|---|---|
| On-time rate | 455 ÷ 494 | 92.1% |
| First-attempt success rate | 470 ÷ 500 | 94.0% |
| Failed-delivery rate | 30 ÷ 500 | 6.0% |
| Cost per successful delivery | $5,000 ÷ 494 | $10.12 |
| Exception rate | 18 ÷ 494 | 3.6% |
| Customer contact rate | 37 ÷ 494 | 7.5% |
| Proof-of-delivery completeness | 490 ÷ 494 | 99.2% |
Notice what happens to cost. The store paid for 500 dispatches but only 494 orders were delivered, so the cost per successful delivery is higher than the cost per dispatch. Dividing by orders delivered is what makes failed attempts visible.
KPI by KPI: what to do with each
1. On-time rate
Decide first what "on time" means: delivered inside the window you promised the customer. A same-day order delivered the next morning is late even if it arrived early in the day. If the rate drops, look at pickup timing, cutoffs and window width before blaming the route. See how to set a delivery cutoff.
2. First-attempt success rate
This is the cleanest signal of address quality, access instructions and whether someone is there to receive the order. Fixes are usually cheap: collect an apartment number and a buzzer code at checkout, ask for a phone number, and send the tracking link. Failed deliveries covers the causes.
3. Failed-delivery rate
This is the mirror image of KPI 2. It is worth tracking separately when you want to see the share of orders that cause extra work, and which reasons come up most: no one home, wrong address, refusal, access problem.
4. Cost per successful delivery
Use total delivery charges for the period, including charges on attempts that failed, divided by orders delivered. Compare it by zone and by order type. If you want to understand what moves the number, how courier delivery is priced lists the drivers.
5. Order-to-delivery time
Measure the time from the order being placed to the delivery timestamp. Report the median (the middle value) and a high percentile such as the 90th, which is the time inside which nine out of ten orders arrive. The median shows the typical order. The high percentile shows the slow tail your customers remember.
6. Exception rate
An exception is any order that did not go as planned: a damaged item, a missing item, a refused delivery, an address problem. Tag each exception with a reason. A rate with no reasons tells you something is wrong but not what.
7. Proof-of-delivery completeness
Every delivery should have a photo and a timestamp. If completeness is below 100%, find out why before a dispute makes it matter. See proof of delivery.
8. Customer contact rate
Count the messages your customers send about delivery, such as "where is my order?". A per-order tracking link and proactive notifications should push this number down. If it climbs while on-time rate stays steady, the issue is communication, not delivery.
Common traps
- Changing a definition halfway through the year. Write the definitions down and keep them.
- Using the wrong denominator, especially for cost.
- Watching only the average. Check the worst day of the month too.
- Tracking too many numbers. Start with the eight above, or even with three: on-time rate, first-attempt success and cost per successful delivery.
- Comparing against outside "benchmarks" before you have your own baseline. Your mix of zones, products and windows is specific to you.
Where the data comes from
Some of it sits in your own store platform: order timestamps, charges, customer messages. The rest comes from the courier. recourier.ca provides reporting on on-time rate, delivery windows and exceptions, and a photo and timestamp for each proof of delivery. The platform page lists what is available.
Frequently asked questions
What is the most important delivery KPI?
There is no single answer, but on-time rate and cost per successful delivery are the two most stores start with, because one measures the promise and the other measures what it costs to keep it.
How do I calculate on-time delivery rate?
Divide the number of orders delivered inside the promised window by the number of orders delivered, for a set period. Decide beforehand what the window is.
What is first-attempt success rate?
It is the share of dispatched orders delivered on the first try: orders delivered on the first attempt divided by orders dispatched.
Why divide cost by orders delivered instead of orders sent?
Because you pay for failed attempts too. Dividing by orders delivered puts that cost into the figure.
What is a good on-time rate?
It depends on your promise, your zones and your windows. Start by measuring your own baseline for a month, then set a target you can improve on.
recourier.ca reports on-time rate, delivery windows and exceptions. Tell us what you want to track and we will set it up with your route.