Notes/Jun 2026
Jun 2026·9 min·Colby

A staffing agency wins a light-industrial placement at a 28 dollar bill rate against a 20 dollar pay rate, books the spread, and moves on. By December that placement earns half what the bid assumed, and nobody ever decided to give the margin away. It leaked a few points at a time, in the places the agency was not watching.

Where the bill rate comes from

Most bill rates are set by gut. The agency matches what the incumbent charged, or names a number the client will accept, and backs into a markup from the pay rate. What usually does not happen is a full cost model. The real cost of an hour is the pay rate plus burden: payroll taxes, workers comp, unemployment, and any benefits the agency carries. Burden runs fifteen to twenty-five points depending on the state and the comp class.

Price off the pay rate alone and the margin looks healthier than it is from day one. An agency that thinks it is making eight dollars on a placement is making closer to four after burden, and that is before anything goes wrong.

Overtime quietly resets the math

When a worker crosses forty hours, the pay rate goes to time and a half. The bill rate is supposed to follow, but the contract may cap the overtime multiplier, or the agency never set one, so OT hours run at a thinner spread than straight time. On a placement that runs heavy overtime, the hours that should be the most profitable are the ones losing the margin.

Nobody watches this in the moment, because OT happens at the worksite and shows up on a timesheet days later. By the time payroll runs, the expensive hours are already worked and the margin is already gone.

The rate increase that never happens

Pay rates climb over a placement's life. Minimum wage moves up, or the market tightens and the worker asks for more to stay. The bill rate does not move with it, because it is locked in the contract until someone reopens the conversation with the client, and that conversation is uncomfortable, so it waits.

The longer a placement runs, the thinner it gets. An agency can have a worker it has given two raises sitting on a bill rate set eighteen months ago, and the spread that justified the placement is mostly gone. Nobody flagged it, because no system was tracking the gap between what the placement costs now and what it bills.

Hours worked versus hours billed

The last leak is the one the reconciliation already chases. Hours land on the worker's timesheet that never make it onto the client invoice, or land there and get disputed because the client's record says something different. Every hour worked and not billed is a full loss, not a margin loss, because the agency already paid the worker for it.

In a shop placing dozens of workers across several clients, a one-in-nine mismatch rate is real money walking out every Friday. The fix is the same record feeding both payroll and the invoice, so an hour cannot be paid without being billed.

What a system changes, and what to check first

A margin system prices each placement off loaded cost, not a gut markup, and then watches the spread for the rest of the placement's life. It flags the placements running heavy overtime and the ones where a pay raise has outrun the bill rate. It surfaces the clients whose blended margin has drifted below the line the agency will accept, so the owner sees which accounts are thin before the renewal instead of after the year closes.

Two things have to be real before building it. An accurate burden number per comp class, because a margin model built on a guessed burden just guesses with more confidence, and the willingness to reopen a bill rate with a client when the data says a placement has gone underwater. Map one month first: pull every active placement, load the true cost, and compare it to what it bills. That alone usually finds three or four placements quietly running at a loss.

More notes
Jun 2026·9 min
How facilities management companies win new maintenance contracts
A facilities company keeps fifteen buildings running and still cannot reliably add the sixteenth, because the people who deliver the service are not the ones chasing the next portfolio. Here is where facilities business development leaks.
Read →
Jun 2026·8 min
Field service quoting: the estimate that leaves days after the tech does
A tech diagnoses the repair on-site, then the quote waits days while someone prices it, and the urgent customer calls the next company. Here is where field service quoting leaks.
Read →
Jun 2026·8 min
The staffing agency that grew on referrals and then stopped growing
An agency fills every req its clients send and still cannot add a new logo, because the people who could sell are buried in the people they place. Here is where staffing business development leaks.
Read →
Jun 2026·8 min
Why commercial cleaning accounts churn in month four
An account that paid on time and never escalated cancels in one email. The misses were small and nobody tracked them, so the first warning was the last one. Here is where janitorial retention leaks.
Read →
Jun 2026·9 min
The facilities maintenance bid: priced on the schedule, bled by the call-outs
A property maintenance company bids the preventive schedule cleanly, then drowns in reactive calls nobody priced. Here is where the margin leaks before the contract is signed.
Read →
Jun 2026·9 min
Proving the clean: commercial cleaning QA before the client complains
Clients judge a cleaning vendor on the one thing they notice, not the forty things that went right. Here is where quality control breaks down and what a system catches before the client does.
Read →
Jun 2026·9 min
Night coverage: how commercial cleaners lose a site before anyone notices
Crews clean thirty buildings a night across a city. When one cleaner no-shows, the gap is invisible until the client emails at 8 a.m. Here is where coverage breaks and what holds it.
Read →
Jun 2026·9 min
The commercial cleaning pipeline: where new accounts leak before the bid
Most janitorial owners prospect in the gaps between running the business, so the pipeline leaks at follow-up. Here is where the accounts go and what holds them.
Read →
Jun 2026·8 min
Why commercial landscaping companies lose track of job costs, and what it takes to see margin per contract
Crew hours sit in the timesheet app. Material costs sit in the bookkeeping ledger. Equipment hours sit on a log in the truck. None of them connect to the contract number, so the margin story is always three months old.
Read →
Jun 2026·9 min
How to audit a commercial cleaning operation for workflow gaps
The quoting log, the payroll close, and the prospect pipeline each signal a different kind of operational drag. Here is what to look for in each.
Read →
Jun 2026·8 min
How facilities teams track open work orders across properties (and where jobs go quiet)
The request came in. The vendor got dispatched. Then nothing. Where work order tracking breaks down at ten properties, and what it takes to fix it.
Read →
Jun 2026·8 min
How janitorial operators price contracts (and where the number goes wrong)
The math closes in an afternoon. The inputs are the hard part. Here is where underbidding starts and how to make the pricing logic repeatable.
Read →
Jun 2026·8 min
Why the RFP response is already late before anyone starts writing
BD found the opportunity. The deadline is in ten days. Most of that window goes to locating the right answers and confirming they are still current, before a word gets written.
Read →
Jun 2026·9 min
The commercial cleaning bid: why it still takes three days
The walkthrough takes 45 minutes. Getting a number to the prospect takes three days. Here is where the time goes.
Read →
May 2026·11 min
How to audit a services business for automation
A practical way to find the workflow bottlenecks worth fixing before anyone starts building with AI.
Read →
Mar 2026·8 min
Why we ship two projects, not five
How we score 30 ideas down to the two that move revenue this quarter.
Read →
Feb 2026·12 min
What we hand off when we leave
A runbook your team uses without us. Here is what it covers and how we test it before we go.
Read →
Jan 2026·15 min
Six engagements, one pattern
Where $1M to $50M services businesses lose revenue, and the fix that held.
Read →