The price book nobody updated
Material costs moved, labor rates moved, and the book didn't. Every ticket sold at a two-year-old price is a small donation to your customer.
Most shops have one of these working well and three running on memory. The money leaks at the joins.
A customer searches, calls, gets booked, gets dispatched, gets served, gets invoiced, and either comes back or doesn't. Every handoff in that chain is a place where margin quietly disappears — a call that never got booked, a tech sent without the right part, a discount nobody tracked, a member who never got a renewal call.
You can't fix that with a marketing campaign. You fix it by making each handoff visible and giving it an owner, a standard, and a number.
Start with an assessment →None of these are dramatic. That's exactly why they survive for years.
Material costs moved, labor rates moved, and the book didn't. Every ticket sold at a two-year-old price is a small donation to your customer.
Wrong part, missing tool, incomplete diagnosis. It rarely shows up as a line item, which is exactly why nobody manages it.
Given by a tech with no authority and no tracking, to close a job that was already closed.
Sold once, never worked. The base looks fine on paper until you check how many of those agreements are actually current.