Back to All Blogs
Business Growth

Inside a Seattle Shop's $2.4M Margin Turnaround

Apr 16, 2026 7 min read
Inside a Seattle Shop's $2.4M Margin Turnaround

Reactive pricing and loose material buying are quiet killers on the West Coast when summer and fall demand spikes. A lot of owners look at a 22.8% gross margin on paper and assume the season is printing money, then wonder where the cash went when October statements land.

This is a four-step margin protection playbook built around labor swings, I-5 corridor supply noise, and intake that respects your production limits. The goal is simple: move off a take-every-job reflex and toward bids that still pay you after the season compresses.

Table of Contents

The high cost of the "Yes" trap

Volume can hide a smaller paycheck if travel, labor, and intake get sloppy.

13.8%
Average margin erosion in West Coast shops during unmanaged growth cycles

When hiring heats up and routes stretch, gross can look fine while net quietly compresses. This is the season where weak systems show up as personal income that flatlines or falls.

Six months ago I reviewed a profit and loss statement for a Puget Sound shop run by an owner I will call Vance. Revenue was up 41% year over year and the calendar was full into November. Net income told a different story. He was taking home about $8,432 less per month than when volume was roughly half the size.

Vance had slipped into the yes trap. When demand runs hot, the reflex is to grab every shingle-over and full replacement that hits the inbox. On the West Coast that reflex collides with labor that is not stable. When every company in the county is hiring, the fully loaded cost of a reliable sub or a lead installer moves. If your bid still assumes April labor but the deck work happens in August, you are funding the gap yourself.

Then there is the distance problem. In a growth sprint, shops often creep outward from the yard to keep crews busy. Vance was bouncing crews from Renton up to Everett and down to Tacoma in the same week. Fuel, wear, and non-productive drive time were eating about 4.7% of gross margin before the first bundle opened. The SBA Grow Your Business guide frames this plainly: growth without operational discipline turns into cost pressure that shows up late, often as cash tightness when you still feel busy.

The 45-minute rule

"During peak season, set a hard 45-minute travel radius from your yard. Outside that ring, add a location surcharge of at least 8.6% so non-productive windshield time and fuel do not quietly erase gross."

Why your bidding strategy fails under pressure

Flat cost-plus math breaks when materials and labor move faster than your template.

The second leak was bidding logic. Vance used a standard cost-plus model that behaved during slower spring months. The West Coast material lane is not stable. Wildfire-related shipping friction and manufacturing shifts can move architectural shingles or TPO pricing by about 11% inside sixty days.

If your contract does not carry a specific material escalation path, you are betting the supply chain stays polite. Vance carried about $1.2M in signed work he had not bought for yet. By the time crews reached those jobs, material cost had drifted up by $14,640 in aggregate. That came out of his margin, not the client's checkbook.

Peak season also punishes vague intake. A senior rep chasing a price-focused walkthrough burns hours that should go to scoped, ready-to-decide homeowners. I have measured sales teams losing nearly eighteen hours a week to low-intent appointments when boards look full. If you want sharper handoffs between sales and production, the LeadZik blog library has field-focused breakdowns that help owners spot where time leaks before it hits the schedule.

Bid logic under peak load

Material risk
Flat
Pricing frozen at date of sale
Margin-protected
Escalation clause with a clear 5% trigger
Labor assumption
Flat
Single labor rate all season
Margin-protected
Surge pricing when local hiring pressure spikes
Travel
Flat
No distance adjustment
Margin-protected
Surcharge outside a defined service radius
Intake
Flat
General queue, first come first served
Margin-protected
Filtered intake tied to roof type, size, and urgency

The pivot to margin-first operations

Protect net by tightening what gets scheduled, not by begging for more top line.

We did not start with more leads. We started with cleaner qualification and tighter execution. First, a margin floor. During peak, anything on the schedule had to clear about 38% gross margin minimum. Steep slope, heavy ventilation, or complex tie-ins pushed the floor closer to 44% so production risk did not eat the job silently.

Pipeline rules changed next. Instead of feeding sales from every low-fit list that creates a bidding war, we built a filtered intake path. We wanted roof type, approximate size, and timeline before we committed a crew day. If you are weighing how exclusivity changes your true cost to close, the LeadZik FAQ walks through refunds, territory rules, and what verified demand means in plain language.

Vance also pulled material forward. A modest line of credit let him pre-order about $250,000 in standard shingle stock and underlayment in May, ahead of the July increases. That single hedge protected roughly $22,500 in profit that would have otherwise disappeared into supplier moves.

The overtime trap

Running crews past sixty hours every week feels like serving demand, but efficiency tends to fall after about fifty hours while overtime lifts labor cost by roughly half again. A longer backlog with sane hours often banks more margin than an exhausted sprint.

Implementing the protection playbook

Say no to the wrong work so the right work can carry the shop.

If you want a turnaround in the neighborhood of Vance’s $2.4M swing in profitability, you have to treat pruning as strategy, not failure. The Harvard Business Review small business topic keeps returning to the same idea: growth without selectivity often trades away lifetime value for short revenue spikes.

I like a monthly margin audit. Pull your last ten completed jobs and compare actual net to what estimating promised. If you are routinely off by more than 3.5%, you have a leak in software assumptions, crew waste, or supplier drift. In Vance’s case, hip and ridge waste sat near 12% because nobody owned bundle returns on complex cuts.

What margin protection actually changes

Travel and surge labor belong in the bid as explicit numbers, not as hope that averages will save you.

Escalation language and early buying turn supply volatility from a surprise tax into a managed line item.

A margin floor plus filtered intake keeps production on roofs that match your crew strengths, not every open slot.

Overtime as a default lever usually costs more in rework and fatigue than it returns in billed squares.

Action Plan

Four audits that surface busy-season leaks

Run these in order so you fix the biggest cash drains before you tune smaller line items.

1

Calculate a real labor rate for the last thirty days, including workers comp, payroll tax, and overtime averages.

2

Match your last five material invoices to the quotes used on those jobs and flag any category that moved more than your template allows.

3

Plot last month’s job locations and divide fuel plus non-billable drive hours by crew to see true travel cost per ticket.

4

Rank lead sources by profit per appointment, not just cost per name, and starve the channels that burn senior rep hours.

Long-term growth sustainability

Slower revenue with stronger net is still a win if you are building a business, not a treadmill.

By October the shop looked different. Revenue growth slowed to a steadier 28%, but net profit was up about 19.4% compared with the chaotic stretch. Net margin settled near 24.1% on the work he chose to keep, with fewer crews on the road and higher quality roofs in the mix.

The West Coast will stay competitive. Margin protection is not flashy. It is discipline on numbers, early buying when it makes sense, and intake that respects your crews. When sales stops chasing every low-commitment appointment and focuses on homeowners ready to pay for quality, growth gets easier to run without the October cash surprise.

Vance still has storms, supply hiccups, and hiring pressure. The difference is his bids now carry the real cost of those realities, and his schedule refuses work that would have looked like revenue but behaved like debt.

Common Questions

Name the volatility plainly. The clause exists so you do not swap to thinner underlayment or skip details when supplier pricing jumps. Most homeowners accept it when you pair the clause with a fixed quality standard and a clear cap.
Share