glossary Glossary 4 min read

Gross margin (builder)

Gross margin is (contract price minus direct costs) divided by contract price. Headline job profitability. Industry benchmark for Australian residential is 20-22%.

Ask Chalkline about this →

Gross margin (GM) is the job-level profit measure that compares contract price to direct costs. The formula:

GM% = (Contract Price − Direct Costs) / Contract Price × 100

Direct costs are the labour, materials, subcontractors, plant hire, and consumables traceable to the specific job. Indirect overheads (office rent, accounting, marketing, owner-builder salary) are excluded; those are covered by the gross profit absolute amount, which must in turn cover overheads to produce net profit.

Australian residential building benchmarks (typical 2026 ranges):

Job typeTypical GM rangeNotes
Single-storey volume residential (project home style)15-20%Tight margin, high volume, repeatable design.
Custom single-storey18-25%Variable scope and design effort.
Custom two-storey or premium20-30%Complex sites, higher risk, design fees.
Renovation / extension22-30%Variable existing-build risk, harder to estimate.
Knock-down rebuild18-25%Less variable than reno but design-intensive.

A commonly-cited industry benchmark for residential builders is 20-22% GM as the floor for sustainable practice across an entire portfolio.

Gross margin vs markup. These are related but different:

  • Markup is applied to direct costs to arrive at the price: Price = Cost × (1 + markup%).
  • Gross margin is the resulting percentage of the price that is profit: GM% = (Price − Cost) / Price.

For a 20% GM, the markup needed is 25%:

  • Direct cost: $400,000
  • Markup 25%: + $100,000
  • Contract price: $500,000
  • GM: $100,000 / $500,000 = 20%

Confusing markup and margin is the most common pricing error: a builder quoting 20% “margin” but applying as markup ends up with only 16.7% true margin and ~$13K less profit on a $500K build.

What erodes gross margin in residential:

  • Underquoting allowances for PC and PS items.
  • Variations priced at original m² rates when the new scope requires different prep, access, or substrate.
  • Weather and unforeseen delays consuming preliminaries faster than budgeted.
  • Subbie price rises between quote and engagement.
  • Material price volatility (timber, steel, concrete prices have swung 5-25% within single quarters in 2022-2025).
  • Scope creep that doesn’t get priced as variations.

Tracking gross margin per job:

  1. Estimate stage: target a baseline GM (e.g. 22%) and price to that.
  2. Run cost through Buildxact, Xero job-costing, or a spreadsheet ledger as the job proceeds.
  3. Mid-job check (typically at slab + frame + lock-up + fit-off): is actual GM tracking against estimated?
  4. End-of-job actual GM: feed back into the estimating template for similar jobs.

For builders.

  1. Don’t quote below your baseline GM for volume jobs and below your custom-job GM for premium work. A loss-leader job ties up capacity and starves better-margin work.
  2. Track per-trade and per-stage costs, not just whole-job. Different stages absorb cost shocks differently.
  3. Communicate GM in client conversations as “the cost of running a sustainable business”, not as profit. Clients react badly to the word “profit”; “margin” and “overhead” land better.

Also known as: GM, gross profit margin, job margin.

Category: Business / financials / job costing.

See also


Last updated: 2026-05-14. Verified: 2026-05-14.