brianwith.ai
← Founders Feed
Operator IntelligenceMargin

The Refund Total Does Not Tell You What Broke

Sunday, July 26, 2026·6 min read

The Signal

The refund total does not tell you what broke.

A damaged shipment, wrong-size order, misunderstood sales promise, failed setup, duplicate purchase, and bad-fit customer can all end up under the same reason code: “customer requested refund.” Finance sees one number. Support sees a closed ticket. The operator still does not know which part of the business needs attention.

That is the issue.

Returns, cancellations, remakes, credits, and refunds are not one operating problem. They are several different failures sharing a payment outcome. Until the reasons are separated, the team can make a clean-looking change to the wrong thing.

Why this matters now

Promotions and faster acquisition can push more first-time buyers through an existing weak point. More orders hit the same product page. More leads hear the same sales promise. More customers enter the same setup flow. More packages move through the same packing step.

If the reason codes are vague, volume rises faster than understanding.

A D2C team may tighten its return policy when the real problem is sizing copy. A SaaS team may add onboarding calls when the actual issue is sales qualifying accounts that need a different product. A service firm may discount the next project when the refund came from a deadline nobody should have promised.

The money left. That does not mean price caused the exit.

This matters for AI-assisted support too. A model can summarize tickets or suggest a response, but it cannot repair a classification system that puts product defects, expectation gaps, and buyer remorse in the same bucket. It will produce a faster summary of a blurred signal.

The mistake to avoid

The tempting move is to react to the total.

Do not rewrite the policy because refunds increased. Do not replace the product because returns increased. Do not add discounts because cancellations increased. Do not blame support because credits increased.

First determine what changed and which owner controls it.

A stricter policy may hide the signal while creating a customer-trust problem. A broader guarantee may increase conversion while covering up poor qualification. A product change may add cost when clearer merchandising would have prevented the wrong purchase. The payment event is downstream. The operating break happened earlier.

Classify the break by owner

Use five buckets on the first pass:

  • Product failure: the item, feature, or delivered work did not perform as intended.
  • Promise failure: the product page, proposal, ad, sales call, or scope language created the wrong expectation.
  • Fit failure: the buyer, use case, size, timing, or requirement did not match the offer.
  • Fulfillment failure: packing, shipping, provisioning, scheduling, or access broke after the sale.
  • Process failure: the team created a duplicate, missed a step, used an old instruction, or approved something outside the standard path.

These buckets lead to different owners. Product fixes the product. Marketing or sales fixes the promise. Qualification, merchandising, or onboarding fixes fit. Operations fixes fulfillment. The process owner fixes the preventable internal error.

Keep the refund policy protected while you inspect the reasons. The policy is the customer-resolution layer. It should not be forced to compensate for every upstream failure, and it should not be changed until the business knows which failure is actually moving.

Also protect the customer note. Dropdown codes are useful for reporting, but the customer’s plain-language explanation often carries the detail the code removed. Read both before deciding.

The first move

Pull the last 30 returns, refunds, cancellations, credits, or remakes from one offer or product line.

For each case, record the original promise, the customer’s stated reason, the internal reason code, the five-bucket classification, the owner, and whether the failure was preventable before payment or after payment.

Then compare the customer note with the internal code. If “changed mind” repeatedly means “smaller than expected,” “setup took too long,” or “sales said it included X,” the current reporting is hiding the work.

Do not start with the whole company. One offer, 30 cases, one review is enough to see whether the reason system is usable.

The move this week

Create a return-reason correction sheet.

Use one row per case: offer, customer language, current code, corrected class, owner, prevention step, and review date. Pick the largest preventable cluster and make one upstream correction.

That correction may be a clearer size chart, a protected scope line in the proposal, a qualification question, a packing check, or an access test before kickoff. Leave unrelated product, pricing, and policy settings alone.

The objective is not fewer refunds at any cost. It is fewer preventable mismatches and a clean view of what the business actually needs to fix.

Start with the constraint. Then pick the right path.

Tell Brian where the business is stuck. He will point you to community, coaching, AI Marketer — or tell you it is not the right fit yet.

Ask Brian where to start

Prefer LinkedIn? Connect with Brian →