Most cleaning company owners can tell you their revenue. Fewer can tell you their margin. Margin is what you actually keep after paying the crew, supplies, overhead, and everything else that walks out the door before you see a dollar of profit. There are two numbers worth knowing: what you should be hitting on recurring work, and what you should be hitting on one time jobs. They are very different.
Recurring janitorial: 30 percent net is the target
On recurring janitorial, a 30 percent net profit margin is a sign the business is running right. That means out of every dollar you collect, you are keeping 30 cents after paying labor, supplies, insurance, vehicle costs, and the time you spend managing the accounts. The other 70 cents covers all of that before you see anything.
When you price recurring work by the square foot using the 200 to 210 percent markup on labor, you build in enough room to cover overhead and still land near 30 percent. The markup is not arbitrary. It is sized to leave that margin after the real costs come out. Where owners fall short is when they underestimate how long a building takes or when they compete on price instead of on quality.
Thirty percent is not a ceiling. Some accounts run at 35 or 40 percent, usually because the building is efficient to service, the client pays on time, and the crew is dialed in. But 30 is the floor worth protecting. If recurring work is consistently coming in below that number, something in the model needs a look before you take on more of the same.
Post construction and one time work: 50 to 60 percent
One time work runs at a better margin than recurring, and it should. You are not locked into a long-term rate, you are pricing the specific job in front of you, and setup cost spreads differently at scale. For post construction cleaning, the target is 50 to 60 percent on the job itself, and on larger buildings you can exceed that.
A concrete example. I priced a 30,000 square foot post construction final clean at $9,000. Crew and sub costs came to $3,000. I kept $6,000, which is a 66 percent margin on that job. That is on the high end. But larger buildings often run better because the setup cost spreads across more square footage, so the effective labor rate per square foot drops while the per-square-foot price stays the same or close to it.
Deep cleans and strip and wax jobs follow a similar logic. You price per square foot, you know your material and labor cost going in, and you protect the margin at the quote stage, not after the job is done.
Gross margin versus net margin: know the difference
These two numbers get mixed up often, and mixing them up gives you a false read on the business.
Gross margin is revenue minus direct costs: what you paid the crew and what you spent on supplies for that account. If you collect $5,200 a month and direct labor plus supplies cost $2,600, your gross margin is 50 percent.
Net margin is what remains after overhead also comes out: insurance premiums, vehicle costs, equipment depreciation, your management time, software, marketing, and anything else not tied to one specific job. That 50 percent gross can shrink to 28 or 30 percent net once overhead is allocated across all your accounts.
What to look at when margin is running thin
If recurring accounts are consistently coming in under 30 percent net, there are two places to look first before you conclude the market will not support better pricing.
The production rate. If you estimated 4,000 square feet per hour when you built the original bid and your crew is cleaning 2,800 square feet per hour in practice, every hour on that account costs more than you priced for. The gap compounds across every visit and every month. On a 20,000 square foot building serviced five nights a week, that difference in production rate can add up to hundreds of dollars of unrecovered cost per month.
The price. Some owners price to win the account rather than to run the business. If you are bidding against competitors who charge less but cannot sustain those rates, you do not need to match them. Price the job at a number you can service profitably and let the client decide. Clients who value reliability and quality will pay for it. The ones who only care about the lowest number are often the hardest accounts to keep anyway.
The quick check on any account
Take what you collected last month from one account. Subtract what you paid out directly for that account (crew time, supplies used there). Divide the remainder by revenue. That is your gross margin on that account. Then subtract a fair share of your overhead proportional to that account's revenue as a percentage of your total. What is left is the net. If it is not near 30 percent, that is where you start the conversation about price or production rate.
Putting it together
Recurring janitorial at 30 percent net means you are building a real business, not just keeping busy. Post construction and one time work at 50 to 60 percent means each job adds meaningfully to the bottom line without tying up your crew on long-term rates that compress over time.
The margin targets are not guesses. They come from what the cost structure of a well-run cleaning operation actually looks like. If you are falling short, it is almost never the market. It is the production rate or the price, and both of those are in your control. You can see your current pricing margins, account by account, in the CleanOS dashboard, which makes it easier to spot which accounts are pulling the average down before you resign a contract at the same rate.
Know your margin on every account
CleanOS tracks your revenue and cost per account so you can see where margin is healthy and where it needs work, before you re-sign at the wrong number.
Start free