A commercial cleaning company can hold an account through three months of clean invoices and lose it in a single email that opens with we have decided to go another direction. Nobody saw it coming, because the things that lost the account were each too small to report, and no one was adding them up.
Accounts rarely leave over price
The cancellation email usually blames budget or a board decision. That is the reason given, not the cause. Accounts that actually leave over price leave in the first ninety days, while the number is still fresh. The ones that leave at month five leave over confidence, and confidence erodes one small miss at a time. A bin missed on a Tuesday. A restroom complaint that got a verbal apology and never a fix, then the week the regular crew got swapped and the client felt the difference.
Any one of those is forgettable, and the client mostly does forget it. What sticks is the slow sense that the vendor stopped paying attention. By the time that feeling has a name, the client has already called a competitor for a walkthrough.
The misses nobody logs
A complaint handled on the phone leaves no record. The supervisor smooths it over, the crew fixes it that night, and nothing about it lands anywhere the owner will ever see. The same goes for the QC inspection that did not happen because the supervisor was covering a call-out, and the small service drift that no one flags because each week looks fine on its own.
So the account reads as healthy right up until it cancels. It pays on time and it does not escalate, and those are the only two signals most cleaning companies actually track. Everything that predicts the churn is happening at the site, in conversations and walkthroughs that never reach a system.
Month four is when the attention moves
A new account gets the A-crew and the owner's eye for the first stretch, because winning it is fresh and the company wants to prove itself. Then a bigger account gets signed, the strong crew rotates to the new site to make that first impression, and the original account quietly gets the B-team. The client did not get a memo, but they feel the floors.
This is why janitorial churn clusters in months four through seven rather than at renewal. The drop in service lands a few months after the start, the client sits with it for a while before acting, and the cancellation shows up a quarter later looking like it came out of nowhere.
What a retention system surfaces
The fix is a record per account the owner can actually watch: the QC scores over time, and every complaint logged with how it got resolved. It also shows whether the inspection schedule is being kept at all. None of that is exotic data. It is the stuff already happening at the site, captured instead of forgotten.
Once it exists, the three accounts trending down are visible months before they would have cancelled, and the owner can do something while there is still something to do. A call, a crew correction, an extra walkthrough. Retention stops being a surprise the company absorbs four times a year and becomes a number it manages.
Before you build it
Two things have to be real first. Inspections that actually get run, because a retention model built on inspections nobody performs is just a prettier blind spot, and complaints that get logged instead of smoothed over and forgotten. Both are habit changes before they are software, and the software is what makes the habit worth keeping.
Map last year's losses to start. Pull every account that cancelled, mark the month it left and the month service likely slipped, and look for the warning signs that existed but lived in someone's memory. That review usually shows the churn was visible the whole time, just never anywhere two people could see it.
