SaaS × TradesMarch 2025

The No-Show Tax Nobody Invoices

A plumber's Tuesday has 6 slots. One no-show costs $250 in dead time. Overbooking recovers it — if you model cancellation probability per slot, not per day.

A residential HVAC company runs 12 trucks. Each truck books 6 jobs per day. Average ticket: $380. No-show rate across the industry: 12–18%. That's 8–13 empty slots per day across the fleet. At $380 each, the company bleeds $3,000–$5,000 per day in lost revenue — not from bad marketing or pricing, but from empty driveways.

Most scheduling software treats this as a reminder problem. Send an SMS the night before, send another one in the morning. That gets the no-show rate from 18% down to maybe 12%. Still $3,000/day. The actual fix is overbooking — but naive overbooking creates a worse problem: two customers expecting a plumber at 2 PM and one of them getting ghosted.

Why Flat Overbooking Doesn't Work

Airlines overbook by a fixed percentage — 5% on a 200-seat plane means selling 210 tickets. This works because all seats are identical. Field service slots are not. A Monday 8 AM slot has a 6% no-show rate. A Friday 4 PM slot has 22%. Overbooking Monday morning causes double-bookings. Under-booking Friday afternoon leaves money on the table.

The Model

For each slot on each day, estimate the cancellation probability from historical data conditioned on:

FeatureWhy it matters
Day of week + time slotFriday afternoon cancels 3× more than Tuesday morning
Job typeMaintenance cancels more than emergencies (obviously)
Days since bookingBooked 3 weeks ago → higher cancel rate than booked yesterday
Prior cancellations by customerRepeat offenders are predictable
Weather forecastRain kills exterior jobs — roofing, painting, concrete

A logistic regression or gradient-boosted classifier outputs per slot. Then the overbooking decision for truck with capacity slots:

Book jobs into slots. The penalty term is the cost of a double-booking — sending a tech to reschedule, giving a discount, losing the customer. For most trades, that penalty is 2–3× the ticket value. The model finds the sweet spot where you recover no-show revenue without creating service failures.

The math behind "Show(n)"

If you book jobs into a slot block, each with independent cancel probability , the number that actually show up is:

This is a Poisson Binomial distribution — not a regular binomial because each slot has a different . Computing exactly uses the DFT-based algorithm in , but for 6–8 slots per truck the naive convolution is fast enough.

What This Looks Like at a 12-Truck Company

Before (no overbooking):
  72 slots/day × 85% show rate = 61 jobs completed
  Revenue: 61 × $380 = $23,180/day

After (slot-level overbooking):
  79 booked → 68 show, 0.3 double-bookings/day
  Revenue: 68 × $380 - 0.3 × $760 penalty = $25,612/day

Delta: +$2,432/day → +$633K/year
Double-booking rate: 0.4% of slots

The $633K/year isn't from selling more. It's from filling slots that were already dead. No new trucks, no new techs, no new marketing spend.

The Waitlist Queue

Overbooking handles the expected no-shows. But when a cancellation comes in same-day, the system needs a ranked waitlist of customers who can take a short-notice appointment. Rank by: geographic proximity to the truck's current route (minimizes drive time), job ticket value, and customer lifetime value. The SaaS product that does this well owns the dispatch workflow — and that's where retention lives.

The counterintuitive result: the companies with the highest no-show rates have the most to gain from overbooking — not the least. A 6% no-show rate doesn't justify the model. An 18% rate makes it a $600K+ revenue recovery tool.