Piping Bid: Congestion Factor vs. Flat Contingency
A mechanical contractor is bidding 14,000 LF of 6-inch stainless process piping for a food-processing plant. The estimator built labor from first principles at 0.55 labor-hours per LF, a rate drawn from two open-bay projects completed in the last three years. On this job, roughly 60% of the run (8,400 LF) sits inside a congested mezzanine with 8-foot clearances, shared with three other trades; the other 5,600 LF is open bay. The estimator proposes applying a 1.18 congestion multiplier to the congested portion only, then adding a flat 15% contingency because 'the last two jobs ran over.' The project director wants the bid at the P50 number to stay competitive and asks you to review the basis before submission. Burdened labor rate is $78/hour.
1. Compute the total labor hours and burdened labor cost of the estimate as currently proposed.
Read the worked answer
Open bay: 5,600 LF x 0.55 h/LF = 3,080 h
Congested: 8,400 LF x 0.55 h/LF = 4,620 h base; x 1.18 = 5,451.6 h
Total: 3,080 + 5,451.6 = 8,531.6 h, round to 8,532 hours
Burdened cost: 8,531.6 x $78 = $665,465
Two checks worth stating explicitly: the multiplier is applied to hours (equivalently to LF at the adjusted rate), and it is applied only to the 60% congested portion. Applying 1.18 to the whole run would overstate hours by about 570 h (~$44k) and would be indefensible in a bid review.
2. The director wants 15% contingency added on top of the congestion-adjusted base. Evaluate that instruction.
Read the worked answer
Contingency is an allowance for risk, not a markup, and it must be traceable to something. The 1.18 factor is a productivity adjustment: it is the estimator's most-likely estimate of a known condition (congestion) and therefore belongs in the base estimate. Adding 15% on top of it double-counts the one risk the team has actually quantified.
A defensible contingency would come from the risk register or a range analysis and be set at a chosen confidence level (P50 vs P80), applied at project level. A flat 'last two jobs ran over' allowance is an undocumented guess that will not survive a client audit and cannot be managed or drawn down later.
Also challenge the inputs before discussing contingency: 0.55 h/LF rests on two projects. Confirm the historical data is normalized for the same labor agreement, the same dollar year, and a comparable weld mix; if the sample is thin, the uncertainty belongs in the range, not in a hidden factor.
3. The director insists on a single number for the bid. What do you hand him, and what do you say?
Read the worked answer
Hand him a point estimate plus a stated range and drivers, not a single naked number:
| Element | Value |
|---|---|
| Base labor (congestion-adjusted) | $665,465 |
| Escalation to construction mid-point | applied separately, by index |
| Contingency (risk-based, P50) | stated separately with its basis |
| Management reserve | held by the contractor, not in the bid |
Talking points:
- Separate the layers - base, escalation, contingency, reserve. Each has a different owner and a different draw-down rule; blending them is how estimates get lost.
- Label the confidence level - a P50 bid means a coin-flip of overrunning. If the director wants to buy the work at P50 for competitive reasons, that is a commercial decision made with eyes open, not an estimating input.
- Flag the data risk - two historical projects is a thin basis; name it, and say what would tighten it (third data point, or a first-principles check by a second estimator).
If he still wants one number, give him the P50 with the contingency shown as a line item so it is visible and can be defended later.