CASE STUDY · SWPPP CONTRACTOR

$24,000 IN NET PROFIT. THEN $1.1 MILLION.

QUICK ANSWER

An erosion control and SWPPP contractor was doing $5.2M and netting $24,000. Sites weren't tracked individually, so nobody knew which ones earned and which ones consumed the earnings of the others. We built per site job costing, corrected the overhead rate, and added WIP reporting. Net profit reached $1.1M the following year.

A SWPPP and erosion control business runs dozens of sites at once, each with its own inspection schedule, material draw, and crew travel, and each one small enough that no single site justifies its own report. That's what makes this trade uniquely exposed. Averaged together the sites produced a company that looked roughly break even, and the average was hiding a wide spread where a handful of sites were funding the rest. Giving every site a visible number was the whole intervention, and it worked because the profitable work was already in the building.

BY JOSH LUEBKERPublished June 2026Updated August 2026
THE SITUATION

A $5.2M SWPPP SUB. FIFTY SITES, ONE NUMBER.

An erosion control and SWPPP contractor doing $5.2M a year, running inspection, installation, and maintenance across a large number of active sites for civil general contractors and developers. Crews were experienced and the customer base was strong enough that work was never the constraint. The company netted $24,000 on $5.2M, which as a profit generating business barely registered.

THE PROBLEM

NO IDEA WHICH SITES PAID.

Every site was billed and costed into one pooled view, so the company knew what it made in total and nothing about where. A site with long crew travel and heavy maintenance looked identical in the accounting to a site 10 minutes away that needed almost nothing.

Pricing was set the same way for all of them, which meant the sites that were expensive to service were priced as though they were cheap. Nobody was declining or repricing anything, because there was no information that would have told them to.

Overhead was also carried at a rate nobody had recalculated against the current volume, so the pooled number that did exist was wrong in a second way on top of being pooled.

WHAT WAS REALLY WRONG

POOLED COSTING HIDING THE SPREAD.

The chain ran from job costs pooled at the company level instead of tracked per site, into pricing that couldn't reflect the real cost to serve a site, into a portfolio where profitable sites subsidised unprofitable ones, into a net margin near zero at a revenue level that should have produced real money.

The Job Profitability System was the module that wasn't running, and this is its clearest possible failure mode. Multi site service work can't be managed on an average, because the average is the one number guaranteed to describe none of the sites.

Job Profitability System
THE INTERVENTION

WHAT CHANGED, WEEK BY WEEK.

Week 1: Split the existing cost data by site as far as the records allowed, which produced the first view of the spread between best and worst.
Weeks 2 to 4: Built per site job costing so crew time, travel, and material posted against the site that consumed them from that point forward.
Month 2: Recalculated the overhead rate against current volume and loaded a real cost to serve into pricing for each site type.
Months 2 to 3: Added monthly WIP reporting so every site carried a visible number and repricing or exiting a site became a routine decision rather than an argument.
THE OUTCOME

THE NUMBERS, NOT THE FEELING.

$24K to $1.1M
Net Profit
$1,105,000
Net Profit, 2025
30%
Net Margin
$1.6M
Less Revenue Than Peak Year

In 2025 the company netted $1,105,000, a 30 percent net margin, on $1.6M less revenue than its peak year. The revenue it gave up was the revenue that had been consuming the profit of everything else.

Total time from first call to per site reporting running every month: about 10 weeks. The full profit result showed in the following complete year.

WHAT THIS MEANS FOR OTHER CONTRACTORS

DOES THIS SOUND FAMILIAR?

This applies to any contractor running many small jobs or sites at once rather than a few large ones. The signals are consistent: costs are pooled because no single site seems big enough to track, pricing is broadly the same across very different sites, revenue is respectable and net profit isn't, and nobody can point at the worst site in the portfolio.

If you can't point at your worst three sites without looking, the average is doing the same work here that it was doing there.

See how CFOS applies to SWPPP subcontractors specifically on theSWPPP Operating System page, or book a 20 minute call and bring your own numbers.

COMMON QUESTIONS

FREQUENTLY ASKED.

Because job costs were pooled at the company level instead of tracked per site, so pricing couldn't reflect the real cost to serve each site and profitable sites were subsidising unprofitable ones. The Job Profitability System wasn't running, and multi site service work can't be managed on an average, since the average is the one number that describes none of the individual sites.
Net profit went from $24,000 to $1.1M the following year. In 2025 the company netted $1,105,000, a 30 percent net margin, on $1.6M less revenue than its peak year. Per site reporting was running monthly in about 10 weeks, and the full profit result showed in the next complete year.
Yes, and it applies to SWPPP, erosion control, and any environmental or inspection service contractor roughly between $1M and $12M that runs many small sites at once. The trade is the most exposed to this failure because no single site is large enough to justify its own report, which is why pooling feels reasonable and costs the most.
WHAT THIS TIES INTO
Josh Luebker, The Construction CFO
Josh Luebker
FRACTIONAL CFO · THE CONSTRUCTION CFO

Former commercial project manager and master electrician: 150+ projects worth $2.1B combined, from $50,000 to $300M. Now fractional CFO to commercial subcontractors.

CAN YOU POINT AT YOUR WORST THREE SITES?

Bring a list of your active sites and last year's numbers. We will find the spread on the call.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute diagnostic

20 minutes. No sales pressure. We will tell you exactly what's broken before we talk about anything else.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.