CalcStack — free, instant, no signup. The interactive calculator loads automatically.

Sub vs In-House

The $85k sub quote vs $67,100 in-house looks like an $18k saving — until the crew's 3 weeks of lost billing ($13,500) makes it $4,400. Idle crews flip it back.

Every GC runs this comparison, and most run it wrong: sub quote minus in-house cost, done. The missing line is opportunity cost — what the crew does NOT earn while self-performing. At the defaults: the $85,000 sub quote against $67,100 of loaded in-house cost looks like a $17,900 saving, but three weeks of the crew's billing contribution ($13,500) cuts the true saving to $4,400 — and if the crew would otherwise sit idle, the saving swings back to full. Utilization, scope risk, warranty chain, and licensing complete the picture. This calculator runs the honest version.

Why people use this

GCs use it before self-performing: the $85k sub quote vs $67,100 in-house looks like $18k saved — until the crew's 3 weeks of lost billing make it $4,400. Idle crews flip it back.

How it works

  1. Enter the sub quote for the scope.
  2. Enter loaded in-house labor, materials, and equipment.
  3. Enter your supervision/overhead percentage.
  4. Enter the crew's weekly billing contribution and the weeks the scope ties them up.
  5. Read the gross saving, the opportunity cost, and the net decision.

Common questions

When should I self-perform instead of subbing?

Four conditions, and the best answer combines them. Idle capacity: the crew with a gap week has near-zero opportunity cost — self-performing in the gaps is almost free money, which is why smart shops keep a list of small self-perform scopes sized to their schedule holes. Core trade superiority: self-perform where your crew genuinely beats the market on productivity — your framing crew frames, your electricians wire; the trade you are best at is the one where your cost curve beats the sub quote before opportunity cost even enters. Risk transfer argues the other way: unknowns (rock, rot, concealed conditions) belong with the sub at a fixed quote — self-performing risky scope keeps the tail risk in your estimate. And control-critical path: scopes where schedule reliability is everything and a flaky sub would stall five other trades justify self-performing even at a premium — the delay cost dwarfs the saving. The anti-pattern: self-performing to keep the crew busy at negative margin — busy crews and profitable crews are different achievements, and this calculator's opportunity-cost line is the difference between them.

What costs hide on both sides of the comparison?

The quote and the estimate both lie by omission — here is the full ledger. Hidden on the self-perform side: supervision and layout time (priced here as the overhead percentage — do not skip it), small tools and consumables, warranty callbacks (every self-performed defect is yours forever), licensing and code compliance for trades outside your license, and insurance exposure shifts. Hidden in the sub quote: exclusions (cleanup, disposal, patching, and protection are the classic missing lines — the cheapest quote often excludes the most), the sub's schedule reliability (a sub who starts three weeks late costs you general conditions at $300–600/day — see the change-order math), coordination management time, and COI/compliance admin. The quote hygiene that makes the comparison real: three sub quotes minimum against ONE scope sheet — identical inclusions and exclusions written down — because quotes against different scopes are random numbers. Verify COIs are in force, not just issued. And price the flaky-sub premium honestly: a reliable sub at +5% beats a flaky one at −10% once callbacks, delays, and babysitting hours are costed — your past job logs have the data.

How does this change as the company grows?

The answer inverts with scale, and the transition is where shops break. Small shop: sub everything outside your trade — your fixed costs are low, your crew utilization is the constraint, and the opportunity-cost math dominates (this calculator's default regime). Growth phase: self-perform expands selectively — each new self-performed trade adds fixed costs (a lead, a truck, insurance, tools) that must be fed through slow months; the discipline is adding capacity only when the pipeline feeds it at 80%+ utilization, because the crew that was profitably busy becomes the crew that is expensively idle. The fixed-cost trap: a shop that self-performs everything carries its entire cost structure through every downturn — subs are variable cost, crews are fixed, and the mix of the two IS your recession strategy. The metrics that govern the decision at scale: crew utilization percentage by trade, self-perform margin versus sub-adjusted margin per scope, and callback rates by source. The mature answer most successful GCs land on: self-perform one or two core trades deep, sub everything else wide, and keep the estimating muscle to price both directions — because the shop that can credibly self-perform gets honest sub quotes, and the shop that cannot is captive to them.

Browse all 500+ free calculators →