Job Costing

Post-Job Profitability Analysis for Roofing Contractors

How to compare estimated vs. actual costs after every job, what the variance tells you about your estimating process, and how to build the habit before the next bid is already due.

July 30, 20269 min readBy Ketterly Team

Most roofing companies build their next estimate before they've closed out the last job. The invoice is sent, the check arrives, and everyone moves on. What they don't know — what they've probably never measured — is whether that job made the margin they estimated. For most contractors, the answer would be uncomfortable. Here's how to build a post-job analysis habit and what to do with the data.

Why Most Roofing Companies Skip This

Post-job profitability analysis doesn't happen for predictable reasons:

  • No system for it: There's no obvious place in the workflow where someone stops and compares estimate to actuals. The job is done, it's invoiced, move on.
  • It takes time: Pulling together actual material invoices, sub payments, and labor costs for a completed job isn't instant — especially if cost data is scattered across multiple places.
  • Fear of what it shows: Some owners don't want to know that their best month was actually thinner than they thought.

The companies that skip it also tend to be the ones who can't explain why Q3 revenue was up 20% but cash flow was flat. The money is there somewhere — it's just not where they thought it was.

What to Compare: The Basic Framework

A post-job profitability analysis is a simple comparison of what you estimated vs. what actually happened, for each major cost category:

Revenue

  • Estimated revenue: the original contract amount
  • Actual revenue: what was actually collected (after any credits, discounts, or supplement adjustments)
  • Variance: Did insurance pay less than expected? Was there a scope reduction? Was the supplement approved or denied?

Material Costs

  • Estimated materials: what you put in the quote for shingles, underlayment, and all accessories
  • Actual materials: the actual supplier invoice(s) for that job — not your catalog price, the actual receipt
  • Variance: Did prices change since you quoted? Did you over-order? Did you need extra decking or accessories that weren't in the estimate?

Labor Costs

  • Estimated labor: what you budgeted for the crew to install
  • Actual labor: sub payments for this job, plus any W2 time tracked to this job
  • Variance: Did the job take more crew-days than expected? Was the pitch more complex? Were there callbacks for warranty repairs?

Other Direct Costs

  • Permit fees (estimated vs. actual)
  • Disposal/dump fees (estimated vs. actual — often underestimated)
  • Equipment rental (lift, scaffolding)
  • Any specialty work subcontracted out (gutters, painting, interior repairs)

Gross Margin Calculation

Gross profit = Revenue − direct costs
Gross margin % = Gross profit ÷ Revenue

Compare your estimated gross margin % to your actual gross margin % on every job. The gap between those two numbers is the story.

What the Variance Tells You

Each type of variance points to a specific problem or insight:

  • Material overage consistently: Your waste factors are too low, or you're ordering extra as a habit. Adjust your estimating formulas or tighten ordering.
  • Labor overage on complex jobs: You may be underpricing jobs with difficult pitch or access. Build a complexity multiplier into your labor formula.
  • Dump fees always over budget: You're either underestimating debris volume or paying too much per load. Negotiate a flat rate with your hauler or adjust the estimate line item.
  • Revenue below estimate (insurance jobs): Supplements are being denied or the initial scope was lower than you expected. This points to a documentation or negotiation problem upstream.
  • Actual margin consistently below estimate across all jobs: Your estimating assumptions are systematically optimistic — you need to raise prices, reduce estimated costs to match reality, or both.

When to Do the Analysis

The best time to run the post-job analysis is within 7 days of final payment. The job is still fresh, the invoices are recent, and the data is easy to pull. Waiting 6 weeks means reconstructing costs from incomplete records.

Build it into your job close-out process:

  1. Job complete and final payment received
  2. Record all actual costs to the job in your CRM or accounting system
  3. Run the estimated vs. actual comparison
  4. Note any significant variances and the reason
  5. Archive the job with final margin recorded

This adds 15-20 minutes per job at close-out. Over time, it pays back many times that in better estimating accuracy.

What to Do With the Data

Post-job analysis is only valuable if you act on the findings:

  • Monthly review: At the end of each month, review the actual margins on all closed jobs. Are they trending up or down? Which job types are outperforming estimates? Which are underperforming?
  • Update your estimating assumptions: If real material costs are running 8% above your estimates, adjust your price lists. If labor on 8/12 pitch jobs is running 30% over, build that into your pricing formula.
  • Flag recurring problems: If the same sub is consistently running over budget, that's a crew quality or rate negotiation conversation. If the same material supplier's quotes are consistently low, switch suppliers or adjust your ordering assumptions.
  • Share with reps: Sales reps who can see the actual margin on the jobs they sold will price differently than those who only see the revenue number. A rep who sold a $14,000 job at 12% actual margin learns something from seeing that compared to their $11,000 job at 31% actual margin.

The One Number That Changes Everything

Even if you don't build a full analysis system right now, track one number: your average actual gross margin by job type. Know whether your residential replacements average 28% or 19%. Know whether your insurance jobs average 24% or 35%. Know whether your commercial flat jobs run higher or lower than residential.

These are the numbers that tell you where to focus your sales efforts, how to price your next quote, and whether your business model is actually as profitable as the revenue line suggests. Without them, you're running by feel — and at scale, feel doesn't pay the bills.

Further Reading

See Ketterly handle this workflow

Book a 30-minute demo and we'll walk through the exact tools and workflow described in this article.

See Ketterly on your own roofs

Book a 30-minute demo and we’ll walk through your sales process, measure a real roof, and show you exactly how your team would use it.