Skip to main content
JOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORECFOSJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORECFOSJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFO
THE CONSTRUCTION CFO BOOK A FREE CALL

SWPPP CONTRACTOR COST PER SITE JOB COSTING

QUICK ANSWER

SWPPP and erosion control contractors run a structurally different operations pattern than other commercial trades — 20–80 active sites simultaneously, recurring inspection and maintenance work spread across the portfolio, low individual site dollar values but high portfolio aggregate. Most SWPPP subs aggregate cost across all sites instead of tracking per-site profitability. The result: some sites carry the business (high frequency, easy access, cooperative GCs) while others bleed margin (remote locations, difficult access, problem GCs, weather-prone areas). Without per-site visibility, the bidding pattern repeats the cost structure that’s actually losing money.

A $5M SWPPP business running 60 active sites probably has 35 profitable sites subsidizing 25 unprofitable ones. The aggregate looks fine. The portfolio is bleeding.

PUBLISHED JUNE 12, 2026 BY JOSH LUEBKER UPDATED JUNE 12, 2026
THE PATTERN

WHY SWPPP WORKS DIFFERENTLY

SWPPP and erosion control work has structural characteristics that don’t match other commercial trades. Individual sites typically generate $5K–$50K per year in revenue (vs. $50K–$5M for typical commercial projects). Most revenue comes from recurring inspection and maintenance work rather than one-time installation. A typical SWPPP sub runs 20–80 active sites simultaneously, with crew time spread across the portfolio based on inspection schedules and rain event response.

The aggregate financial picture looks reasonable on most SWPPP businesses. The portfolio reality — which specific sites are making money and which are bleeding margin — is hidden because cost gets aggregated at the company level rather than tracked per site. Some sites carry the business; others lose money on every visit. Without per-site visibility, the owner can’t tell the difference and the bidding pattern keeps repeating the structure that’s losing money.

FIVE PROBLEMS WITHOUT PER-SITE COSTING

WHERE THE MARGIN HIDES

PROBLEM 1

TRAVEL TIME ABSORBED ACROSS THE PORTFOLIO

Sites have different drive times from the yard. A site 8 miles away takes 30 minutes round trip; a site 65 miles away takes 3 hours round trip. Travel time absorbed into general overhead means both sites look equally profitable per inspection — even though the remote site costs 4–6x more in crew time and fuel. Remote sites that should be priced 30–50% higher get priced the same as close sites.

PROBLEM 2

RAIN EVENT RESPONSE COST UNALLOCATED

NPDES requirements trigger inspections within 24–72 hours of qualifying rain events. Crews mobilize across multiple sites in response. The cost of rain event response often gets absorbed into general overhead. Sites that trigger frequent response (storm-prone areas, complex sites with multiple BMP requirements) cost dramatically more than steady-state sites. Without allocation, the cost structure looks the same.

PROBLEM 3

MATERIAL CONSUMPTION VARIES BY SITE

Some sites consume erosion control materials (wattles, silt fence, rock filters, hay bales) at much higher rates due to site conditions, construction phase, or recurring failures. Material cost aggregated to general overhead hides which sites are material-heavy. Pricing assumes average consumption that doesn’t match individual site reality.

PROBLEM 4

GC RESPONSIVENESS VARIES BY SITE

Different GCs handle SWPPP differently. Some respond promptly to deficiency notices, schedule remediation work, pay quickly. Others ignore deficiency notices, drag remediation, slow-pay. The cost of dealing with difficult GCs — repeated visits, extended documentation, collection effort — gets absorbed into general overhead instead of allocated to the specific GC relationships causing the cost.

PROBLEM 5

BIDDING REPEATS THE LOSING PATTERN

Without per-site profitability data, the bidding pattern repeats whatever structure is in place. The sub keeps winning bids using cost assumptions that already proved wrong on existing sites. New sites enter the portfolio with the same hidden margin compression as the existing ones. The business grows revenue without growing profitability.

THE FIX

HOW PER-SITE JOB COSTING CHANGES THE BUSINESS

  • Each site gets its own job number. Even small sites get individual cost tracking. Crew time, material, travel, equipment all allocated by site visit.
  • Travel time tracked separately. Drive time from yard to site captured by visit. Remote sites surface as the expensive sites they actually are. Bidding for new remote sites can reflect the real cost structure.
  • Rain event response allocated to specific sites. Each storm response visit allocated to the sites visited. Frequent-response sites surface as cost drivers. Annual contracts on those sites can be repriced or restructured.
  • Material consumption tracked by site. Each site’s actual material consumption visible. Material-heavy sites identified and either repriced at renewal or evaluated for site improvement recommendations to the GC.
  • GC profitability analysis quarterly. Each GC’s aggregate sites’ profitability calculated. Difficult GCs surface as net-negative relationships. Renewal and new-bid decisions get made against real data.
THE OUTCOME

WHAT PER-SITE VISIBILITY UNLOCKS

A $5M SWPPP sub implementing per-site job costing typically discovers in the first 90 days: 20–35% of active sites are unprofitable at current pricing; 10–20% of GC relationships are net-negative; remote sites cost 2–3x what assumed pricing covered; rain event response is concentrated on a handful of problem sites that should be repriced or exited.

Acting on the data: renegotiating contracts on unprofitable sites, exiting net-negative GC relationships, repricing remote sites at next renewal, bidding new sites with location-appropriate pricing. The net margin impact across 12–18 months runs 300–600 basis points without changing total revenue. The portfolio gets healthier without growing.

SWPPP is a portfolio business that most subs operate as if it were a single aggregate business. The aggregate hides which sites and which GCs are actually carrying the company.

FREQUENTLY ASKED

Use a structured slug pattern: GC abbreviation, site number, year (e.g., "ABC-007-2026"). Most accounting systems handle 80–150 active job numbers without issue. The setup work is one-time; the ongoing tracking is part of routine inspection reporting. The data quality is what matters; the system structure can be simple.
Still track them individually. Small sites often consume disproportionate overhead (administrative time, billing, deficiency response) compared to their revenue. Aggregating small sites hides this overhead drag. Per-site tracking surfaces it so small sites can be evaluated honestly — some are still profitable, some are subsidy work that should be repriced or exited.
Significantly. With per-site cost visibility, crew dispatch can be optimized for portfolio profitability rather than just inspection schedule. Routes can be built to minimize travel time across multiple sites. Crew assignments can match crew skill to site complexity. The dispatch decisions that used to be driven by schedule become driven by economics.
Depends on the relationship and the cause. Sites unprofitable due to underpricing can usually be repriced at contract renewal — most GCs accept market-rate adjustments without abandoning the relationship. Sites unprofitable due to difficult GCs (slow pay, deficiency disputes, unreasonable demands) often warrant exit because repricing alone doesn't change the relationship pattern. The data tells you which is which.
It transforms bidding accuracy. Knowing actual cost-per-visit for remote sites, storm-prone areas, material-heavy conditions lets bids reflect real cost structure rather than blended assumptions. Win rate may drop on jobs the business shouldn't have been winning at the old underpriced rate; margin on jobs that do close runs materially higher. Net effect is usually a slightly smaller, materially more profitable book of business.
Josh Luebker, The Construction CFO
JOSH LUEBKER
THE CONSTRUCTION CFO · SULPHUR PRAIRIE MANAGEMENT

PM and master electrician turned CFO. Managed 150+ projects, $300M+ in volume — Google data centers, military bases, hospitals — before building the financial control system that saves subcontractors from running out of cash. SPM runs the financial function for $1M–$12M commercial subs across 24 trade specializations. Read the methodology at runoncfos.com.

RELATED SYSTEM PAGES
TRADE OS
SWPPP Operating System
The full CFOS architecture for SWPPP and erosion control subs
SERVICE
CFO for SWPPP Contractors
The trade-specific CFO engagement
CASE STUDY
SWPPP Multi-Site Profitability
The companion case study on per-site job costing impact

SOME OF YOUR SITES ARE CARRYING YOUR BUSINESS. OTHERS ARE BLEEDING IT.

30 minutes. We’ll diagnose the per-site profitability picture and what visibility unlocks.

BOOK A FREE CALL OR RUN YOUR FREE CEO REPORT FIRST
SYSTEM CONNECTIONS
CFOS SPINE + MODULES
Run on CFOS — Full System Index Job Profitability System Cash Control System Cash Flow Cycle System
RELATED SYSTEMS
SWPPP OS CFO for SWPPP SWPPP Multi-Site Case Study
SERVICE LAYER
Fractional CFO for Construction Construction Bookkeeping Construction Controllership
THE CONSTRUCTION CFO
Run on CFOS Fractional CFO Cash Control Book a Call CONTROL Book → Josh@ConstructionCFO.net
© 2026 SULPHUR PRAIRIE MANAGEMENT · SULPHUR ROCK, AR
0
Josh Luebker, The Construction CFO
JOSH LUEBKER
FOUNDER & CFO

Master electrician and former project manager, 150+ projects and $2.1B+ in commercial work. Now runs the numbers for subcontractors instead of standing on the job site.

LinkedIn About
Stewart Bohrer, The Construction CFO
STEWART BOHRER
VP OF OPERATIONS

Keeps the system running day to day: job costing, WIP, monthly financial reviews, and the follow-through between calls. Josh handles onboarding.

LinkedIn About
LinkedIn YouTube About Run on CFOS