For DTC founders and operators · A field guide

THEKEPTPROMISE

Delivery you can count on, contacts you never get, and what to do when it breaks anyway.

Andrew LauchnerAuthor of The Second Order and The Whole MachineSeptember 2026 · 15 chapters · About 70 minutes

A note before you start

Every order is a promise: this thing, in this condition, by this date. Keep it and the customer barely notices. Break it and they notice twice, once when it happens and again when they decide whether to order from you next time.

5–10%
less spent afterward by Uber riders whose trips ran furthest past the promised arrival time (Halperin and colleagues, 2022, a study of 1.5 million riders)
70%
cut in contacts per order at Amazon during the three years Bill Price ran its customer service (Price, 2005)

Those two numbers are the guide in miniature. The first says a broken promise costs repeat revenue even when the product itself was fine: the car came, the rider got there, just later than the app had said. The second says the contacts a broken promise creates are not a fact of life. Most of them come from things other teams did: a date the site shouldn’t have shown, a package that left the warehouse late, a tracking page that said nothing. Fix the cause and the contact never happens.

So this guide treats delivery, support contacts and recovery as one system: count every failure in one weighted number, promise dates you can keep, tell customers bad news first, send each contact reason back to the team that causes it, and make things right without believing that a good recovery beats no failure at all.

The promise kept is the retention metric. Everything else is a report on it.

It builds on The Second Order, which covers the second purchase and cohorts, and The Whole Machine, which covers contribution margin and the core flows. Returns have their own guide in this series, at /returns; they appear here only where a wrong or damaged order creates one.

How to read it

Start with The Promise Audit. Your lowest checks name the chapters to read first. Or follow a path:

Four tools run in the page. Nothing you type leaves your browser.

What’s proven and what isn’t

Examples that open with Say or Picture use made-up round numbers. Every source is listed in Appendix C. The section on the FTC’s shipping rule is an operator’s summary as of September 2026, not legal advice.

Andrew LauchnerScottsdale, Arizona
Front

TEN POSITIONS

What this guide argues, and what would prove each claim wrong.

A position says what would prove it wrong. Test each on your own store.

  1. A broken delivery promise costs repeat revenue, not just a support ticket.Wrong if customers whose first order was late reorder as often as matched customers whose first order was on time.
    What a Broken Promise Costs
  2. Count every kind of failure in one weighted number, not on-time rate alone.Wrong if your on-time rate and your contacts per order have always moved together, week for week.
    One Number for Every Failure
  3. An accurate delivery date beats a fast one you miss.Wrong if a later, safer checkout date cost more in conversion than it earned in repeat orders.
    An Accurate Date Beats a Fast One
  4. Tell customers about a delay before they find it.Wrong if a random group that got no delay notice contacted you no more, and reordered no less, than the group that did.
    Bad News First
  5. Showing the work makes waiting easier to accept.Wrong if customers who can see where their order is contact you as often as customers who can’t.
    Show the Work
  6. Most support contacts are broken promises made elsewhere in the business.Wrong if fewer than half your contacts, by reason code, trace to a decision made outside support.
    Contacts per Order
  7. Every contact reason needs an owner outside support, with a target.Wrong if contacts fall as fast when support owns every reason as when each causing team owns its own.
    Every Reason Has an Owner
  8. A recovered customer is worth less than a customer you never failed.Wrong if customers who had a failure and a good recovery reorder more than matched customers who had no failure.
    The Recovery Paradox, Checked
  9. An apology works when something comes with it, and stops working when you repeat it.Wrong if an apology with no credit, or a third apology to the same customer, raises their later spending against a holdout.
    How to Apologize
  10. Pay the whole team on the promise kept, not only the people who answer the phone.Wrong if a shared bonus tied to one delivery number doesn’t move that number within two quarters.
    Paying for the Promise
Front

THE PROMISE ON ONE PAGE

Six moments between the checkout and the next order. Each has a promise, a number that says whether it was kept, and a team that owns it.

Most brands measure the first moment and the fifth. The four in between are where promises break.

Every chapter, on its own page

The whole book is above and always will be. These are the same chapters addressed individually, for linking to one idea rather than to ninety.

  1. TEN POSITIONSWhat this guide argues, and what would prove each claim wrong.
  2. THE PROMISE ON ONE PAGESix moments between the checkout and the next order. Each has a promise, a number that says whether it was kept, and a team that owns it.
  3. THE PROMISE AUDITTwelve checks on whether your store keeps its delivery promises, knows when it doesn’t, and makes it right. About forty minutes with your order data, your help desk and a phone.
  4. WHAT A BROKEN PROMISE COSTSThe refund and the reship are the small part. The large part is the next order that never comes, and you can measure it on your own store.
  5. ONE NUMBER FOR EVERY FAILUREFedEx counted every kind of failure, weighted by how much it hurt, in one daily number. The idea fits a DTC brand almost unchanged.
  6. AN ACCURATE DATE BEATS A FAST ONESpeed sells. A missed date costs more than speed earns. Set the checkout date from your own delivery data, at the share of orders you’re willing to be wrong about.
  7. BAD NEWS FIRSTThe worst way for a customer to learn an order is late is by waiting for it. Tell them the day you know, with a new date and a choice. The law already requires most of this.
  8. SHOW THE WORKCustomers value work they can see. A tracking page that shows real progress buys patience; a page that says “label created” for three days spends it.
  9. CONTACTS PER ORDERSupport teams are usually measured on how fast they answer. The number that matters is how often customers need to ask, and why.
  10. EVERY REASON HAS AN OWNERSupport answers the contact. The team that caused it has to remove it. Put a name, a target and a date next to every reason code.
  11. EFFORT, MEASURED CAREFULLYMaking things easy for customers is the right goal. The famous single-question survey built to measure it predicts retention poorly. Measure effort by what customers had to do.
  12. THE RECOVERY PARADOX, CHECKEDA great recovery can leave a customer more satisfied than no failure at all. It doesn’t leave them more likely to buy again. Plan on recovery softening the loss, never reversing it.
  13. THE RECOVERY GRIDWhat each failure gets, written down, so recovery doesn’t depend on who picks up or how loudly the customer complains. Plus a budget each agent can spend without asking.
  14. HOW TO APOLOGIZEA field experiment with 1.5 million Uber riders tested apologies for late trips. Words alone did little. A credit helped. Apologizing again and again made things worse.
  15. PAYING FOR THE PROMISEIn 1995 Continental Airlines promised a monthly bonus to every hourly employee, all 35,000 of them, if the company hit one shared goal. Theory said a bonus shared that widely shouldn’t work. It did.
  16. THE PROMISE SCORECARDOne page, every week. Each number with its denominator, split by the lane where it’s worst, and one quarterly line that says what failures cost in repeat orders.
  17. THE FIRST THIRTY DAYSMeasure, then promise, then route the contacts, then write down how to make it right. Four weeks, in that order.
  18. DAY ONESix things whoever owns the promise needs on the first day.
  19. THE SHELFThe books and papers worth reading next, and what to take from each.
  20. ABOUT THE AUTHOR
  21. FOR YOUR ANALYSTThe formulas behind the four calculators, and four queries every store should be able to run.
  22. TEMPLATESDelay notices, apologies, reason codes and the delivery check. Copy them into whatever your team already uses.
  23. SOURCESEvery external source, by chapter. Web sources were read in September 2026.
MomentThe promiseThe numberOwner
1. The checkoutA delivery date, stated or impliedShare of orders delivered by the date shownEcommerce, with operations
2. The warehouseThe right items, packed to survive, out on timeShip-on-time rate; wrong-item and short-ship rateFulfillment or the 3PL
3. The carrierTransit in the days the date assumedTransit time at the median and the 90th percentile, by laneOperations
4. The doorstepArrives intact, all of it, onceDamaged, lost and split-shipment ratesOperations and packaging
5. The contactAn answer without chasingContacts per order, by reasonThe team that caused the reason
6. The recoveryMade right, fast, onceRepurchase after each failure typeSupport, with a budget

The moments feed each other. An overconfident date at moment 1 becomes a late delivery at moment 3, a contact at moment 5 and a credit at moment 6.

The contact queue is where the business’s broken promises arrive. It’s rarely where they’re made.

Do this

Start here · Chapter 1

THE PROMISE AUDIT

Twelve checks on whether your store keeps its delivery promises, knows when it doesn’t, and makes it right. About forty minutes with your order data, your help desk and a phone.

The audit isn’t about how fast you ship. It’s about whether the checkout promise matches what arrives, whether you hear about the gap before the customer does, and whether anyone outside support feels it when it breaks.

Open your order export, shipping platform, help desk and your checkout on a phone. Score each check 0 to 2: 0 if it failed or nobody can answer it, 1 if partly true, 2 if clean.

A promise nobody measures is a guess you made on the customer’s behalf.

The twelve checks

  1. You know your on-time rate against the date you showed · 4 minLook at: Last month’s delivered orders, with the delivery date the checkout showed and the date the carrier scanned delivery.
    Good: Someone can give the share delivered by the promised date, split by carrier and shipping method, today.
    Cost if wrong: You track speed and miss the broken promises customers remember.
    Read next: An Accurate Date Beats a Fast One
  2. One weighted failure number · 4 minLook at: Your weekly operations report.
    Good: Late, very late, wrong, damaged, missing and unannounced split orders are counted in one index, weighted by how much each hurts, and reported per 1,000 orders.
    Cost if wrong: The team improves on-time rate while damage and wrong items grow unseen.
    Read next: One Number for Every Failure
  3. Repurchase is measured after each failure type · 5 minLook at: Whether anyone has compared repeat rates of customers whose first order failed and didn’t.
    Good: A table exists, by failure type, with a matched comparison group, refreshed each quarter.
    Cost if wrong: Unpriced failures lose every budget argument to acquisition.
    Read next: What a Broken Promise Costs
  4. The checkout date comes from data, not a template · 3 minLook at: Your product page and checkout on a phone, for an address near your warehouse and one far away.
    Good: The date changes with address and cutoff time, set from your own transit data.
    Cost if wrong: A fixed “3 to 5 business days” is broken for every far-away customer, every week.
    Read next: An Accurate Date Beats a Fast One
  5. Delay notices go out before the customer asks · 3 minLook at: The last time a shipment stalled or an item went out of stock after purchase.
    Good: An automatic message went out the day the delay was known, with a new date and a choice.
    Cost if wrong: The customer finds out by waiting, then contacts you, angrier.
    Read next: Bad News First
  6. Your delay process meets the FTC shipping rule · 4 minLook at: Your stated ship times, your backorder and preorder flow, and your refund timing.
    Good: You ship within the time stated or 30 days; when you can’t, the customer gets a revised date and the option to cancel for a prompt refund.
    Cost if wrong: Civil penalties per violation, and a pattern regulators find easy to prove.
    Read next: Bad News First
  7. The tracking page says something useful · 3 minLook at: The tracking link from your last shipping email, opened on a phone.
    Good: It shows your brand, the expected date, each step so far in plain words, and how to get help.
    Cost if wrong: “Label created” for three days reads as nothing happening, and becomes a contact.
    Read next: Show the Work
  8. Contacts per order, by reason, every week · 4 minLook at: Your help desk’s reporting.
    Good: Every ticket, chat and call has one primary reason code, and contacts per order is reported weekly for each reason.
    Cost if wrong: You staff up for volume instead of removing its causes.
    Read next: Contacts per Order
  9. Each reason has an owner outside support · 3 minLook at: Your top five contact reasons.
    Good: Each has a named owner in the team that causes it, with a target and a review date.
    Cost if wrong: Support absorbs the cost of other teams’ decisions forever.
    Read next: Every Reason Has an Owner
  10. Agents have a recovery grid and a budget · 3 minLook at: What an agent can offer without asking a manager.
    Good: A written grid says what each failure gets, and each agent has a monthly budget to spend beyond it.
    Cost if wrong: Recovery depends on who picks up and how hard the customer pushes.
    Read next: The Recovery Grid
  11. Apologies carry a remedy, and repeat failures are flagged · 3 minLook at: Your apology templates and your customer records.
    Good: Every apology comes with a fix or a credit, and an agent can see when this customer was last failed.
    Cost if wrong: Words alone do little, and the same apology twice does harm.
    Read next: How to Apologize
  12. Someone outside support is paid on the promise · 2 minLook at: Bonus and review criteria for operations, fulfillment and ecommerce.
    Good: At least one delivery or failure number sits in their goals, and ideally a shared one for everybody.
    Cost if wrong: The people who can prevent failures are paid for speed and cost alone.
    Read next: Paying for the Promise

Score as you go; your band appears when all twelve are in.

Run your numbers

Score the twelve checks

0: failed, or nobody can answer it. 1: partly true. 2: clean. Scores stay in this browser.
0
of 24 points
0 of 12
checks scored

Read your score

ScoreWhat it meansRead next
20–24You keep your promises and know when you don’t. Your job now is pricing each failure and paying the whole team on the index.What a Broken Promise Costs, then Paying for the Promise
14–19The basics are in place, but some failures reach customers before they reach you. Fix the zeros first.The chapter linked from your lowest check, then One Number for Every Failure
8–13Support is absorbing failures made elsewhere, and nobody can say what they cost. Start counting.Part one, starting at What a Broken Promise Costs
0–7You don’t yet know which promises you’re breaking. Measure on-time against the date you showed, and send delay notices, this month.An Accurate Date Beats a Fast One, then The First Thirty Days

If you use a 3PL, checks 1, 2 and 4 depend on data they hold. Put it in the contract: order-level ship scans, delivery scans and error codes, daily.

Part one · Count what breaks · Chapter 2

WHAT A BROKEN PROMISE COSTS

The refund and the reship are the small part. The large part is the next order that never comes, and you can measure it on your own store.

Ask a team what a late order costs and they’ll add up the credit, the agent’s time and maybe a reship. The cost they can’t see is the customer who quietly orders less often afterward. It shows up months later, in a cohort report nobody connects to the day the package was late.

What the research finds

Two details matter later. Harter’s team, and a study of ratings at a South American online retailer by Serkan Akturk and colleagues, both found that the damage from lateness grows more slowly as the delay gets longer Published. The first day late does a large share of the harm, which makes the promised date in chapter 4 the cheapest lever in this guide. And Norvell’s result previews chapter 10: recovery softens a failure but doesn’t erase it.

A late order doesn’t cost you a refund. It costs you part of the next order, and the one after that.

Measure it on your own store

Studies give the direction. Your own data gives the size, and the size wins budget. The method is a failure cohort:

  1. Take first-time customers from a full year agoSo everyone has had twelve months to come back.
  2. Label what happened to that first orderOn time, late 1 to 2 days, late 3 or more, wrong or missing, damaged, lost, split without warning. One label per order, the worst.
  3. Compare repeat rates within matched groupsLate orders cluster in far regions and peak weeks. Compare within the same month, region and first product.
  4. Read the gap, with its uncertaintyPool quarters until each group has a few hundred customers.

Matching narrows the bias without removing it. The cleanest evidence comes from failures you didn’t choose, like a carrier’s regional outage: customers caught in it were failed more or less at random. Keep a dated list of such events. The query is in Appendix A.

A worked example

Say a brand ships 10,000 orders a month and 6% of them fail in some way: 600 orders. Customers with no failure come back within a year at 30%. The failure cohort shows that a failure cuts that rate by a fifth, to 24%. So of the 600 failed customers, 36 who would have come back don’t. Each returning customer places 2.5 more orders in the year, at $25 of contribution each.

That’s 36 × 2.5 × $25 = $2,250 of contribution lost each month, from one month’s failures, before any refund or reship. At $12 of direct cost per failure, the direct cost is $7,200 a month. The hidden cost is almost a quarter of the total, and it’s the quarter nobody reports Derived.

Run your numbers

What does a broken promise cost?

Example numbers. Replace with yours. A failure is any order that was late, wrong, damaged, lost or split without warning.
repeat customers lost per month of failures
total cost per failure
of that cost is lost repeat contribution
a year, at this failure rate
a year, for each point of failure rate you remove
Lost repeat contribution per failure = repeat rate × relative drop × orders per returning customer × contribution per order. It counts only the first year after the failure and ignores word of mouth, so it’s a floor, not an estimate of the whole cost.

With the defaults, each failure costs $15.75, 24% of it in lost repeat contribution, and one point off the failure rate is worth about $18,900 a year. The 20% drop is a placeholder; replace it from your failure cohort, since it decides the answer. For scale, the Uber study’s 5% to 10% fall in spending followed a car ride that arrived late; a damaged or lost order is a bigger failure than that.

Do this

Part one · Count what breaks · Chapter 3

ONE NUMBER FOR EVERY FAILURE

FedEx counted every kind of failure, weighted by how much it hurt, in one daily number. The idea fits a DTC brand almost unchanged.

An on-time rate of 96% sounds good and tells you almost nothing. It hides the 4% that were late and treats a day-late package the same as one that never arrived. It says nothing about damage, wrong items or the customer who had to write in twice. A team told to raise it will raise it, sometimes by shipping faster and packing worse.

How FedEx did it

According to a Federal Highway Administration review of its methods, until 1989 FedEx assumed that on-time delivery was what its customers valued most, and customer research showed they expected much more Reported. So it built the Service Quality Indicator: twelve kinds of failure, each counted every day and multiplied by a weight that reflected how much it hurt customer satisfaction. When FedEx won the Malcolm Baldrige National Quality Award in 1990, the award profile noted that SQI reports went daily to workers at every site, management met daily to discuss the previous day’s performance, and executives were evaluated on the SQI Published.

FailureWeight
Right day, late1
Wrong day, late5
Traces not answered1
Complaints reopened by customers5
Missing proofs of delivery1
Invoice adjustments requested1
Missed pickups10
Lost packages10
Damaged packages10
Aircraft delay, in minutes5
Overgoods (packages that lost their labels)5
Abandoned calls1

ReportedThe weights as given in case materials on Federal Express. A version cited by the Federal Highway Administration, from a 2003 article in California CPA, lists an international indicator in place of aircraft delay. The structure, twelve items weighted by their effect on satisfaction, is from the 1990 Baldrige award profile.

Two things are worth copying. The weights are blunt, 1, 5 and 10, not decimals from a regression. And two items are about the service around the delivery: a complaint the customer had to reopen, and an abandoned call. FedEx counted the customer having to chase as a failure in its own right.

A raw count treats a lost package like a late one. A weighted count tells the team which failure to fix first.

The DTC version

Here’s the index I’d start on, with FedEx’s 1, 5, 10 scale until your failure cohort from chapter 2 lets you set each weight in proportion to what that failure costs.

FailureCounted whenStarting weight
Late, 1 to 2 daysUp to two days past the date shown1
Late, 3 days or moreThree or more days past it, or past a date that mattered5
Split without warningArrived in unannounced pieces1
Wrong or missing itemAny line wrong or short5
DamagedArrived unusable10
LostNever received10
Contact reopenedThe customer had to come back about it5

Report it weekly as points per 1,000 orders, beside the perfect-order rate: the share of orders with no failure at all. Show the board the perfect-order rate. Run the operation on the index, because it says where the points come from.

Run your numbers

Your weighted failure index

Example numbers for one month. Replace with yours. Enter a count and a weight for each failure; zero is fine for a count.
index points in the period
points per 1,000 orders
perfect orders, at least
biggest source of points
Perfect orders assumes no order had two failures; if some did, the true share is a little higher. Reopened contacts count in the index but not against perfect orders, since they’re about the service after delivery.

With the defaults, the month scores 1,885 points, or 188.5 per 1,000 orders, with a perfect-order rate of at least 94.0%. The biggest source is orders late by three days or more: 24% of the index from 14% of the failures. The chart shows why the weights matter.

Derived650 failures and 1,885 points from the tool’s example counts and starting weights. Bars are scaled to 60%.

By raw count, the team would spend the quarter on short delays. By points, it looks at long delays and damage first, and the damage fix is often a packaging change costing cents per order.

Keep it honest

Do this

Part two · Promise what you can keep · Chapter 4

AN ACCURATE DATE BEATS A FAST ONE

Speed sells. A missed date costs more than speed earns. Set the checkout date from your own delivery data, at the share of orders you’re willing to be wrong about.

You can improve a delivery promise by making delivery faster, which costs warehouses and carrier upgrades, or by making the promise truer, which costs a little conversion. Most brands spend on the first. The research says the second is where the retention is.

Speed does sell

When a US apparel retailer opened a new distribution center that cut delivery times to its western customers, Marshall Fisher, Santiago Gallino and Joseph Xu found online sales rose about 1.45% for each business day saved, from a starting point of seven business days, with a spillover to the retailer’s stores Published. On Alibaba’s Tmall, Vinayak Deshpande and Pradeep Pendem estimated that cutting three-day deliveries to two days would lift average daily sales for third-party sellers by 13.3% Published. In a business-to-business online store, Shin Oblander and Kinshuk Jerath found each day off the promised time lifted demand 1.82%, like a 2.21% discount, though buyers barely reacted to promises under a week Published.

The promise is a separate lever, and it cuts both ways

One study separates the promise from the delivery. Ruomeng Cui, Zhikun Lu, Tianshu Sun and Joseph Golden worked with Collage.com, which sells custom photo products, to change the delivery estimates shown on the site while the actual delivery speed stayed the same. A faster promise raised sales and profits. It also raised returns and reduced customer retention Published. The faster date bought orders today with broken promises that cost orders later.

Recall from chapter 2 that lateness hurts repurchase more than earliness helps. And when Nooshin Salari, Sheng Liu and Zuo-Jun Max Shen built a model on JD.com data that forecasts the whole spread of possible delivery times and sets each promise with the cost of being late in mind, their simulations put the sales gain over JD.com’s existing policy at 6.1% Published. A promise set from data, not a template, is worth money in both directions.

A fast promise wins the order. A kept promise wins the next one.

Set the date from the tail, not the middle

Most checkout promises are set from the typical delivery: “usually 3 to 5 business days.” But the slow tail, not the typical order, generates the contacts. If half your orders arrive in four days and one in ten takes seven or more, a five-day promise breaks far more often than the team thinks. Pick the share you’re willing to deliver late, then promise the date that share implies. I’d start at 90% to 95% on time against the date shown, by region.

Run your numbers

What date can you promise?

Example numbers. Replace with yours, for one region or shipping method. Days are order to door, measured in fractions of a day if you can.
on time at your current promise
to promise for your target
late orders a month: now, then at that promise
90th percentile you’d need to keep today’s promise at target
Fits a lognormal curve to your median and 90th percentile, a common shape for delivery times, which have a long slow tail. It’s an approximation: check it against the share of last month’s orders that actually arrived by the date shown.

With the defaults, a five-day promise on a lane with a four-day median and a seven-day 90th percentile is kept about 70% of the time: roughly 3,000 broken promises a month on 10,000 orders. Hitting 95% would take a nine-day promise, or a tail short enough that one order in ten takes no more than about 4.8 days. Neither is comfortable. The template “3 to 5 business days” hides that choice; the tool puts it on the table.

What to do with the answer

Shipping price and free-shipping thresholds are covered in The First Offer. This chapter is only about the date.

Do this

Part two · Promise what you can keep · Chapter 5

BAD NEWS FIRST

The worst way for a customer to learn an order is late is by waiting for it. Tell them the day you know, with a new date and a choice. The law already requires most of this.

Every delay gets discovered. The question is who discovers it first. If it’s you, you explain it and offer a choice. If it’s the customer, they find it on a tracking page that hasn’t changed in three days, and the first thing you hear is a complaint.

Why the notice matters more than the delay

David Maister’s 1985 essay on waiting set out propositions that have held up: uncertain waits feel longer than known ones, unexplained waits longer than explained ones, and anxiety makes waits seem longer Published. Shirley Taylor’s 1994 study of delayed airline passengers found delays hurt evaluations mainly through anger and uncertainty Published. A delay notice attacks exactly those: it makes the wait known, explains it, and shows someone is in control.

Order matters too. Angela Legg and Kate Sweeny found that people receiving mixed news mostly wanted the bad news first, while the people delivering it had to be nudged to give it that way; hearing it first left recipients less worried Published. The delay goes in the subject line and the first sentence.

Put the bad news in the subject line. Everything after it is the part they’ll actually read.

A caution: I haven’t found a published field experiment isolating the effect of a proactive delay email on ecommerce repurchase. The case rests on the waiting research and the studies in chapter 2. So hold back a random group, as below, and measure it yourself.

When to send

Send the notice the day the delay becomes likely, not the day it’s certain. Five triggers catch most delays:

What it says

  1. The news, first“Your order is running late.”
  2. The new dateSet from your data, not a hope. If you can’t give one, say when you’ll write next.
  3. The reason, in one sentence“The carrier missed its pickup on Tuesday,” not “unforeseen circumstances.”
  4. The choiceWait, cancel for a full refund in one tap, or swap to an item in stock.
  5. The remedy, if the grid calls for oneFrom chapter 11.

Templates are in Appendix B. This is a service message, not marketing, so it goes to every buyer. Keep promotions out of it, and send by SMS only to customers who gave you a number for order updates.

What the law requires

In the US, the FTC’s Mail, Internet, or Telephone Order Merchandise Rule sets a floor under all of this. It was last amended in 2014 Published. In summary:

Violations can carry civil penalties per violation; the inflation-adjusted maximum is $53,088, as set in January 2025 Published. A delivery date shown at checkout is also a claim under the FTC Act’s ban on deception. States and other countries add their own rules. This is an operator’s summary as of September 2026, not legal advice; have counsel review your preorder, backorder and delay flows.

Published16 CFR Part 435, as amended at 79 FR 55619 (September 17, 2014); FTC, Business Guide to the FTC’s Mail, Internet, or Telephone Order Merchandise Rule. Full references in Appendix C.

Prove it works

Hold back 10% of delayed orders, at random, from the early notice for one month. They still get everything the law requires. Compare contacts per delayed order, cancellations and 90-day repeat rate. If the notice doesn’t cut contacts, rewrite it before you blame the idea.

Do this

Part two · Promise what you can keep · Chapter 6

SHOW THE WORK

Customers value work they can see. A tracking page that shows real progress buys patience; a page that says “label created” for three days spends it.

Between the order confirmation and the doorstep, most brands go dark. The customer’s only window is a carrier page written in scan codes. Ryan Buell’s research at Harvard Business School explains why that silence is expensive.

The labor illusion

In experiments on travel and dating websites, Buell and Michael Norton found people valued a service more when it showed its work, even if that meant waiting longer for the same result. They called it the labor illusion Published.

In food-service field experiments, Buell, Tami Kim and Chia-Jung Tsay let customers and cooks see each other. Customer-reported quality rose 22.2% and throughput times fell 19.2% Published. And in Boston, with Ethan Porter, Buell found that residents who reported a problem through the city’s app and got a photograph of the fix submitted 60% more requests afterward; people shown the government’s work were 14% more trusting and 12% more supportive of it Published. It worked because the city was actually responding. Transparency shows the work; it can’t replace it.

Transparency multiplies whatever it shows. Show real work and it earns patience. Show a stalled order and it earns a contact.

What that means for an order

Transparency is not a stream of notifications. Send a message only when it changes what the customer expects or answers a question they’d ask. Four emails for an on-time order train customers to ignore the one about the delay. How the flows are built is in The Whole Machine.

Do this

Part three · Contacts are a symptom · Chapter 7

CONTACTS PER ORDER

Support teams are usually measured on how fast they answer. The number that matters is how often customers need to ask, and why.

Response times and handle times measure how well support copes with contacts. They say nothing about why the contacts exist. The best service, as Bill Price and David Jaffe titled their book, is no service: the contact that never has to happen.

The Amazon number

Price was Amazon’s first global vice president of customer service. The metric his team put in place was contacts per order: every call, email and chat, divided by orders. By his own account, it fell 70% during his almost three years at the company Reported. Amazon kept watching it after he left. Jeff Bezos’s letter to shareholders for 2002 called it “our most sensitive measure of customer satisfaction” and reported a 13% improvement that year Reported.

It’s sensitive because almost nobody contacts a store for fun. A contact means something didn’t work. Count contacts per order, split them by reason, and you have a map of every broken promise in the business, drawn by the customers who hit them.

Every contact is a customer telling you, at your expense, where the business broke a promise.

The seven principles

Price and Jaffe’s seven principles, in their order: eliminate dumb contacts; create engaging self-service; be proactive; make it easy to contact the company; own the actions across the company; listen and act; deliver great service experiences Reported. The order matters. Most brands start at the second, with a chatbot, which moves contacts to software without asking why they exist. Start at the first. Chapter 5 applies the third to delivery, and chapter 8 the fifth.

Reason codes that work

Most help desks have forty tags, applied inconsistently, several per ticket. What works:

A starting list is in Appendix B.

Run your numbers

What would fewer contacts save?

Example numbers. Replace with yours. Contacts means every inbound email, chat, call and message, counted once per conversation.
contacts per order, now then after
contacts avoided per month
agent hours freed per month
saved a year in agent time
Counts agent time only. It leaves out help-desk seat costs, the retention value of customers who never had to ask, and the contacts that reopen when the first answer didn’t resolve the problem, so the real saving is larger.

Say a brand ships 10,000 orders a month and receives 1,800 contacts, four in ten about where an order is. With those defaults, contacts per order falls from 0.180 to 0.128 and about 70 agent hours a month are freed, worth about $25,000 a year in agent time alone Derived. That’s modest next to the cost of the failures behind the contacts, which is the point: the support saving is the smaller half. Replace the made-up shares with your own reason counts before quoting it.

Deflection is not elimination

A help-center article that answers “where is my order?” deflects the contact. The customer still had the worry and still found your promise broken. Report contacts per order and self-service sessions per order side by side. If the second rises while the first falls, you’ve moved the problem, not solved it.

Do this

Part three · Contacts are a symptom · Chapter 8

EVERY REASON HAS AN OWNER

Support answers the contact. The team that caused it has to remove it. Put a name, a target and a date next to every reason code.

Most contact reasons are decisions made somewhere else: the date by ecommerce, the packaging by operations, the discount rule by marketing. Support meets the consequences and has no power to change them. So each reason gets an owner in the team that causes it, measured on that reason’s contacts per order.

The routing table

ReasonUsual causeOwnerFirst fix
Where is my orderSilence after checkout; a vague dateEcommerce, with operationsA dated promise, an owned tracking page
Late against the date shownA promise the lane can’t keepOperationsPromise by region; delay notice
DamagedPackaging and handlingOperations and packagingDrop-test the top five products
Wrong or missing itemPicking errorsFulfillment or the 3PLScan-to-verify at pack
Change or cancel an orderNo self-serve edit windowEcommerceAn edit window on the order page
Discount or code didn’t workUnclear rulesMarketingOne rule per offer, printed with the code
Product question before buyingThe page doesn’t answer itMerchandisingAdd the top three questions to the page
How to use the productMissing instructionsProductAn insert and a first-use email
Unexpected chargeDescriptor, split charges, renewalsFinance or retentionA clear descriptor; renewal reminders
Return or exchangeFit, expectationsMerchandising and opsSee the returns guide

Subscription contacts belong to whoever runs the program (The Standing Order); product-page questions overlap with The Honest Test; first-use questions with the first-use guide.

Support should own the answer. The team that caused the question should own the number.

The monthly contact review

Once a month, for forty-five minutes, each owner brings one slide: their reasons’ contacts per order for three months, one fix shipped with its date and expected drop, and one planned. Support reads ten verbatim contacts from the top reason aloud. The next review checks whether each fix moved its number. A fix that didn’t isn’t a fix.

Give it a price

Owners move faster when a contact has a cost in their own budget. Put a notional price on each contact reason: the agent time from the tool in chapter 7, plus, for failures, the repeat contribution from chapter 2. Say the damaged reason runs 150 contacts a month; at $4 of agent time and $3.75 of lost repeat contribution each, that’s about $1,160 a month charged to packaging. A sturdier box at $0.15 more on 10,000 orders costs $1,500. Now the owner has a real decision to make, with both sides priced.

Do this

Part three · Contacts are a symptom · Chapter 9

EFFORT, MEASURED CAREFULLY

Making things easy for customers is the right goal. The famous single-question survey built to measure it predicts retention poorly. Measure effort by what customers had to do.

In 2010 Matthew Dixon, Karen Freeman and Nick Toman published “Stop Trying to Delight Your Customers” in Harvard Business Review. Its argument has held up. Its metric hasn’t.

The argument

From a study of more than 75,000 people who had used contact centers or self-service, the authors concluded that going above and beyond made little difference to loyalty; customers wanted their problem solved simply. Among customers who reported low effort, 94% said they intended to buy again, 88% that they’d spend more, and only 1% that they’d speak badly of the company Reported. Their prescriptions: head off the next likely problem, stop making customers switch channels, attend to how the customer feels, learn from those who struggled, and put solving ahead of speed. A customer who writes twice or repeats their order number to a second agent has done work that was yours to do.

The metric, checked

The article proposed a Customer Effort Score, one survey question on how much effort the customer spent, reported to predict loyalty better than satisfaction or the Net Promoter Score. That claim failed an independent test. Evert de Haan, Peter Verhoef and Thorsten Wiesel compared the three metrics on customers of 93 firms in 18 industries and tracked who stayed. The effort score “in itself has little to no predictive power and performs the worst of all” the metrics studied, even among customers who had actually contacted the company. Top-two-box satisfaction, the share who gave one of the two highest scores, predicted retention best Published.

Reduce effort as a design rule. Don’t adopt a one-question effort score as your loyalty metric.

The authors’ caution is about scope: the effort question asks about one past interaction, while retention depends on the whole relationship, including the delivery that caused the contact. The contact is a symptom; its effort is a symptom of the symptom.

Measure effort by behavior

Your help desk already records effort:

MeasureDefined asWhat it catches
Repeat contact rateContacts about the same order within 7 days of a previous one, over all contactsFirst answers that didn’t resolve it
Contacts per resolutionContacts, over issues marked solvedBack-and-forth to get one thing done
Channel switchesIssues touched in more than one channel, over all issuesChat that sends people to email, email that sends them to phone
TransfersContacts handed to a second person, over all contactsAgents without the authority to finish

Repeat contacts are FedEx’s “complaints reopened,” weighted 5 in its index and in the one in chapter 3. If you survey after contacts, report the top-two-box share, which predicted retention best in de Haan’s study.

Do this

Part four · Making it right · Chapter 10

THE RECOVERY PARADOX, CHECKED

A great recovery can leave a customer more satisfied than no failure at all. It doesn’t leave them more likely to buy again. Plan on recovery softening the loss, never reversing it.

Every support team has a story about the customer whose order went wrong, got an extraordinary fix, and became the brand’s biggest fan. The research calls it the service recovery paradox, and it’s used to justify treating failures as opportunities. The evidence says treat them as costs.

What the meta-analysis says

In 2007, Celso de Matos, Jorge Henrique and Carlos Rossi pooled the studies that had tested the paradox. The effect was real for satisfaction: on average, customers who had a failure and a good recovery rated their satisfaction higher than customers who had no failure. For repurchase intentions, word of mouth and the company’s image, the pooled effect was not significant: no evidence of a paradox at all Published. Even the satisfaction effect varied with study design, such as whether subjects were students.

The field studies since then point the same way. Stefan Michel and Matthew Meuter tested the paradox with more than 11,000 interviews with bank customers about real service encounters. It was a rare event, and where it appeared the differences were small Published. And the restaurant study in chapter 2, which followed behavior over years, found recovered customers drifting down toward those whose problems were never fixed Published.

Recovery raises how customers feel about the fix. It doesn’t raise how often they come back above what they’d have done if nothing broke.

Why it matters for the budget

If you believed the paradox, you’d spend freely on recovery and worry less about prevention. Since it doesn’t hold for repurchase, the math runs the other way: recovery wins back part of the repeat contribution a failure puts at risk, and prevention protects all of it. Set recovery spending against the lost repeat contribution per failure from the cost tool, and prevention spending against the whole cost. Recovery isn’t optional; an unrecovered failure is worse in every study above. It’s something to do well, at a known cost, not something to celebrate.

Do this

Part four · Making it right · Chapter 11

THE RECOVERY GRID

What each failure gets, written down, so recovery doesn’t depend on who picks up or how loudly the customer complains. Plus a budget each agent can spend without asking.

Without a grid, recovery is set by things that shouldn’t matter: which agent answers and how hard the customer pushes. The polite customer with a damaged order gets less than the furious one with a late order. The grid fixes that; the budget handles what it can’t foresee.

Four rules for the grid

  1. Fix first, then remedyA reship or replacement goes out the same day, before any credit.
  2. Scale with severity and history, not volumeA lost order gets more than a late one; a second failure more than a first. Shouting gets nothing extra.
  3. Don’t make cheap failures prove themselvesIf a replacement costs less than the agent time spent asking for photos, skip the photos. Watch for abuse in the data.
  4. Record every remedy against the customerSo the next failure is treated as a repeat. Chapter 12 explains why.

A starting grid

FailureFixRemedy, first failureRemedy, repeat within 12 months
Late 1 to 2 days, notified firstNew dateNone beyond the noticeShipping refunded
Late 1 to 2 days, not notifiedNew date, apologyShipping refundedCredit of about 10% of the order
Late 3+ days, or past a date that matteredUpgrade or reship if fasterCredit of about 10% of the orderCredit of about 20%, from a person
Split without warningSay what’s coming, whenNone unless lateShipping refunded
Wrong or missing itemShip the right item nowCredit of about 10%Credit of about 20%
DamagedReplace nowCredit of about 10%Refund the item too
LostReplace now, before the carrier claimCredit of about 15%Refund the order too

These are starting points, not findings. Set them so the expected remedy per failure sits below the lost repeat contribution per failure from chapter 2. A credit toward the next order gives a reason to come back, and the Uber study found apologies worked best with a future-trip credit attached. Keep credits tied to failures, or customers learn to complain for them; The First Offer covers how discounts train customers.

The agent budget

A grid can’t foresee the gift that arrived after the birthday or the third failure in a month. For those, give each agent a monthly budget to spend without asking anyone.

Size it from the value at stake. Say an agent handles 150 failure contacts a month, each putting $3.75 of repeat contribution at risk, as in the example in chapter 2: about $560 a month. A budget of a fifth to a third of that, $110 to $190, covers the cases that matter most Derived.

A written grid makes recovery fair. A budget makes it human. You need both.

Do this

Part four · Making it right · Chapter 12

HOW TO APOLOGIZE

A field experiment with 1.5 million Uber riders tested apologies for late trips. Words alone did little. A credit helped. Apologizing again and again made things worse.

Most apology templates are written by instinct: say sorry, say it warmly, promise it won’t happen again. A very large field experiment suggests the instinct is wrong about the last part.

The Uber experiment

Basil Halperin, Benjamin Ho, John List and Ian Muir worked with Uber on riders whose trips arrived later than the app had estimated. Riders were randomly assigned to messages like these, some carrying a $5 credit toward a future ride, or to no message at all Published:

TypeThe message
Basic apology“Your trip took longer than we estimated, and we know that’s not ok.”
Status apology“We underestimated how long your trip would take, and that’s our fault.”
Commitment apology“We’re working hard to give you arrival times that you can count on.”
No apology“You have places to go and people to see. Enjoy $5 off your next ride.”

PublishedExcerpts from each message, as reported in the paper. Outcome: riders’ net spending over the next twelve weeks.

Three findings matter. First, an apology in words alone had little effect, and was sometimes counterproductive. Second, “money speaks louder than words”: the messages that came with a credit did best, and the credit alone raised riders’ net spending by about 1.5% over the first week and about 0.8% over twelve weeks. Third, apologizing repeatedly to the same rider after repeated bad trips reduced their future spending. By the third late trip, an apology with a credit had a significantly negative effect Published. The authors’ advice: use apologies sparingly, and ideally only after outcomes that were unexpectedly bad.

The commitment apology deserves its own warning. The paper names apologies that promise to do better, with repeated ones, as cases where apologizing can be worse than sending nothing Published. A promise to improve is another promise, and a rider who’s late again has now seen two broken.

An apology is a promise about the future. Don’t make one you haven’t already kept.

Seven rules for an apology

  1. Lead with the failure, in plain words“Your order arrived damaged,” not “sorry for any inconvenience.”
  2. Take responsibility without excusesName the cause in one sentence, if you know it.
  3. Say what’s already been done“A replacement shipped this morning.” The fix before the feelings.
  4. Attach the remedy from the gridWords alone did little at Uber.
  5. Promise only what you’ve already fixed“We’ve changed how we pack glass” is fine if you have. “It won’t happen again” isn’t.
  6. Check the history before you sendIf this customer got an apology in the last few months, escalate to a person instead of repeating the template.
  7. Keep it shortFour or five sentences. A long apology reads as a performance.

Rule 6 needs the failure history that the grid in chapter 11 records. Templates are in Appendix B.

Do this

Part five · Running it · Chapter 13

PAYING FOR THE PROMISE

In 1995 Continental Airlines promised a monthly bonus to every hourly employee, all 35,000 of them, if the company hit one shared goal. Theory said a bonus shared that widely shouldn’t work. It did.

When Gordon Bethune became chief executive of Continental in October 1994, the airline ranked last in most of the industry’s performance measures Reported. He told the story of the turnaround in his book From Worst to First. The best evidence on why one part of it worked comes from two economists who studied it afterward.

What Continental did

In February 1995, Continental introduced an incentive scheme that promised monthly bonuses to all 35,000 of its hourly employees in any month the company achieved a firm-wide performance goal Published. It was one goal for the whole company, not a goal for the gate agents or the mechanics: one number for everybody, paid to everybody.

On paper, that shouldn’t work. With 35,000 people sharing a goal, one employee’s effort barely affects whether the bonus is paid, so theory predicts people will coast: the free-rider problem.

Why it worked

Marc Knez and Duncan Simester studied the scheme and found it did raise employee performance. Their explanation: employees worked in autonomous groups, like the crew at one airport, where people could see each other’s work and pressed each other to do their part. They call it mutual monitoring. The firm-wide bonus gave every group the same reason to care, and the small group gave each person someone watching Published. Continental went on from last in most performance categories to winning more J.D. Power customer satisfaction awards than any other airline Reported.

Pay everyone on the same kept promise, in teams small enough to see each other work.

What a DTC brand can take from it

Does it pay?

Say 25 people each get $75 in any month the perfect-order rate beats target: $22,500 a year if it’s hit every month. At the cost tool’s default, where each point of failure rate costs about $18,900 a year, the bonus pays for itself if it takes about 1.2 points off the failure rate, say from 6% to 4.8% Derived. Publish the number daily where the team can see it, the way FedEx sent its SQI to every site.

Do this

Part five · Running it · Chapter 14

THE PROMISE SCORECARD

One page, every week. Each number with its denominator, split by the lane where it’s worst, and one quarterly line that says what failures cost in repeat orders.

Delivery usually shows up in the weekly meeting as shipping cost per order, and support as response time. Neither says whether the business kept its promises. This page does.

NumberDefined asWhat it catches
Perfect-order rateOrders with no failure, over orders deliveredThe headline
Failure indexPoints per 1,000 orders, top two sources, worst laneWhich failure to fix first
On time against the date shownDelivered by the checkout date, by regionPromises the lane can’t keep
Ship on timeWith the carrier by the promised ship dateWarehouse delays, early
Order-to-door daysMedian and 90th percentile, by regionA lengthening tail
Told firstDelayed orders notified before any contactDelay triggers that stopped firing
Contacts per orderTotal, and for each of the top five reasonsA new reason appearing, a fix that didn’t hold
Repeat contact rateSame-order contacts within 7 daysEffort: answers that didn’t resolve
Delivery check “no” rate“No” answers to the delivery checkDamage and errors customers didn’t report
Recovery spendRemedies and budget use per failureDrift in what failures cost to fix
Repurchase after failure (quarterly)12-month repeat rate by failure type, against no failureWhat each failure costs in the orders that follow

A number without its denominator is a mood, and an average without its worst lane is an alibi.

Two rules for the page

First, every rate shows its worst lane beside it: the carrier, region or product where it’s worst. Customers on that lane don’t experience the average. Second, watch the “told first” line. A delay trigger that fires zero times in a week isn’t a good week; it’s usually a broken integration.

Reading it

If the perfect-order rate improves while the index worsens, fewer orders fail but those that do fail worse. Contacts lag failures by about a week. When you change something, write the date on the page.

Do this

Part five · Running it · Chapter 15

THE FIRST THIRTY DAYS

Measure, then promise, then route the contacts, then write down how to make it right. Four weeks, in that order.

The order of work is the same whoever you are. Find out which promises you’re breaking. Stop making the ones you can’t keep. Send each contact back to its cause. Then make recovery consistent.

  1. Week one: measurePull last month’s orders with the date shown at checkout and the carrier delivery scan, and compute on time against the date shown, by region (chapter 4). Count last month’s failures by type and run the index (chapter 3). Replace the help desk’s tags with twelve to fifteen primary reasons (chapter 7).
  2. Week two: promiseRun the date tool for each region and change the checkout promise to what the data supports. Build the five delay triggers and the notice (chapter 5). Send your backorder, preorder and delay flows to counsel with the FTC rule summary. Add the delivery check question and fix the tracking page’s worst gaps (chapter 6).
  3. Week three: routeName an owner for each of the top ten contact reasons (chapter 8). Hold the first monthly contact review. Add repeat contact rate and transfers to the support report (chapter 9). Start the 10% holdout on delay notices.
  4. Week four: make it rightPublish the recovery grid and the agent budget (chapter 11). Rewrite apology templates and add a failure count to the customer record (chapter 12). Run the failure cohort for customers from a year ago (chapter 2) and put the scorecard in front of the team (chapter 14).

At day thirty you won’t yet know what the changes did to repeat orders; that takes a quarter. You’ll have a store that knows which promises it breaks, tells customers first, and knows who owns each reason they write in.

Measure before you promise. Promise before you apologize.

Do this

Close

DAY ONE

Six things whoever owns the promise needs on the first day.

Whoever owns delivery reliability and support, a new operations lead or you on the Monday you decide the ticket queue is telling you something, needs six things on day one.

  1. Orders with the promise attachedEvery order with the checkout date shown, the ship scan and the delivery scan.
  2. Carrier and 3PL accessThe shipping platform, the 3PL portal and the contracts.
  3. A help desk exportSix months of contacts, with reason, order, remedy and reopens.
  4. Contribution per orderFrom finance, so a failure and a remedy can be priced.
  5. The policies, with their historyShipping, delay, backorder and recovery rules, with the dates each changed.
  6. Authority to change the promiseThe right to change the checkout date and switch on delay notices without waiting for a meeting.

Do this

Close

THE SHELF

The books and papers worth reading next, and what to take from each.

The research behind each chapter is listed in Appendix C.

Close

ABOUT THE AUTHOR

Andrew Lauchner runs Growth Legend, embedding inside consumer brands to own lifecycle, email and SMS, and revenue operations. He is the author of The Second Order, on turning first-time buyers into second-time buyers, and The Whole Machine, on the fundamentals of DTC growth, along with a series of field guides for DTC operators at andrewlauchner.com.

As Senior Director of Growth and Retention Marketing at Gallery Furniture, he rebuilt the customer journey and the sales playbooks together. He has worked on growth and retention at Binance and 3Commas, and has been Head of Growth and Retention at Greatness Wins and at Nexus Agriscience.

What colleagues say

“Andrew led retention, lifecycle, and email/SMS, but what separates him from most in this space is how deeply he understands the role retention plays in the overall growth engine.”

Akram Khan, Head of Marketing at Gallery Furniture, senior to Andrew but didn’t manage Andrew directly

Andrew answers every note from operators working on this, including those looking for someone to own it. Write to andrew@growthlegend.com or message him on LinkedIn.

Appendix A

FOR YOUR ANALYST

The formulas behind the four calculators, and four queries every store should be able to run.

The formulas

ForFormulaNotes
Cost per failurer × d × n × c + xr: repeat rate, no failure. d: relative drop. n: orders per returner. c: contribution. x: direct cost.
Failure indexΣ (counti × weighti) / orders × 1,000Perfect-order rate = 1 − failed orders / orders.
On time at a promise of D daysΦ((ln D − ln m) / σ), σ = (ln p90 − ln m) / 1.2816m: median days. p90: 90th percentile. Lognormal fit; Φ is the standard normal CDF.
Days to promise for target t⌈ m × ezt σzt: normal quantile for t (1.645 for 95%).
Contacts avoidedC × w × r + C × (1 − w) × xC: contacts. w: status share. r: share removed. x: other share removed.

Check the lognormal fit against last month’s actual on-time share.

On time against the date shown

-- share of delivered orders that arrived by the date shown at checkout
-- orders.promised_delivery_date must be stored when the order is placed
SELECT o.shipping_region,
       f.carrier_service,
       COUNT(*)                                                    AS delivered,
       AVG(CASE WHEN f.delivered_at::date <= o.promised_delivery_date
                THEN 1.0 ELSE 0 END)                               AS on_time_share,
       PERCENTILE_CONT(0.5) WITHIN GROUP
         (ORDER BY EXTRACT(EPOCH FROM f.delivered_at - o.created_at) / 86400) AS median_days,
       PERCENTILE_CONT(0.9) WITHIN GROUP
         (ORDER BY EXTRACT(EPOCH FROM f.delivered_at - o.created_at) / 86400) AS p90_days
FROM orders o
JOIN fulfillments f ON f.order_id = o.id
WHERE f.delivered_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY o.shipping_region, f.carrier_service
ORDER BY on_time_share;

The syntax is Postgres. If you don’t store the promised date, start today; until then, reconstruct it from the shipping method and order time, and call the result an estimate. The median and 90th-percentile columns feed the date tool in chapter 4.

The failure index

-- one row per order with its worst failure, for the index and perfect-order rate
WITH flags AS (
  SELECT o.id AS order_id,
         CASE WHEN f.delivered_at IS NULL AND f.lost_at IS NOT NULL THEN 'lost'
              WHEN EXISTS (SELECT 1 FROM tickets t WHERE t.order_id = o.id
                           AND t.reason = 'damaged')                   THEN 'damaged'
              WHEN EXISTS (SELECT 1 FROM tickets t WHERE t.order_id = o.id
                           AND t.reason = 'wrong_or_missing')          THEN 'wrong_or_missing'
              WHEN f.delivered_at::date >= o.promised_delivery_date + 3   THEN 'late_3plus'
              WHEN f.delivered_at::date >  o.promised_delivery_date       THEN 'late_1_2'
              WHEN o.split_unannounced                                  THEN 'split'
              ELSE 'none' END AS failure
  FROM orders o JOIN fulfillments f ON f.order_id = o.id
  WHERE o.created_at >= DATE_TRUNC('month', CURRENT_DATE) - INTERVAL '1 month'
    AND o.created_at <  DATE_TRUNC('month', CURRENT_DATE)
)
SELECT failure, COUNT(*) AS orders
FROM flags GROUP BY failure;

Count reopened contacts separately and add them in the tool. Each order counts once, at its worst failure, which keeps the perfect-order rate honest.

The failure cohort

-- 12-month repeat rate of first-time customers, by what happened to the first order
WITH firsts AS (
  SELECT DISTINCT ON (customer_id) customer_id, id AS order_id, created_at,
         shipping_region, first_product_id
  FROM orders ORDER BY customer_id, created_at
)
SELECT DATE_TRUNC('month', fo.created_at) AS cohort_month,
       fo.shipping_region,
       fl.failure,
       COUNT(*) AS customers,
       AVG(CASE WHEN EXISTS (
             SELECT 1 FROM orders o2
             WHERE o2.customer_id = fo.customer_id
               AND o2.created_at > fo.created_at
               AND o2.created_at <= fo.created_at + INTERVAL '12 months')
           THEN 1.0 ELSE 0 END) AS repeat_12m
FROM firsts fo
JOIN flags fl ON fl.order_id = fo.order_id   -- the flags logic above, run for these orders
WHERE fo.created_at < CURRENT_DATE - INTERVAL '12 months'
GROUP BY 1, 2, 3
ORDER BY 1, 2, 3;

Compare each failure group with the ‘none’ group within the same month and region, then average the gaps, weighted by group size. Add whether a remedy was given to get the comparison in chapter 10. Pool quarters until groups reach a few hundred.

Contacts per order by reason

-- weekly contacts per order, by primary reason
SELECT DATE_TRUNC('week', t.created_at) AS week,
       t.reason,
       COUNT(*)::numeric / NULLIF(w.orders, 0) AS contacts_per_order
FROM tickets t
JOIN (SELECT DATE_TRUNC('week', created_at) AS week, COUNT(*) AS orders
      FROM orders GROUP BY 1) w
  ON w.week = DATE_TRUNC('week', t.created_at)
WHERE t.created_at >= CURRENT_DATE - INTERVAL '12 weeks'
  AND t.direction = 'inbound'
GROUP BY 1, 2, w.orders
ORDER BY 1, 3 DESC;

Table and column names are generic; rename them to match your exports. Count conversations, not messages. Repeat contact rate follows the same pattern: contacts with an earlier contact on the same order in the previous 7 days, over all contacts.

Appendix B

TEMPLATES

Delay notices, apologies, reason codes and the delivery check. Copy them into whatever your team already uses.

These messages are transactional: about an order the customer placed, sent to every buyer, with no promotion. Keep your standard footer with your address and a preferences link. Have counsel review the option notice.

Delay notice, email

SUBJECT    Your Order Is Running Late
PREVIEW    new date inside, and your options

Hi [first name],

Your order [#1234] is running late. It should now arrive
by [Thursday, October 8], instead of [Monday, October 5].

What happened: [the carrier missed its pickup from our
warehouse on Tuesday].

What you can do:
  Wait for it          Nothing to do. We'll write again if
                       the date moves.
  Cancel for a refund  [Cancel order] (one tap, full refund
                       within 7 working days)
  Swap it              [Choose something in stock]

[Only if the recovery grid calls for it:]
We've added a [$X] credit to your account for your next order.

[Name], [Brand] customer care
Reply to this email to reach a person.

[Brand, postal address] | Email preferences

Delay notice, SMS

[Brand]: Your order #1234 is running late. New date: Thu Oct 8.
Wait, cancel for a refund, or swap: [short link]. We're sorry
for the delay. Reply STOP to opt out.

Send by SMS only to customers who opted in to order updates by text.

Can’t ship on time: the option notice

SUBJECT    We Can't Ship Your Order On Time
PREVIEW    please choose: wait or cancel

Hi [first name],

We can't ship [item] from order [#1234] by [the date we
promised]. We now expect to ship it by [revised date].
[Or: We don't know yet when we can ship it.]

You can:
  Wait     [I'll wait]
  Cancel   [Cancel for a full refund]

If you cancel, we'll refund [$X] within [7 working days].

[If the delay is 30 days or less and this is the first delay:]
If we don't hear from you, we'll ship it when it's ready.
[If longer, indefinite, or a second delay:]
If we don't hear from you by [date], we'll cancel this item
and refund you in full.

[Brand, postal address] | Email preferences

Apology with remedy, first failure

SUBJECT    Your Order Arrived Damaged. A Replacement Is On Its Way.
PREVIEW    shipped this morning, arriving by [date]

Hi [first name],

Your [item] arrived damaged. That's on us.

A replacement shipped this morning and should arrive by
[date]. You don't need to send anything back.

We've also added a [$X] credit to your account for your
next order.

[What we've changed, only if it's true: We've moved this
item to a sturdier box.]

[Name], [Brand] customer care

[Brand, postal address] | Email preferences

Primary contact reasons

WHERE IS MY ORDER          no update, customer asking
LATE AGAINST DATE SHOWN    past the checkout date
DAMAGED                    arrived unusable
WRONG OR MISSING ITEM      any line wrong, short or absent
LOST                       never arrived, or marked delivered
CHANGE OR CANCEL ORDER     after checkout, before shipping
DISCOUNT OR CODE           didn't apply, or unclear
PRODUCT QUESTION, BEFORE   pre-purchase question
PRODUCT USE, AFTER         how to use, results, fit
BILLING                    unexpected or unclear charge
SUBSCRIPTION               skip, change, cancel
RETURN OR EXCHANGE         start, status, refund
ACCOUNT                    login, details
OTHER                      review monthly; split anything over 5%

The delivery check

IN THE DELIVERY CONFIRMATION EMAIL
  "Did everything arrive as expected?"
  [Yes]  [No, something's wrong]

"No" opens a short form: damaged / wrong or missing /
not received / other, with an optional photo.
Every "no" gets a same-day reply and a grid remedy.
Appendix C

SOURCES

Every external source, by chapter. Web sources were read in September 2026.

What failures cost (chapters 2 and 10)

The failure index (chapter 3)

Speed and the promise (chapter 4)

Delay notices and the law (chapter 5)

Transparency (chapter 6)

Contacts and effort (chapters 7 to 9)

Continental (chapter 13)