Skip to main content
True Trade Path

Calculator · Free

Job Profitability Analyzer

Compare quoted price against actual hours and material to see what a job really earned.

Quoted

What the estimate assumed when you sent the price.

hrs
$/hr

Your cost per field hour, not the rate you billed.

$
$
$
Actual

What the job really cost, including every hour you went back.

hrs
$/hr
$
$
hrs

Unbilled return visits. They belong on this job, because that is the only way the pattern shows up.

$

What actually cleared, after change orders, discounts and write-offs.

Overhead allocation
28%

Share of revenue that has to carry rent, insurance, admin and unbilled time.

Actual gross margin

41.8%

Missed the quoted margin of 53.8% by 12.1 points, worth $773.
Gross profit$6,400 collected less $3,727 of direct cost
$2,673
Effective hourly returnGross profit across 34.5 field hours including callbacks
$77.48/hr
Overhead at 28%
−$1,792
Net profit13.8% net margin
$881
Quoted gross marginFor reference
53.8%
Quoted versus actual
LineQuotedActualVariance
Labor hours24.0 hrs34.5 hrs+10.5 hrs
Labor cost$1,104$1,587+$483
Material$1,850$2,140+$290
Subcontractors$0$0$0
Direct cost$2,954$3,727+$773
Revenue$6,400$6,400$0
Gross profit$3,446$2,673−$773
Gross margin53.8%41.8%−12.1 pts
Effective hourly return$143.58/hr$77.48/hr−$66
Net profit after overhead$1,654$881−$773

Labor overran by 10.5 hours

That is $483 of unplanned labor cost, and it is 62% of the total movement between the estimate and the result. The job finished $773 behind the quoted gross profit. Labor is the line an estimator controls the most and misses the most — if it keeps running long on this work type, the hours in your estimating template are wrong, not the crew.

This job came back

4.0 hours of callback cost $184 and produced no revenue, which is 6.9% of the gross profit the job earned. A job that looked profitable at invoicing often is not after two warranty visits — cost the callback to the original job or the pattern never becomes visible.

What this assumes

  • Gross margin is revenue less direct job cost; net margin subtracts allocated overhead.
  • Effective hourly return divides gross profit by actual labor hours on the job.
  • Unbilled callback and warranty hours are treated as job cost, because they are.

Understanding the result

Job costing is how you find the losers

Most trade businesses know their annual profit but not which jobs produced it. It is common for a quarter of jobs to lose money while the rest carry them. Costing every job for a month reveals which work types, customer segments and estimators are the problem.

Count the callback

A job that looked profitable at invoicing often is not after two warranty visits. Warranty and callback hours belong on the original job's cost, because that is the only way the pattern becomes visible in your numbers.

Material overruns are usually estimating errors

When actual material exceeds the estimate on three consecutive jobs of the same type, the estimate is wrong — not the jobs. Update the template rather than blaming individual technicians. A consistent 15% material overrun on a $2,000 material budget costs $300 per job.

Effective hourly return reveals the truth

Gross profit divided by actual hours on the job gives effective hourly return. A $1,200 job that took 6 hours instead of 4 returns $200/hour gross instead of $300. Compare effective return against your shop rate to see which job types actually pay.

How the math works

Enter contract price and actual (or projected) labor, materials, subs, and overhead allocation. Gross margin = (price − direct cost) ÷ price; net after overhead shows job-level profit — flag jobs below shop minimum margin.

Where to find each input

  • Signed contract amount
  • Timesheets and payroll allocation
  • Material invoices and sub contracts
  • Overhead allocation method — % of revenue or hr

Worked examples

HVAC changeout quoted $7,200

Direct cost $5,100, overhead alloc $900.

Gross margin ~29%; net ~16% — healthy if target net is 12%+.

Small service call

Price $275, 1.5 hr, $40 parts, high overhead alloc.

Net negative if overhead allocated flat — signals need trip minimum.

Remodel with sub overrun

Price fixed $52k, subs run $4k over.

Margin collapse — change order or eat cost visible immediately.

What this does not include

  • Company-wide SG&A not allocated
  • Owner discretionary draw timing
  • Tax on profit

Regional adjustment

Profitability is internal; regional market only affects whether you can raise price next bid.

Accuracy and references

Margin targets from NAHB remodeler benchmarks and trade association financial surveys.

Counterpart bridge

What homeowners see for the same decision

Homeowners use the paired tool for benchmarks and questions before they hire. Align your numbers with what they are already comparing against.

Open Renovation ROI Calculator

Homeowner counterpart

We publish Renovation ROI Calculator for the same decision from the customer side — use it to sanity-check how your bid will read against national ranges.

View Renovation ROI

Common questions

What is a good profit margin on a contractor job?
Gross margin on labor of 40 to 55% and net margin of 8 to 15% are healthy targets for residential service work. A job quoting $3,000 with $1,200 in direct cost has 60% gross margin. After overhead allocation, net should exceed 10% or the job type needs repricing.
How do you calculate job profitability?
Subtract actual labor cost (hours × burdened rate) and actual material cost from invoiced price. That is gross profit. Divide gross profit by invoiced price for gross margin percentage. Subtract allocated overhead for net profit. Compare quoted hours versus actual hours to find estimating errors.
Why do contractors lose money on jobs?
The three most common causes: underestimating labor hours (quoted 4, took 7), unbilled callback time (2 warranty visits at 2 hours each), and material overruns (ordered 20% more than estimated). Any one of these can turn a 30% gross margin job into a break-even or loss.
What is effective hourly return?
Gross profit divided by actual labor hours on the job. A $2,500 job with $900 direct cost and 8 actual hours returns $200/hour effective. If your shop rate is $125/hour, this job overperformed. If effective return is below shop rate, you lost money on that hour.
How much should labor cost be on a job?
Labor direct cost should be 25 to 35% of the selling price on service work. A $1,500 invoice with 4 hours at $40 burdened labor ($160) is 10.7% — excellent. The same job at 8 hours ($320) is 21.3% — still acceptable. Above 35% labor cost, pricing or estimating needs adjustment.
Should I track profitability on every job?
Yes. Costing every job for 30 days reveals which work types, customer segments, and estimators produce margin. Most shops discover that 20% of job types generate 80% of profit and that emergency calls subsidize low-margin maintenance contracts.
What is the difference between gross and net margin on a job?
Gross margin is revenue minus direct job cost (labor and materials). Net margin subtracts allocated overhead — truck, insurance, office, owner salary. A job at 50% gross margin may be 15% net or 5% net depending on overhead allocation. Both numbers matter.
How do change orders affect job profitability?
Unpriced change orders are the fastest way to destroy margin. A $500 change order that takes 3 hours at $40 burdened labor costs $120 — leaving $380 gross. But if the change order hours are not tracked separately, they inflate the original job's hour count and hide the true cost.
What jobs are most profitable for contractors?
Small service calls with trip fees, panel upgrades, and water heater replacements typically carry the highest margin. Large bid jobs with fixed prices carry the most risk. Maintenance contracts are profitable only if callback rates stay below 10% of contract revenue.
How do I know if my estimator is accurate?
Compare quoted hours to actual hours across 20 consecutive jobs of the same type. If actual consistently exceeds quoted by more than 15%, the estimator is systematically low. Adjust the template by the average overrun percentage — a 20% overrun on a 4-hour quote means quoting 5 hours going forward.
Gross vs net margin?
Gross before shop overhead; net after overhead allocation you choose.
How allocate overhead?
Revenue % simplest; hour-based fairer for mixed crews.
When to close job?
When all costs booked — open WIP distorts margin.
What minimum net margin?
Many shops target 8–15% net at job level; service higher than new construction.
Include sales commission?
Yes in direct or overhead — consistency matters.
Warranty callbacks?
Charge to job or warranty reserve — do not ignore.
Compare to effective hourly rate?
Low margin jobs explain low effective weeks.
Multi-phase jobs?
Phase profitability prevents subsidizing later phases.
Should I share with customer?
No — internal metric; price is market-facing.
What if margin negative?
Post-mortem: estimating, change orders, or productivity — adjust templates.