DEV Community

Serguey Shinder
Serguey Shinder

Posted on

Our Customers' Opening Hours Were Not the Hours They Took Deliveries

Every delivery address in our customer system has an opening time and a closing time. Route planning reads them, and will not schedule a drop outside them. The fields were added when most of our customers were shops and small trade counters, and for a shop the hours on the door are the hours it takes deliveries.

Last year an analyst looking at failed first attempts noticed that about a third of them happened at the same kind of place: supermarkets, garden centres, builders' merchants and hospitals. Our drivers arrived inside the opening hours we held, and were turned away at the back door. A supermarket that opens from seven until ten will often only receive goods between five and eleven in the morning. A hospital stores department we deliver to closes its dock at two, while the hospital itself never closes. Every one of those failed drops cost us a second journey, and on some contracts a penalty as well.

The data was not wrong. The hours were exactly what the customers had given us, because the account form asked for opening hours, and a supermarket manager answers that question with the times on the door. The field had one meaning when it was created and a different one for the customers we had since won, and nothing in the system could tell the two apart. Drivers knew most of these sites by heart, which is why the problem stayed hidden until routes began to be planned by people who had never driven them.

Addresses now hold receiving hours separately from opening hours, and the planner reads only receiving hours. Each can carry different times for different days, and a site can hold more than one window, because several of our customers take deliveries early and again after lunch. The account form asks when a lorry can unload, in those words. Where a driver records a refusal for being outside hours, the handset asks for the hours posted at the dock, and that answer goes to the customer data team to confirm. We back filled the four hundred sites with the most failed attempts by ringing them.

First attempt failures at those sites fell by more than half in three months.

A field answers the question it was named for. Ours had been answering a question we had stopped asking.

– Serguey Shinder

Top comments (0)