The Quarter DSO Doubled and Sales Were Flat

The review where the number nearly doubled

A nine-person residential and light-commercial shop ran a quarterly numbers review for three years, then moved to monthly. At the first monthly review, the collections figure read 99.2 days. At the last quarterly review, one month earlier, it had read 51.6 days. The owner's words were that it had doubled, and at 1.92 times the prior reading that was close enough to be fair.

Nothing else on the page looked wrong. Completed jobs per week held within 4 percent of the prior quarter. No customer had gone quiet. The owner's read was that customers had started sitting on invoices, and the plan coming out of that meeting was a collections push: reminder calls from day 10, a credit hold at day 30, and a conversation with the two largest accounts about tightening terms.

That plan would have been aimed at customers who had not changed their behaviour at all. Here is how the shop found that out before they made the calls.

All money below is in sales-months, where one sales-month is this shop's average month of invoiced sales. The open receivable was 1.70 sales-months at both reviews.

What was flat, and what "flat" turned out to mean

The owner said sales were flat, and meant the work: jobs completed per week. That was true and it held up under every later check.

The collections figure does not have work in it. Its denominator is invoices issued inside the selected window, divided by the days in that window. Those are two different quantities in a field-service shop, because finishing a job and billing it are separate acts done by different people on different days. In the 30-day window the new monthly review used, invoices issued came to 0.51 sales-months, which is about half of a normal month's billing. Work flat, billing halved, and only one of those two is in the metric.

That is one half of the answer and it was not visible for two more steps, because the first four explanations anyone reaches for are all about customers.

Killing the customer-side explanations

Each of these was checked against the record before it was dropped, and each took under ten minutes.

A customer went bad. If one account had stopped paying, its share of the open receivable would have grown. The largest open account held 14 percent of the book at both reviews. The next four held the same rank order. Nothing had concentrated. Dropped.

Terms changed. If someone had started writing net 45 on quotes, the whole book would drift out. Terms on invoices issued read net 30 on 95 percent of them in the quarter and 96 percent in the month. Dropped.

One large invoice is sitting there. A single stuck invoice can move a small shop's figure on its own. The largest single open invoice was 3.1 percent of the open receivable at the first review and 2.9 percent at the second, and the over-90-day slice held at 5 percent of open money both times. There was nothing large enough and nothing old enough. Dropped.

Customers went from paying early to paying at terms. This one is real in a tightening economy and it would show as the book's age distribution shifting right. That check is below, and it is the one that finally settled the case, but it showed a 1.2 day move, not a 47.6 day one.

The one that looked right, and only half was

The office slipped on billing. This was the first explanation that survived contact with the record, and the evidence for it was immediate: invoices issued in the 30-day window ran at about 0.52 of the quarterly daily rate. One office person had been out for two weeks and nobody had picked up the billing queue.

The trap is that this is a completely correct finding about the shop and a completely wrong explanation of the metric. A billing slip does not make customers pay slower. It does not touch the numerator at all, because the numerator is what is owed on invoices already sent. What it does is shrink the denominator, and on a 30-day window there is no averaging left to absorb a two-week gap.

So the shop had a real problem, and the number in front of them was describing it in a unit that pointed somewhere else entirely. Acting on the number as stated would have produced a collections push, which fixes nothing about a billing queue, while the billing queue kept growing.

The cut: two changes, neither of them collections

Two things changed between the two reviews and they compounded.

The window changed. Moving from a quarterly review to a monthly one moved the denominator's window from 91 days to 30 without anyone deciding to change the metric. The numerator is a current snapshot of everything owed from any date, and the denominator is a windowed flow, so the figure moves with the window chosen. The reference card below owns that explanation; the point here is that nobody in the meeting knew a review cadence was also a metric setting.

The denominator's own rate fell. The two-week office absence halved billing inside exactly the window the new cadence had just selected.

Either change alone would have moved the figure. Together, on a 30-day window, the absence landed undiluted.

The recomputation, side by side

Same shop, same open receivable, same customers, three readings.

Review A, quarterly Review B, new 30-day window Review B, held 91-day window
Open receivable 1.70 sales-months 1.70 1.70
Invoices issued in window 3.00 over 91 days 0.514 over 30 days 2.525 over 91 days
Daily sales rate 0.0330 sales-months/day 0.0171 0.0277
Reported DSO 51.6 days 99.2 days 61.3 days

The third column is the one that was never computed in the meeting. The trailing 91 days at review B contains the disrupted month plus 61 days of the prior quarter: 61 days at 0.0330 is 2.011 sales-months, plus the month's 0.514, giving 2.525 over 91 days. Dividing 1.70 by that daily rate gives 1.70 times 91 over 2.525, which is 61.3 days.

So on the held window the figure moved from 51.6 to 61.3 days, up 9.7 days, which is 19 percent of the starting 51.6. On the changed window it moved from 51.6 to 99.2, up 47.6 days, which is 92 percent of the same 51.6 base. Roughly four fifths of what the shop saw was the window, not the business. And even the remaining 19 percent is the billing slip showing through the denominator, not customers paying slower.

The check with no window in it

The move that settled it took one report and no selected period: the average age of the open receivable, weighted by balance, measured from each invoice's issue date. It is a snapshot divided by a snapshot, so there is no window to choose and no denominator to disturb. Note the datum. This is measured from issue, not from the due date the aging ladder uses, because the question here is how long the money has been outstanding rather than how late it is.

Age since issue Share of open money, review A Share, review B Midpoint age used
0 to 30 days 54% 52% 15 days
31 to 60 24% 25% 45 days
61 to 90 11% 11% 75 days
91 to 120 6% 7% 105 days
Over 120 5% 5% 150 days

Review A: 0.54 times 15, plus 0.24 times 45, plus 0.11 times 75, plus 0.06 times 105, plus 0.05 times 150, which is 8.1 plus 10.8 plus 8.25 plus 6.3 plus 7.5, giving 41.0 days.

Review B: 7.8 plus 11.25 plus 8.25 plus 7.35 plus 7.5, giving 42.2 days.

The book aged by 1.2 days, which is 2.9 percent of the starting 41.0 days, against a headline metric that moved 92 percent. Customers were paying at essentially the same speed. That is the whole finding, and it cost one report.

The problem they did have

Clearing the metric did not clear the month. The shop completes about 14 jobs a week. Across the two weeks the office was short, roughly 28 jobs were finished and about half of them were billed, so the standing pile of completed-and-unbilled work went from 11 jobs to 25. In billing terms the month came in at 0.51 sales-months against a normal 1.00, so about half a month's billing was pushed forward. On net 30 terms that is closer to a month and a half before the cash arrives, and none of it was collectable, chaseable or financeable in the meantime because no invoice existed to age.

That is a genuinely serious problem and it is not a collections problem. It also had a cause worth naming: one person could raise an invoice and nobody else knew how. A shop that can be halved by one person taking two weeks off does not have a staffing gap, it has a single point of failure, and the fix is cross-training rather than hiring.

There is one more thing in the case worth keeping. The quarterly cadence had been averaging this fragility away for three years. The same two-week absence in any earlier quarter would have moved the quarterly figure by a few days and nobody would have looked. The monthly review was the right change even though its first number was wrong, because a shorter window sees things a longer one hides. The error was not moving to monthly, it was letting the cadence silently move the metric's window at the same time.

What the shop changed

Four changes, and three of them are about how the number is quoted rather than how it is computed.

  1. The window goes in the sentence, every time. "Fifty-two on the trailing year" is a fact. "Fifty-two" is the start of an argument. Nobody in that shop now says the number without the window attached.
  2. One permanent trend line on a trailing 365 days, read quarterly, plus a trailing 90-day operating read, read monthly and compared against the same 90 days last year. The review cadence no longer touches the metric's window. A 30-day DSO is not quoted at all.
  3. Average age of the open receivable was added to the monthly pack, as the tiebreaker whenever the headline figure moves and nobody can name what moved it.
  4. Invoices issued per week was put on the same page as the collections figure, because a denominator move now has to be visible as a denominator move. That one change would have answered the original question in the meeting it was asked in.

The general lesson is worth more than the fix: a metric can move because the question changed. When a number jumps and nobody can point at an event, check what you changed about how you are asking before you start acting on what it says.

References

  • See related: universal-days-sales-outstanding-and-the-mismatch-inside-it, which owns the snapshot-over-flow explanation and the countback method for when the answer has to be right.
  • See related: universal-the-aging-buckets-and-what-each-one-actually-costs, for the past-due view of the same receivable and who should work each bucket.
  • See related: universal-time-to-invoice-only-counts-the-invoices-you-sent, for measuring the billing queue that caused the denominator move here.
  • See related: universal-the-close-rate-improved-because-they-stopped-quoting, which owns the general rule that a ratio cannot be read without the counts underneath it.