What each exception actually needs
An exception queue that contains everything unusual is a queue nobody works. The triage step exists to make it short enough that the items in it get acted on the same day.
Key takeaways
- First attempted delivery resolves itself most of the time. Wait one cycle.
- Address problems and refusals need somebody today; the carrier is holding stock.
- A stuck shipment needs a trace raised, and traces have their own deadlines.
- Never-collected needs a warehouse check, not a carrier call.
- Keep the queue short enough to clear daily, or it stops being worked at all.
Four categories
| Exception | Self-resolves? | Action | When |
|---|---|---|---|
| First attempted delivery | Usually | None; wait for the next attempt | Next cycle |
| Second attempted delivery | No | Contact the customer to arrange | Same day |
| Address problem | Never | Correct the address with the carrier | Within hours |
| Refused by recipient | Never | Find out why; it is often the wrong item | Same day |
| No scan, over threshold | Sometimes | Raise a trace | Same day |
| Never collected | No | Check the warehouse | Within hours |
| Damaged in transit | No | Replace, then claim | Same day |
The first row is the one that determines whether this system is usable. First failed delivery attempts are common and most of them succeed on the next attempt without anybody doing anything. Treating them as exceptions requiring action produces a queue several times larger than the one that matters.
The queue has to stay short
This is the whole argument for triage and it is worth being explicit about, because the instinct when building a monitoring system is that more visibility is better. Beyond a certain queue length the visibility becomes zero, all at once, when the person responsible stops opening it.
Waiting is an action
Items that are expected to self-resolve are not discarded; they are held with a recheck time. A first attempted delivery is rechecked after the next delivery cycle, and if it attempted again and failed again, it comes back into the queue as a second attempt, which is a different category with a different action.
That distinction is easy to build and easy to get wrong. Dropping self-resolving exceptions entirely means the second failure looks like the first one, and the customer waits another cycle for no reason.
Address problems are urgent
- App integration
- Machine learning
- Management
The fourth box is the judgement that most businesses get wrong by default. Waiting for a parcel to come back so it can be sent out again is intuitive and adds seven to ten days to a customer’s wait. Reshipping immediately and dealing with the return separately is almost always cheaper once the support time and the goodwill are counted.
Refusals are usually information
A refused delivery is rarely somebody who changed their mind at the door. It is usually the wrong item, an unexpected charge, a duplicate they already received, or a delivery to a business that has no record of ordering it.
So the action is to find out which, and the finding frequently belongs somewhere else entirely — a picking error, a duplicate order, a customs charge nobody warned about. Treating refusals as a delivery problem misses that most of them are not.
Next: telling the customer.
All posts