Skip to main content
SWPPP AND EROSION CONTROL GROSS MARGINSWPPP AND EROSION CONTROL NET PROFITFINANCIAL BENCHMARKSCFOS $1M–$12MSWPPP AND EROSION CONTROL GROSS MARGINSWPPP AND EROSION CONTROL NET PROFITFINANCIAL BENCHMARKSCFOS $1M–$12M
THE CONSTRUCTION CFOBOOK A FREE CALL
LAYER 6 BENCHMARK · SWPPP AND EROSION CONTROL

SWPPP AND EROSION CONTROL GROSS MARGIN AND NET PROFIT — WHAT THE BENCHMARKS SAY.

QUICK ANSWER

SWPPP installation gross margin should run 30–42%. Maintenance portfolio gross margin depends heavily on per-site profitability and visit frequency — a well-managed maintenance book runs 22–32%. The combined average for a contractor doing both is typically 26–36%. Below 20% combined gross margin almost always indicates overhead understatement or per-site margin erosion.

SWPPP contractors doing only installation track gross margin by project. Maintenance contractors need per-site gross margin tracking — the portfolio average hides which sites are profitable and which are not.

BY JOSH LUEBKERPublished: May 2026Updated: May 2026
THE BENCHMARKS

SWPPP AND EROSION CONTROL FINANCIAL BENCHMARKS — WHERE YOU SHOULD BE.

METRICINDUSTRY LOWSPM TARGETSTRONGNOTES
Gross Margin18–22%28–35%36–42%Installation projects; maintenance pulls blended lower
Net Profit Margin6–10%12–18%20%+Maintenance portfolio drag is the most common net margin suppressor
Overhead Rate18–24%14–18%12–14%Vehicle fleet and inspector labor are the largest overhead drivers
Days Sales Outstanding45–60 days30–40 daysUnder 30 daysMaintenance billing monthly; target 35–45 day DSO on installation
Working Capital Ratio1.0–1.2x1.3–1.5xAbove 1.6xMaintenance portfolio creates continuous AR; target 1.3x+ working capital
WHY THE NUMBERS VARY

WHAT DRIVES MARGIN ABOVE OR BELOW BENCHMARK IN SWPPP AND EROSION CONTROL WORK.

WHY GROSS MARGIN VARIES

Overhead Rate Accuracy and Job Cost Discipline

SWPPP gross margin varies primarily by whether the contractor is doing installation-only, maintenance-only, or a mix. Installation projects have discrete billing events and predictable cost structures. Maintenance portfolios have continuous service costs against monthly billing, and per-site profitability variation that is invisible without site-level cost tracking. A maintenance-heavy contractor with 40 active sites who does not track per-site cost cannot tell which sites are profitable.

WHAT DRIVES ABOVE-BENCHMARK PERFORMANCE

The Operational and Financial Factors

Above-benchmark SWPPP contractors share three characteristics: per-site cost tracking that identifies and exits or reprices unprofitable maintenance sites, corrective action change order discipline that recovers costs outside original scope, and overhead rates that correctly account for inspector vehicles, drive time, and QSD/QSP certification costs.

WHAT TO DO IF YOU ARE BELOW BENCHMARK

The Three Corrections That Move the Number

Below 20% gross margin almost always indicates one of three problems: overhead rate does not include vehicle fleet and inspector burden fully, maintenance sites are being serviced at frequencies above the contract assumption without repricing, or corrective action costs are being absorbed without change order recovery. Check each one.

COMMON QUESTIONS

FREQUENTLY ASKED.

Yes, for a well-managed maintenance portfolio with per-site cost tracking and corrective action discipline. The $5.2M SWPPP/erosion contractor who went from $24K to $1.1M net profit had gross margins above 30% after SPM corrected the overhead rate and implemented per-site tracking. The underlying economics were there. The financial control system made them visible and recoverable.
The continuous service model of maintenance creates consistent cost outflows against monthly billing cycles. The working capital float reduces effective margin because financing cost is typically not priced into maintenance contracts. And per-site profitability variation — where some sites subsidize others — pulls the portfolio average below what the profitable sites would generate independently.
Yes. Installation projects and maintenance contracts are tracked separately with different cost code structures. Per-site margin is visible monthly. The CEO Report shows blended gross margin alongside the installation vs maintenance breakdown. Maintenance sites below threshold gross margin are flagged in the monthly strategic meeting.
Josh Luebker
Josh Luebker
Fractional CFO · The Construction CFO

Former commercial construction project manager and master electrician. Managed 150+ projects totaling $300M+. Now fractional CFO for commercial subcontractors doing $1M–$12M. About Josh →  |  LinkedIn →

RELATED RESOURCES
TRADE OS
CFOS SWPPP Operating System
The full CFOS implementation for SWPPP and Erosion Control subcontractors
RELATED
Financial Benchmarks
All-trade benchmark comparison — gross margin, net profit, overhead, DSO
SERVICE
Fractional CFO for Construction
The engagement that moves your numbers toward the target benchmark
SYSTEM CONNECTIONS
CFOS SPINE
Run on CFOSJob ProfitabilityCash Control
RELATED
CFOS SWPPP Operating SystemAll-Trade BenchmarksScaling Infrastructure
SERVICE
Fractional CFOControllershipBook a Call

IS YOUR SWPPP GROSS MARGIN TRACKING INSTALLATION AND MAINTENANCE SEPARATELY?

A 30-minute diagnostic calculates your current gross margin by service type and compares it to the SPM benchmark.

BOOK A FREE 30-MIN DIAGNOSTIC →

30 minutes. Free. No sales pressure.

OR SEE YOUR NUMBERS FIRST → FREE CEO REPORT TOOL
THE CONSTRUCTION CFO
Run on CFOSFractional CFOSchedule a CallJosh@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