loupe.All articles

Methodology

The repeat cadence you already have

Every service business has a rhythm its customers come back on. You do not need to guess yours — it is in your completed jobs.

5 min read
How the dormant-customer figure is built
  1. Customers past the 75th percentile of your own repeat gap
  2. Share who return late when contacted
  3. Average value of a repeat job
Estimated revenue at stake per month
Every input above comes from records you upload. No industry averages are substituted for anything the file can answer.

Dormant is a number, not a feeling

Most reactivation campaigns start with a guess: anyone we have not seen in a year. For a boiler service that is far too late. For a roof it may be far too early.

The right interval is not an industry constant. It is a property of your customers, and it is already recorded in the gaps between their completed jobs.

The seventy-fifth percentile, and why not the median

Every customer with more than one completed job contributes a gap — the days between consecutive visits. Sorted, those gaps describe your actual cadence.

A customer counts as overdue once they pass the 75th percentile of that distribution: later than three visits in four. The median would be wrong here, and obviously so once stated — half your customer base is always past the median by definition. That is a rhythm, not a leak.

At least twenty observed gaps are needed before percentiles mean anything, and at least ten customers must be overdue before it is called a pattern. A business that has genuinely never had a second job from anyone has a different problem, and this is not the detector to name it.

Who counts as one customer

Identity is the phone number on the lead — the only field in a normalized export that survives across separate jobs. Job records carry no customer key of their own.

A job whose lead has no phone is excluded rather than treated as its own one-time customer. Counting it would manufacture dormancy that is not there: a pile of single-visit customers who are actually one regular, invisible because the export lost the join.

What to do with it

The list is ordered by value and by how far past cadence each customer is. A short, specific message referencing the last job outperforms a campaign, because it is true and it is timed to something real.

The useful follow-up measurement is not opens or clicks. It is whether the gap closed — whether those customers came back, and what the return job was worth.