You are managing 35 active SWPPP sites. Your P&L says you are profitable. But you have no idea if that is because of 30 good sites or despite 15 bad ones. Here is how to find out.
A SWPPP contractor managing 35 active sites has 35 individual profit centers — each with different inspection frequencies, different material consumption rates, different mobilization distances, and different emergency call patterns. The blended P&L averages all 35 together. A contractor with 25 profitable sites and 10 losing sites might still show acceptable blended margin — until the next rainy season when the losing sites spike emergency visits and the average falls off a cliff. Per-site job costing makes each site's performance visible before that happens.
A site requiring weekly inspections under its SWPPP plan costs 4x more to maintain per month than a site requiring monthly inspections — but the bid may not reflect that difference if square footage was the only pricing variable. Inspection frequency is the single biggest cost driver per site and it is often not known precisely until the site is active.
Every significant rainfall triggers emergency site visits under most SWPPP plans. These visits — labor, mobilization, emergency material — are often not included in the base contract price. Without tracking, they are absorbed silently into the site's cost. With tracking, each one becomes a documented event that is either billed as a change order or renegotiated at contract renewal.
A site 90 minutes from the yard costs $270 in labor mobilization per visit at a $45/hour burdened rate — before any work is done on site. A site 20 minutes away costs $60. If both were bid at the same mobilization allowance, the remote site is losing money on every visit. Without per-site tracking, this is invisible.
SPM builds a ControlQore job costing structure where each active site is its own job with its own cost codes — labor (installation, scheduled inspection, rain event, documentation), material by BMP type (silt fence linear feet, wattles, rock, inlet protection), and mobilization. Field crews log time by site daily. Material consumption is tracked by site delivery. Mobilization is calculated from crew departure to return.
Every week, actual cost per site is calculated and compared to the estimated cost per site from the bid. Sites running over estimate by more than 15% trigger a review — is it inspection frequency higher than anticipated, emergency events not in the contract, material failure rate above estimate, or a bid that was wrong? Each diagnosis has a specific response.
Every rain event visit that is not included in the base contract scope is documented with time, material, and a change order request. Most GCs and owners will pay for documented emergency service calls when they are presented as such — not absorbed into the base contract cost. SPM builds the documentation process so these events generate billing rather than cost absorption.
After tracking cost per site across 20–30 sites over two seasons, the SWPPP contractor has actual cost data by site type, inspection frequency category, region, and project phase. The next year's bids are built from real data — not square footage estimates and gut feel. This is the compound benefit of job costing: better bids year over year as the data improves.
This contractor came to SPM with $24,000 in net profit on $5.2M in revenue. No per-site visibility. High-inspection sites serviced at the same rate as low-inspection sites. Rain event visits absorbed silently. Remote sites losing money on mobilization on every visit. The blended P&L showed it was profitable. The individual site data showed 40% of the portfolio was losing money.
Net profit after implementing per-site job costing. The losing sites were repriced at renewal, restructured, or ended. Rain event billing was formalized. Remote sites got a mobilization premium built into the next contract cycle. Same revenue. Different data.
A free call with Josh takes 30 minutes. Bring your last P&L and current bank balance.
Schedule a Free Call →