Skip to content

Gross Margin per Job: Formula, Calculator, and What It Actually Tells You

Gross margin per job is what's left after direct job costs — labor, materials, subcontractors, permits — are subtracted from what the customer paid. A business can post record revenue and still lose money on every job if this number isn't tracked.

Formula

Job Revenue − (Direct Labor + Materials + Subcontractor Costs + Permits)

Included

  • Direct labor tied to this specific job
  • Materials used on this job
  • Subcontractor costs for this job
  • Permit fees for this job

Excluded

  • Overhead: office rent, insurance, your own salary, marketing spend — these are whole-business costs, not job-level costs

Keeping overhead out of the job-level number is what makes it possible to price the next job correctly instead of guessing.

Worked example

Job revenue$4,200
Labor (hours × loaded rate)$1,100
Materials$1,650
Permit$150

$4,200 − ($1,100 + $1,650 + $150) = $1,300 gross margin (31%)

Calculate your own

Gross Margin per Job Calculator

This runs entirely in your browser. Nothing you type here — including revenue, labor cost, or job details — is sent anywhere or stored.

What this can indicate

  • Whether a "busy" season is actually a profitable one, if margin is tracked alongside revenue.
  • A pricing problem on a specific job type, if margin is consistently thin there regardless of who does the work.
  • The real effect of a material-cost increase, if margin drops right after a known price change.

What it does not prove

  • Overall business profitability by itself — that requires subtracting overhead from total gross margin, a separate calculation.
  • That revenue growth means the business is healthier — it can grow revenue while shrinking margin.
  • Anything reliable from a single job — job-level margin naturally varies; look at the pattern across many jobs.

Common causes of a poor number

  • Underestimating labor hours at the quoting stage.
  • Not updating pricing after a known material-cost increase.
  • Scope creep on the job site that isn't captured in a change order.

Practical first actions

  • Calculate your monthly overhead and divide by typical job count to find your own break-even margin per job.
  • Track margin on every job for a full month before drawing conclusions.
  • Compare margin by job type and by technician or crew, not just the company-wide average.

Trade-specific notes

HVAC
Equipment cost swings (manufacturer price changes, distributor availability) can move margin independent of anything your team did — track it, but don't overreact to one month.
Roofing
Material waste percentage varies by roof complexity — track it separately so you know what's driving a bad month.
General Contracting
On multi-trade jobs, track margin by scope line item, not just the job total.

On industry benchmarks

Target margin percentages vary by trade, region, and overhead structure, and we're not publishing a specific target without a cited, methodologically transparent source. Calculate your own break-even margin instead — that's the real, verifiable benchmark for your business.

Revenue Capture

Jobs are closing but not at the margin they should be.

See how TMT's Growth & Systems approach addresses this

Related metrics

Margin problems need a business diagnosis, not software.

Low gross margin per job is rarely fixed by a tool — it needs a look at pricing, job costing, and overhead allocation. That's TMT's Growth & Systems work.

Get a TMT diagnosis

The Modern Trades Mentor is a SubZeroMetrix affiliate, not an independent third party — TMT services are optional.