How to Run a Post-Job Profitability Review (Step by Step)
The short answer: A post-job profitability review compares what you bid to what the job actually cost, line by line, within a week of finishing. Pull the real numbers, revenue, labor hours, materials, subs, and change orders, then calculate the variance on each. The gap tells you whether you mispriced, overran the hours, or gave work away. Do it on every job over a threshold you set, and your estimates get measurably better inside a quarter. CRMb builds the actual side for you from punched crew hours and average-cost materials, so the review is reading a number, not rebuilding one.
Most service businesses find out a job lost money months later, buried in a quarterly P&L, with no way to tell which job or why. By then the same mistake has been repeated a dozen times. The post-job review is the loop that closes: finish the job, look at the numbers while the details are still fresh, and carry one lesson into the next bid.
Why the review matters more than the estimate
An estimate is a guess. A post-job review is data. Without the review, your estimating never improves, because nothing ever tells you the guess was wrong.
Businesses that skip it tend to repeat the same three errors indefinitely:
- Systematically low hours. The crew always takes 20% longer than bid, on every job, and nobody notices because nobody checks.
- Unbilled extras. Change orders get done verbally and never invoiced.
- A losing job type. One service line runs at 8% margin while the shop average is 30%, and it looks busy, so it keeps getting sold.
Each one is invisible in aggregate and obvious in a per-job review.
Step 1: Pull the four numbers
Every review starts with the same four figures. Get them before you form an opinion.
Revenue. What you actually invoiced, including approved change orders, minus any discount you gave at the end to close it out. Use invoiced dollars, not quoted dollars, they are often different.
Labor. Real crew hours on the job, at your loaded rate, wage plus payroll taxes, workers' comp, and benefits. Loaded rates typically run 15% to 30% above base wage, see how to calculate labor burden rate. Timesheets, not memory.
Materials. Everything consumed, costed at what you paid. Stock pulled from a truck or warehouse should be valued at average cost, not the last invoice price, see average cost inventory for job materials.
Subs and other direct costs. Subcontractor invoices, equipment rental, dump fees, permits, anything you would not have spent if the job had not existed.
Gross profit is revenue minus those three cost buckets. Gross margin is that profit divided by revenue.
Step 2: Compare each line to the bid
The total is a score. The line-by-line variance is the lesson. Put the estimate and the actual side by side:
| Line | Estimated | Actual | Variance |
|---|---|---|---|
| Revenue | $12,000 | $12,800 | +$800 |
| Labor | $4,200 | $5,600 | −$1,400 |
| Materials | $3,100 | $2,950 | +$150 |
| Subs and other | $900 | $1,250 | −$350 |
| Gross profit | $3,800 | $3,000 | −$800 |
| Gross margin | 31.7% | 23.4% | −8.3 pts |
This job made money and still failed. Revenue beat the bid because a change order got billed, and margin still dropped eight points because labor ran 33% over. The single takeaway is not "raise prices." It is "this job type takes more hours than we think."
Averaging that job into a quarterly total would have hidden all of it.
Step 3: Ask why on the biggest variance
Take the largest gap and find its cause. In practice it is almost always one of five things.
Hours ran over. Either the estimate was optimistic or something on site slowed the crew, weather, access, a client who kept changing their mind. Both are real, and they call for different fixes: adjust the estimating baseline, or price risk into jobs with those conditions.
Scope crept without paperwork. The crew did extra work, the client is happy, and nobody wrote it down. This is the most common form of margin leakage in field service, and it is entirely preventable with a written change order, see how to handle change orders on a job.
Materials were mispriced. The estimate used last year's supplier price. Cost your bids from current stock cost, not memory.
Rework and callbacks. Hours spent fixing your own work are pure margin loss. Track them separately, they point at a training or process problem, not a pricing one.
The bid was simply too low. Sometimes you bought the job. That is a legitimate choice, as long as it was a choice.
Step 4: Write down one change
A review that ends in a feeling changes nothing. End it with one specific, written adjustment, and apply it to the next bid:
- "Bathroom remodels get 34 hours in the estimate, not 28."
- "Any job over 40 hours requires a signed change order before extra work starts."
- "Drive time on jobs past the county line gets billed as its own line item."
One change per review. Small corrections that actually stick beat a long list nobody reads.
Step 5: Look for the pattern across jobs
Single reviews fix single jobs. The pattern across ten reviews fixes the business.
Group finished jobs by service type, by crew, by client, and by size, then compare margins. You are looking for the outliers:
- A service line running well below your average, either reprice it or stop selling it.
- A client whose jobs always overrun, they are expensive, and their price should reflect that.
- A job size that underperforms, small jobs often lose money because fixed setup and drive time eat a fixed-fee price.
That is the strategic payoff of the review habit: it tells you what to sell more of.
How often, and on which jobs
Reviewing everything is how the habit dies. Set a threshold and stay honest about it:
- Every job over a dollar or hour threshold you pick, say $5,000 or 40 crew-hours.
- Every job that felt wrong, regardless of size. Crew frustration is a reliable leading indicator of a margin problem.
- A random sample of small jobs each month, since small jobs are where unnoticed losses concentrate.
Do the review within a week of closing the job, while people still remember what happened on Tuesday. Twenty minutes with the right numbers in front of you is enough.
FAQ
What is a good gross margin on a service job? It varies by trade and by how much material passes through the job. Many service businesses target 30% to 50% gross margin on labor-heavy work and less on material-heavy work. What matters more than any benchmark is that your margin covers overhead and leaves net profit, see how to calculate overhead rate.
Should I use gross margin or net margin for a job review? Gross margin, because it is the part the job controls. Net margin depends on company-wide overhead that no single job can change. Apply your overhead rate separately to confirm the gross margin is large enough to carry it.
How do I review a job that is still running? Compare hours burned to percent complete. If the crew has used 70% of the estimated hours at 40% completion, the overrun is already happening and you can act, add crew, tighten scope, or raise a change order, while it still matters.
What if the crew's hours are not tracked accurately? Then the review is guesswork. Accurate labor cost requires actual clock-in and clock-out data tied to the job, not hours reconstructed at the end of the week. That is the single highest-value fix if it is missing.
Do I need to review a job that made money? Yes. Profitable jobs teach you what to sell more of, and a job that beat its estimate by 20% is a signal you may be pricing that work too high for a competitive market, or that your baseline is finally right.
Getting started with CRMb
The reason most shops skip the post-job review is that assembling the actual side takes an afternoon of digging through timesheets, supplier invoices, and email threads. CRMb removes that step.
Crew hours punched in Punch flow straight onto the job as labor cost. Materials pulled from inventory land on the job at average cost. Quotes, invoices, and change orders live on the same record. Reports then show margin per job against real punched hours, so the review is a report you open, not a spreadsheet you build.
Start a 14-day free trial at crmb.io and run the review on your last finished job. The number is usually the most useful thing you will read that week.