Skip to content

Part 3 of 7 · Delivery exception handler series ~5 min read

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

ExceptionSelf-resolves?ActionWhen
First attempted deliveryUsuallyNone; wait for the next attemptNext cycle
Second attempted deliveryNoContact the customer to arrangeSame day
Address problemNeverCorrect the address with the carrierWithin hours
Refused by recipientNeverFind out why; it is often the wrong itemSame day
No scan, over thresholdSometimesRaise a traceSame day
Never collectedNoCheck the warehouseWithin hours
Damaged in transitNoReplace, then claimSame 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

A day's exception queue before and after triageA stacked bar chart with two bars. Two series: items needing action today in red, and items that will resolve without intervention in grey. All anomalies: twelve needing action and ninety-six that will resolve themselves. After triage: twelve needing action and four remaining. A note says the same twelve real problems appear in both, and one of these queues gets worked while the other does not.050100150200~108All anomalies~16After triageNeed action todayWill resolve without usSame twelve real problems. One of these queues gets worked and one does not.
Fig 1. The effect of triage on a day’s queue. The twelve items needing action are identical in both; only one version of the queue is short enough that somebody clears it.

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

How an address problem exception is resolved before the carrier's hold expiresA vertical chain of five steps entered by a box labelled Address problem, the carrier cannot deliver. Step one asks whether we have a better address in the order history; if not it exits to Ask the customer by whatever reaches them. Step two corrects it with the carrier, whose window is short. Step three asks how long it is held, usually three to five days. Step four asks whether it is past the hold window, after which it returns to sender; if so it exits to Reship, do not wait, because the return takes a week. Step five arranges redelivery and tells the customer. A note says the hold window is short and unforgiving, and after it everything takes another week.AWS ACCOUNTAddress problemcarrier cannot deliverDo we have a better one?check the order historyAsk the customerby whatever reaches themnoCorrect it with the carriertheir window is shortHeld how long?usually 3-5 daysPast the hold window?it returns to senderReship, do not waitthe return takes a weekyesRedelivery arrangedcustomer toldThe hold window is short and unforgiving. After it, everything takes another week.
Fig 2. Why address problems are treated as urgent. The carrier’s holding period is the constraint, and missing it converts a one-day fix into a two-week round trip.
  • 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