Days Sales Outstanding · Part 2
Does every DSO wobble need an explanation?
September 11, 2026
Part 1 ended in a monthly review. DSO came in above forecast, and the question “what happened?” went to accounts receivable.
The number moved, so something happened. The real question is whether the movement says anything about the process behind it.
DSO moves every month, even when nothing in credit, billing or collections has changed. A quiet sales month can push it up on its own. A comparison with last month or with forecast cannot separate that from a real change.
Ask for an explanation of every movement and you will always get one. Someone will find a customer, a dispute or a holiday to point at. The explanation will sound reasonable, and most months it will describe noise.
Routine and exceptional variation
Walter Shewhart made the distinction in the 1920s. Some variation comes from the many small causes that are always present. Some comes from a specific change. Deming called them common and special causes, and Donald Wheeler calls them routine and exceptional variation.
A special cause can be found and dealt with. Routine variation has no single cause to find, and reacting to it every month adds effort and can add variation. Deming demonstrated this with his funnel experiment and called it tampering. In AR it looks familiar. DSO up half a day, a collections push. DSO down a day, the push gets the credit. Next month it drifts back.
The XmR chart
The XmR (individuals and moving range) chart separates the two using the monthly figures already in the reporting pack. Take a run of months you consider stable. Calculate the average DSO and the average moving range, which is the average absolute change from one month to the next.
A month outside the limits is a signal. A second limit, 3.27 × the average moving range, flags an unusually large jump between two months. Both constants are standard (NIST handbook).
The chart only works if every month uses the same DSO definition and the months are comparable (Deming Alliance).
A worked example
The data is synthetic, made up for this article, with three situations built into it.
The baseline year, October 2024 to September 2025, averages 47.1 days with an average moving range of 0.65. The limits are 45.3 and 48.8 days. Twelve months is enough for an illustration. With real data, treat limits from a short baseline as provisional.
A. June 2025, up 1.6 days. The biggest monthly jump of the year. It stays inside the limits, and the jump is under the 2.1 range limit. No signal, so no basis for a collections push on this number alone. A known problem with a specific customer is still worth looking at, for its own reasons.
B. December 2025, 49.3 days. Above the upper limit. This is a signal and it deserves a question. January is back at 46.8, inside the limits, so whatever happened did not last. The two red bars in the lower chart are the same event: the jump up into December and the drop back out of it. January itself is normal. The chart does not say what happened in December. Finding out is a separate job.
C. February to September 2026. No month breaks the limit, but eight in a row sit above the average, about a day higher. The run rule fires in September. Looking back, the shift starts in February. This is the most important signal in the series and the easiest to miss month by month.
The example uses three detection rules.
| Rule | What it looks for | Fires here |
|---|---|---|
| 1 | One month outside the limits | December 2025 |
| 2 | Three out of four months closer to the same limit than to the average | September 2026 |
| 3 | Eight months in a row on the same side of the average | September 2026 |
Rules 2 and 3 catch shifts too small to break the limits. Each extra rule also adds false alarms.
The synthetic data
| Month | DSO (days) | Moving range |
|---|---|---|
| Oct 24 | 47.2 | |
| Nov 24 | 46.8 | 0.4 |
| Dec 24 | 47.5 | 0.7 |
| Jan 25 | 46.9 | 0.6 |
| Feb 25 | 46.4 | 0.5 |
| Mar 25 | 47.0 | 0.6 |
| Apr 25 | 47.3 | 0.3 |
| May 25 | 46.6 | 0.7 |
| Jun 25 | 48.2 | 1.6 |
| Jul 25 | 47.4 | 0.8 |
| Aug 25 | 46.9 | 0.5 |
| Sep 25 | 46.5 | 0.4 |
| Oct 25 | 47.1 | 0.6 |
| Nov 25 | 46.7 | 0.4 |
| Dec 25 | 49.3 | 2.6 |
| Jan 26 | 46.8 | 2.5 |
| Feb 26 | 47.9 | 1.1 |
| Mar 26 | 47.6 | 0.3 |
| Apr 26 | 48.3 | 0.7 |
| May 26 | 47.8 | 0.5 |
| Jun 26 | 48.1 | 0.3 |
| Jul 26 | 47.7 | 0.4 |
| Aug 26 | 48.4 | 0.7 |
| Sep 26 | 48.0 | 0.4 |
What the chart cannot tell you
A signal says when something changed. It does not say what changed or who changed it. A shift like C could come from new terms for a large customer, a change in sales mix, slower collections or a billing backlog.
The baseline matters. A spike or a shift inside it widens the limits. Recalculate after known changes such as a new ERP or a new DSO convention, and never across the period where you are looking for a shift.
Consecutive months can move together, because receivables carry over from one month to the next. That can make the limits too tight and produce false signals, a known weak spot for this kind of chart (NIST).
Seasonality can also mislead. A December that is high every year gets flagged every year, or widens the limits for everything else. Compare December with previous Decembers.
Statistical and business questions
The chart asks whether a month is different from what the process usually produces. It does not ask whether the process is good enough. DSO can be stable at a level the business cannot afford. That calls for a change to terms, credit policy, billing or collections, and the chart then shows whether the change worked.
Forecasts need care. Here, a three-day miss against a forecast set at the baseline average would be a signal. If the forecast already includes expected changes in sales or terms, check the miss against those assumptions instead.
None of this replaces the monthly reconciliation of how receivables and sales moved DSO. The chart helps decide which movements need further investigation.
Checklist: before asking AR what happened
- Is the month outside the limits, or just different from last month?
- Inside the limits, are recent months running on one side of the average or bunching near one limit?
- Does the baseline exclude known changes to terms, systems or the DSO calculation?
- Is this a seasonal pattern, and does it match previous years?
- For a signal, has anyone looked at both receivables and sales before deciding who explains it?
Try it on your own DSO
Paste your monthly figures below. There is also a full-page version to bookmark.
Part 3 covers the reconciliation: how much of a DSO movement came from receivables and how much from sales.
Paste or type your monthly DSO, oldest month first. One value per line works, and so does two columns copied straight from Excel (month, then DSO). Everything is calculated on your machine. The numbers are not sent anywhere and not saved.
The limits come from the first this-many months. Pick a run you believe was stable.
Want to keep it, or run it on more months? Download the Excel version.
Your chart appears here once you press Calculate.
- Average
- Avg moving range
- Upper limit
- Lower limit
- Range limit
Filled red: the month a rule fires. Hollow red: the months that make up that pattern. Red bar: a jump over the range limit. Hover or tap a month for its numbers.