Margin by job type

Margin by Job Type answers a question the headline margin cannot: *which kinds of work actually pay off once you load in their real costs?* A shop can run a healthy blended margin while quietly los…

4 min read·Updated July 11, 2026
On this page

Overview

Margin by Job Type answers a question the headline margin cannot: which kinds of work actually pay off once you load in their real costs? A shop can run a healthy blended margin while quietly losing money on one service line and carrying it with another. This view separates them so you can see each on its own terms.

It shows the gross burdened margin per service line, for water, fire, mold, contents, reconstruction, and biohazard work, ranked so the richest and thinnest lines are easy to spot.

Where to find it

Open Margin from the sidebar at iq.verinode.ai/margin, then tap the Margin by Type tile. Each service line you run gets its own block, with a one-line summary across the top telling you which line runs richest and which is thinnest.

What "gross burdened margin per service line" means

In plain terms: for each type of work, take what you collected and subtract what it cost you to do the work, with labor loaded to its true burdened cost, not just the base wage. What is left, as a percentage, is the gross burdened margin.

Two words carry the meaning:

  • Burdened, labor is counted at its fully loaded cost (payroll taxes, insurance, benefits, non-productive time), not the raw hourly rate. This is why a line can look profitable on paper and thin out here.
  • Gross, the cost subtracted is only the direct cost of the work: labor, materials, subcontractors, and equipment. Overhead is deliberately not subtracted. Overhead is an operator-level cost that is not tied to any one service line, so leaving it out keeps every line comparable and keeps your number comparable to the peer cohort.

Revenue here is what you actually collected, not what you billed or estimated. A job with nothing collected yet is left out, because its margin is not real until the money lands.

Reading each service line

Every service-line block lists the same rows, top to bottom:

  • Gross margin · N jobs, the burdened margin percent, with the number of collected jobs behind it. This row is color-coded: green at 30% or above (healthy), red below 20% (thin), and neutral in between.
  • Collected revenue, total collected across those jobs for this service line.
  • Direct cost, the loaded direct cost. When revenue allows, it also shows what that cost is as a percent of revenue (for example $120.0k · 62%) so you can read cost intensity at a glance.
  • Labor / Materials / Subcontractors / Equipment, the direct cost broken into its four buckets, each with its dollar amount and its share of direct cost as a percent. These are sorted largest-first, and any bucket with zero spend is hidden.

Beneath each block a short note tells you how solid the number is:

  • From invoiced cost, every dollar behind this line was read from real invoiced or line-item cost.
  • X% from invoiced cost, rest estimated, a mix; most is real, the remainder is filled from your cost profile.
  • Estimated from your cost profile, costs are projected from the ratios you configured, not yet read from invoices.
  • Industry-default estimate, add job costing to sharpen, the sector default is standing in until you add your own data.

Note

Because overhead is excluded, these percentages sit higher than your net margin. They are meant for comparing lines against each other, not for reading absolute profitability. For the bottom-line number, see /help/understanding-your-margin.

How to read the spread

The summary line at the top names the best and worst performers, for example: "Water Mitigation runs richest at 41%; Contents is thinnest at 12%." The distance between those two, the spread, is the real signal.

  • A narrow spread means your lines are roughly balanced; margin is a whole-shop question, not a mix question.
  • A wide spread means your mix matters. The thin line is either underpriced, over-costed, or being subsidized by the rich one. Either way it is a decision: reprice it, tighten its costs, or take on less of it.
  1. 1Read the top summary to see the best and worst service lines and the spread between them.
  2. 2Open the thinnest line and check its Direct cost percent of revenue.
  3. 3Look at the cost-bucket rows, is the drag coming from labor, materials, subcontractors, or equipment?
  4. 4If materials are the driver, cross-check unit pricing in /help/material-costs; if labor, look at burden.
  5. 5Bring the richest and thinnest lines to the Take Action panel as a repricing or mix decision.

Tip

A thin line built mostly on subcontractors is a different problem from one built on labor. Sub-heavy work is a markup and vendor-terms question; labor-heavy work is a burden and productivity question. The bucket rows tell you which conversation to have.

Empty states

  • No per-type margin yet. Before any costed, collected work has flowed in, the view reads: "No per-type margin yet. Forward job costing or a revenue export and the gross burdened margin for each service line appears here, which work pays off and which quietly loses money." Forward job costing or a revenue export to populate it.
  • Collected revenue but no cost data. Lines still appear, sourced as Estimated from your cost profile or the industry default. The margins are directional; adding job costing moves them to From invoiced cost.
  • A service line you run is missing. A line only shows once it has at least one job with collected revenue. Work that is billed but not yet paid, or estimated only, is held back until the money lands.

Data sources

Data sources

  1. 1.Your job costing and line-item costs. Your business.
  2. 2.Your collected revenue per job. Your business.
  3. 3.Your configured cost profile ratios. Your business.
  4. 4.Restoration-sector cost composite (fallback). Verinode research.
Was this helpful?