Skip to main content

How do I tell whether a gap between booked revenue and completed revenue is a cancellation problem or a scheduling problem?

Revenue Intelligence Published August 7, 2026
Short Answer

Follow the same jobs, not the same weeks. Pull every job booked in a period and check where each one ended up: completed, still scheduled, rescheduled, cancelled by the customer, or cancelled by you. A cancellation problem shows up as jobs that died. A scheduling problem shows up as jobs that are still alive but sitting well past their original date. The fixes are unrelated.

The gap is a queue before it is a leak

Booked revenue is a promise. Completed revenue is a fact. Between them sits a queue of work that has been sold but not yet done, and that queue has a normal size. If your average job sits eight days between booking and completion, then at any moment roughly eight days of revenue is legitimately in flight. That is not a problem, it is inventory.

The mistake is comparing this month's booked total to this month's completed total. Those two numbers describe different job populations. A month where you booked heavily at the end will always look like it is losing revenue, and a month where you cleared a backlog will look like it invented revenue out of nothing. Cohort the jobs instead, which is the same discipline described in revenue intelligence.

Age the open jobs, then read the shape

Bucket every still-open booked job by days since it was booked. The shape of that distribution is the diagnosis.

  • Front-loaded and small. Most open jobs are a few days old and the tail is short. This is healthy inventory, and the gap will close on its own.
  • A fat middle. A pile of jobs sitting two to four weeks out means you are booking faster than you can dispatch. That is capacity, not sales.
  • A long tail that never clears. Jobs that have been open for months are usually dead but never closed out. They inflate booked revenue permanently and quietly destroy the credibility of every forecast built on it.

Cancellation reasons are only useful when they are forced

Most field service systems allow a cancellation reason and most shops leave it blank or type something free-form. A blank reason field means you can measure that revenue disappeared but never why. Forcing a short, closed list at the moment of cancellation — customer rescheduled, customer used a competitor, we could not staff it, price, out of area — turns a mystery into a report.

When the reasons are captured, the categories split cleanly. Customer-side cancellations point at speed to appointment and at how the call was handled, which is where call analysis earns its keep. Company-side cancellations point at capacity, dispatch and parts.

What each diagnosis actually implies

A cancellation problem is a sales and speed problem. The customer had a live need, you had it booked, and someone else got there first or the price landed wrong. That is worked through coaching, follow-up cadence and time to appointment.

A scheduling problem is an operations and capacity problem, and spending more on marketing makes it worse. If you cannot tell the two apart from your reporting, that gap in visibility is itself the thing to fix first — it is the most common reason a revenue dashboard gets ignored. Operational AI exists to close exactly this kind of loop between systems that each hold half the answer.

Topics: booked revenue · completed revenue · cancellations · scheduling · diagnostics

Have a version of this question about your own business?

The useful answer usually depends on which systems you run and how they're connected. That's a conversation, not a blog post.

Related Answers

People who read this also asked

Browse the Answer Hub →

AI is easy to access. Making it useful is hard.

Bluefrog makes AI useful by integrating it with the way your business actually works — your software, your calls, your customers, your marketing and your revenue.

Technology development since 1997 · AI integration platforms since 2001