Purpose
The longest stretch of the customer journey was also the least visible one. This specification existed to make the wait a first-class product object with one calculation, one publishing path, and one definition of late.
The problem
The estimate lived in several places at once: a marketing promise, a support macro, a regional spreadsheet, and whatever the last person told the customer. When any one of them moved, the others did not. Customers were not upset about the wait so much as about being given three answers to one question.
The thinking
- One engine calculates the estimate. Everything that displays a date reads from it rather than storing its own copy.
- Show a bucket, not a false precision. A range the operation can hold beats a specific day it cannot.
- Define late explicitly, then let the system detect it rather than waiting for the customer to notice.
- Give support the same view the customer sees, because divergence between the two is what turns a delay into a complaint.
- Notify on change, not on schedule. The message worth sending is the one that carries new information.
- Instrument the wait so the operation can see where orders actually stall rather than where it assumes they do.
What was created
- 01
A requirement definition
Inputs, calculation ownership, refresh conditions, display rules, and notification triggers written as a specification rather than as a feature request.
- 02
A bucketed state model
Ahead of estimate, inside the window, at risk, and past the window, each with a defined customer message and a defined internal action.
- 03
A status mapping
A translation from internal order states into a small set of customer-legible states, so system vocabulary never leaked into a customer view.
- 04
A proactive notice rule
A predicted breach fires a corrected estimate before the original date passes, which moves the conversation onto the operation's terms.
Selected artifacts
Shared framework · The same structure also supports Service Level Framework.
Key decisions
- 01
Ranges over exact dates
An exact date is a promise made on behalf of a supply chain that has not agreed to it. A range the operation can hold is more useful to the customer than a precise date it will miss.
- 02
Support sees the customer view
Giving support a richer internal view sounds helpful and produces contradictory answers. The internal view adds context, never a different date.
- 03
Notify on change only
A weekly status message that says nothing new trains customers to ignore the channel that will later carry the message that matters.
What it informed
- Gave the wait-period communication cadence a factual source instead of a reassuring tone.
- Provided the operational definition of late used in service level work.
- Addressed the largest preventable category found in the dispute analysis.
Reflection
This is the concept I would still build first. It is unglamorous, it does not demo well, and it removes more customer anxiety per unit of engineering effort than anything else on the list. The hard part was never the calculation. It was getting agreement that only one team owns the date.
Related work
- Customer OperationsService Level Framework →
A single response baseline for every task, the exceptions that earn a tighter clock, and the rule that a task may stay open but not stay untouched.
- Customer OperationsDispute and Chargeback Loss Analysis →
Reading lost disputes as an operational defect log rather than a finance problem, and mapping each reason code back to the moment in the order path where the customer lost confidence.
- Customer OperationsCustomer Journey Operating System →
A complete communication architecture spanning purchase through long-term customer success, designed as an operating system rather than a set of messages.

