The pattern: an owner sets his pricing against a target labor productivity number, then never measures whether the crew is hitting it. Every new crew inherits the same pricing and the same reality gap. The lesson: the difference between intended and actual fill rate is the cascade. It converts to lost margin on every job. Growing the crew count with the same gap only grows the cascade.
What Actually Happened
A commercial landscaping company, fourteen-year history, four crews at intake, growing to six over the season, primarily commercial property maintenance contracts. Revenue at $3.2 million, growing to a projected $4.5 million on the six-crew configuration.
Pricing model was crisp. The owner had built it himself with a former CPA. Labor priced at $58 per billable hour blended. Materials at 1.35 markup. Overhead applied at 18 percent. Target gross margin at 41 percent. Target labor productivity at 88 percent, meaning of every hour paid, 88 percent should book to a job ticket.
The bank balance did not agree. Every month closed lighter than the pricing model said it should. The owner blamed the season, then the weather, then a bad contract, then a slow-paying customer, then all four.
Return to Owner ran the labor productivity biomarker across the four crews. Blended, they were running at 71 percent, not 88. On the two worst-managed crews, they were running at 63. Every one of the 176 job tickets in the trailing twelve months was priced against a productivity number the field had never once delivered.
The Read
This is the cascade effect. The doctrine name is exact. Intended fill rate at 88. Delivered fill rate at 71. The 17-point gap converts to a gross margin gap on every hour of labor billed. Not on some hours. Every hour.
Run the math. At $58 blended and 88 percent productivity, every paid hour was supposed to produce $51.04 in booked revenue. At 71 percent, it produces $41.18. The difference, $9.86 per paid hour, is the cascade. Multiply by 34,000 paid labor hours a year and the cascade converts to $335,000 a year in gross margin dollars that never showed up.
Look at his Minimum Mandatory Profit. His MMP is set correctly against his intended margin structure. His actual margin structure produces $335,000 less than intended. That $335,000 is exactly the shortfall against MMP that was showing up as month-end cash pressure.
Run the Layer Cake with delivered productivity in Layer 4 instead of intended. Layer 4 intended gross margin drops from 41 to about 32. Layer 3 required gross margin dollars is unchanged. Layer 5 breakeven sales volume moves from $3.6 million to $4.7 million. He was priced to break even at $3.6M. He was actually breaking even at $4.7M. Six crews at the actual fill rate produce a projected $4.5M in revenue, which is still below the actual breakeven. He was scaling deeper into a loss.
Why More Crews Is the Wrong Move
The instinct is to hire. More crews, more contracts, more revenue. The pricing looks right. The pipeline looks strong. The banker is willing.
The problem is that every new crew is priced at the intended fill rate and staffed at the actual fill rate. Each new crew inherits the cascade. Every new crew makes the shortfall against MMP larger, not smaller.
The Aldebert Verdict was blunt. Pause new crew hiring for one season. Fix the four crews already on the road. Get the blended productivity from 71 to 82 before the sixth crew is even discussed. A four-crew shop at 82 percent productivity throws off more profit than a six-crew shop at 71. Same revenue base, less overhead, less scheduling friction, less new-hire training drag, and a real margin structure that finally matches the pricing model.
The Villains in the Room
The pricing model that never got checked. A former CPA built it, cleanly, five years ago. Nobody has run a variance analysis on it since. Pricing models degrade. Cost inputs move. Productivity assumptions drift. Nobody was reviewing the assumptions, so the pricing was quietly wrong for three years.
The scheduler. Nobody was tracking billed hours against paid hours at the crew level. The scheduler had a spreadsheet. The spreadsheet showed paid hours. It did not show billed hours. The gap between the two was invisible in the field until Return to Owner surfaced it.
Growth pressure. The owner was afraid of losing his current contracts to slower service. He was hiring to protect the book. He was also digging faster. Growth pressure is a real villain. It can be countered only by discipline about the numbers underneath the growth.
The Owner Pushback
He fought this one because he had built the pricing model himself.
“My pricing is right. Every job we bid comes back in the target range. The issue is execution.”
Here is the answer, line by line.
“My pricing is right.” Your pricing was designed against a productivity assumption the field has never delivered. That does not make you wrong to have set the assumption. It makes the assumption wrong for your reality. Same number, different diagnosis.
“Every job we bid comes back in the target range.” The bid is priced at intended margin. The job is delivered at actual margin. The 10-point gap between the two never shows up on the bid ticket. It shows up in the month-end close. That is why the pipeline looks strong and the cash keeps getting tight.
“The issue is execution.” Half right. Execution is what closes the gap between intended and actual productivity. So we agree there. Where we disagree is on whether hiring a sixth crew improves execution or just spreads the same gap across more headcount. It spreads the gap. Fix the four before you hire the fifth.
The Lesson
Every pricing model implies a productivity assumption. Most owners never write that assumption down. When the crew delivers below it, the pricing is silently wrong. Growth compounds the wrongness.
Return to Owner reads intended versus delivered fill rate as a leading indicator. Not once a quarter. Every week. Track it. Post it. Fix it before you hire the next crew. Otherwise the next crew arrives with the same cascade and the same shortfall.
The one-sentence version: scaling a productivity gap is not growth. It is a bigger version of the same problem.