CIV-499 · Lesson 9 of 12 · 19 min

Cost estimate, schedule and constructability

By the design review, the client needs two numbers it can take to council: what the project will cost and when it will be finished. Both must be honest about uncertainty. This lesson builds a Class 3 estimate from the developed design, attaches a risk-based contingency, schedules construction within one season with a critical path network, and works through how a contractor would actually build the bridge. Constructability is not a separate topic from design; a detail that cannot be built in the field, or only at great cost, is a design error even if every calculation is right.

The estimate

At the design review the drawings are about 60 % complete, which places the estimate in Class 3 under the classification from the construction management course: semi-detailed unit costs from quantities taken off the drawings, with an accuracy range of roughly minus 20 % to plus 30 %. Lucas takes off quantities for each of fourteen items and prices them from three sources: recent city tenders for the path, parking and stormwater work; budget quotations from two prefabricated truss suppliers, who were each sent the performance specification; and first-principles pricing of the piles, abutments and deck from crews and production rates, reviewed by Kestrel Bay's estimator.

The Class 3 estimate, a Monte Carlo range on the item costs and the bidding market, and the critical path schedule.
# Class 3 estimate with a contingency range, and a critical path schedule for one construction season
import random
UNITS = "SI"
SI = UNITS == "SI"
cur = "CAD" if SI else "USD"
f = 1.0 if SI else 0.82
items = [("Mobilization, bonds, insurance", 140000), ("Erosion and sediment control", 45000),
         ("Steel piles and pile caps", 210000), ("Abutments and wingwalls", 330000),
         ("Prefabricated weathering steel truss, delivered", 690000), ("Erection, crane and splice", 120000),
         ("Concrete deck on steel form", 165000), ("Railings and fencing", 85000),
         ("Riprap at the abutments", 60000), ("Approach paths and retaining edges", 180000),
         ("Trailhead parking lot", 230000), ("Bioretention cell and underdrain", 75000),
         ("Crossing at Ridgeway Road with beacons", 70000), ("Landscaping and restoration", 55000)]
base = sum(v for _, v in items) * f
for n, v in items:
    print(f"{n:48s} {v * f:>10,.0f}")
print(f"{'Construction estimate (' + cur + ')':48s} {base:>10,.0f}")
random.seed(499)
wide = {"Steel piles and pile caps": (0.90, 1.0, 1.60), "Prefabricated weathering steel truss, delivered": (0.95, 1.0, 1.35),
        "Abutments and wingwalls": (0.92, 1.0, 1.30)}            # low, most likely, high factors
runs = []
for _ in range(4000):
    tot = 0.0
    for n, v in items:
        lo, ml, hi = wide.get(n, (0.93, 1.0, 1.15))
        tot += v * f * random.triangular(lo, hi, ml)
    runs.append(tot * random.triangular(0.95, 1.20, 1.0))  # bidding market factor
runs.sort()
p80 = runs[int(0.8 * len(runs)) - 1]
print(f"P50 {runs[len(runs) // 2]:,.0f}  P80 {p80:,.0f}  contingency to P80 {p80 / base - 1:.1%}")
# critical path (working days); predecessors in brackets
acts = {"A": ("Mobilize, erosion control", 5, []), "B": ("Drive abutment piles", 6, ["A"]),
        "C": ("Abutments and wingwalls", 20, ["B"]), "D": ("Truss fabrication (off site)", 55, []),
        "E": ("Erect and splice truss", 4, ["C", "D"]), "F": ("Deck forming and pour", 12, ["E"]),
        "G": ("Railings, fencing", 8, ["F"]), "H": ("Approach paths", 18, ["C"]),
        "I": ("Parking lot and bioretention", 25, ["A"]), "J": ("Ridgeway crossing", 6, ["A"]),
        "K": ("Restoration and closeout", 8, ["G", "H", "I", "J"])}
ES, EF = {}, {}
for k in acts:                                   # activities are listed in a valid order
    ES[k] = max([EF[p] for p in acts[k][2]], default=0); EF[k] = ES[k] + acts[k][1]
end = max(EF.values())
LF, LS = {}, {}
for k in reversed(list(acts)):
    succ = [s for s in acts if k in acts[s][2]]
    LF[k] = min([LS[s] for s in succ], default=end); LS[k] = LF[k] - acts[k][1]
print(f"\nProject duration {end} working days; critical path:", " -> ".join(k for k in acts if LS[k] == ES[k]))
for k, (n, d, _) in acts.items():
    print(f"  {k} {n:30s} ES {ES[k]:3d}  EF {EF[k]:3d}  float {LS[k] - ES[k]:3d}")
Output
Mobilization, bonds, insurance                      140,000
Erosion and sediment control                         45,000
Steel piles and pile caps                           210,000
Abutments and wingwalls                             330,000
Prefabricated weathering steel truss, delivered     690,000
Erection, crane and splice                          120,000
Concrete deck on steel form                         165,000
Railings and fencing                                 85,000
Riprap at the abutments                              60,000
Approach paths and retaining edges                  180,000
Trailhead parking lot                               230,000
Bioretention cell and underdrain                     75,000
Crossing at Ridgeway Road with beacons               70,000
Landscaping and restoration                          55,000
Construction estimate (CAD)                       2,455,000
P50 2,728,141  P80 2,885,372  contingency to P80 17.5%

Project duration 87 working days; critical path: D -> E -> F -> G -> K
  A Mobilize, erosion control      ES   0  EF   5  float  24
  B Drive abutment piles           ES   5  EF  11  float  24
  C Abutments and wingwalls        ES  11  EF  31  float  24
  D Truss fabrication (off site)   ES   0  EF  55  float   0
  E Erect and splice truss         ES  55  EF  59  float   0
  F Deck forming and pour          ES  59  EF  71  float   0
  G Railings, fencing              ES  71  EF  79  float   0
  H Approach paths                 ES  31  EF  49  float  30
  I Parking lot and bioretention   ES   5  EF  30  float  49
  J Ridgeway crossing              ES   5  EF  11  float  68
  K Restoration and closeout       ES  79  EF  87  float   0

The point estimate for construction is CAD 2.46 million. The prefabricated truss, delivered to site, is the largest single item at CAD 690,000, followed by the abutments, the trailhead parking lot and the steel piles. The Monte Carlo analysis puts the 80th percentile at CAD 2.89 million, a contingency of 17.5 %. That is larger than the 11 % on the Ridgeway road contract, as it should be: the design is less complete, the steel market has been volatile, and the piles carry real ground risk.

The city's capital budget for construction is CAD 3.0 million, so the P80 cost of CAD 2.89 million fits with a small margin. Engineering, permits, the early boreholes and the city's own costs are carried in a separate part of the capital budget, as the construction management course recommended.

Ranges used in the Monte Carlo analysis.
Source of uncertaintyRange usedReason
Steel piles and capsminus 10 % to plus 60 %cobbles in the till, possible early refusal, artesian water
Prefabricated trussminus 5 % to plus 35 %steel prices; only two suppliers quoted
Abutments and wingwallsminus 8 % to plus 30 %winter heating and dewatering if the work slips late
Other itemsminus 7 % to plus 15 %good recent price history
Bidding marketminus 5 % to plus 20 %contractor workload in the region

The schedule

The construction season in the region runs from late April, when frost leaves the ground and the spring flood passes, to late October. The schedule must fit the field work into that window. The critical path network has eleven activities, with the truss fabricated off site in parallel with the foundations. Lucas's script computes early and late dates and float, as in the scheduling lesson of the construction management course.

The critical path runs through truss fabrication, erection, the deck, the railings and closeout, for a total of 87 working days from the start of fabrication. The foundations and abutments have 24 days of float, and the parking lot and the Ridgeway crossing have much more. The truss, not the site work, controls the schedule. Fabrication takes about 55 working days after the supplier's shop drawings are approved, and shop drawings take four to six weeks to prepare and review. So the truss must be ordered as soon as the contract is awarded, which means awarding in February or early March.

Bar chart schedule from April to October. Truss fabrication runs off site from April into late June. Site activities start in May with mobilization and erosion control, then piles, then abutments through June. The truss erection is a short bar in early July, followed by the deck, railings and closeout into August. The parking lot and Ridgeway crossing bars float in May and June. Critical activities are drawn in red.
Construction schedule: the off-site truss fabrication is on the critical path.

The team adds two time constraints that the network alone does not show. The work near the creek, including the riprap and the outfall, is timed to avoid the fish timing window in the permits. And the deck pour must happen before the end of September, so that the concrete gains strength before cold weather; a late pour would need heating and blankets and would add cost and risk. With award in early March, shop drawings by mid-April and fabrication complete by the end of June, the truss is erected in early July and the deck is poured in mid-July, leaving a comfortable margin.

Worked problem

What a late award does

If the award slips four weeks, to early April, what happens to the deck pour, assuming the same durations and about five working days a week?

Show solution
  1. Truss delivery moves from the end of June to the end of July.
  2. \[\text{deck pour} \approx \text{mid-July} + 4\ \text{weeks} = \text{mid-August}\]
  3. The deck is still poured before the end of September, so the slip uses float in the calendar but does not force cold-weather concreting.

Answer: A four-week slip is absorbed. An eight-week slip would push the pour into late September, where weather risk rises; the report recommends awarding no later than mid-March.

Constructability

Priya arranges a constructability review with a local bridge contractor's superintendent, a common practice that the city supports. He looks at the drawings for an afternoon and asks the questions that design teams forget. Where will the crane stand, and on what? How will the truss halves reach the north abutment down a narrow access road? Where will the concrete trucks park for the deck pour, and how far is the pump boom reach? How does the pile-driving rig get onto the south abutment without crossing the floodplain? What happens if a pile refuses on a boulder at half depth?

His comments lead to changes. The crane pad is placed on the plateau beside the south abutment, on the sand, with a gravel working platform designed by Kenji for the outrigger loads, rather than in the floodplain as the first sketch showed. The truss halves are delivered from the south, along the Ridgeway Road path corridor before it is paved, spliced on blocking beside the south abutment, and lifted across the creek in one pick. The deck is poured from a concrete pump on the same pad. The pile-driving rig works from the abutment areas without entering the floodplain. And the specification includes a procedure for piles that refuse early: a redrive after a waiting period, then an added pile if needed, with the cost covered by a unit price for additional piles in the bid form.

The crane pick is the single most hazardous operation on the job. The lift is a little over 20 tonnes including rigging, at a radius of about 25 m to reach the far bearing, which calls for a large mobile crane. The overhead distribution line on the south side of Ridgeway Road is within the crane's working area. The team cannot design the lift, which is the contractor's responsibility under the contract, but it can design out the hazard: the specification requires the line to be de-energized or relocated by the utility for the day of the lift, with the utility's confirmation in writing, and lesson 10 records this as a safety-in-design decision.

How the project will be delivered

The team recommends design-bid-build with a unit-price contract, matching the city's usual practice for park and road projects. The prefabricated truss is specified by performance, with the supplier's engineer designing the connections and the erection scheme, and the general contractor engaging the supplier. A pre-qualification step for truss suppliers, based on experience with similar spans and a quality certification for steel fabrication, protects the city against an inexperienced fabricator. The team also suggests that the city consider issuing the truss as a separate early procurement if the main tender is delayed, because the truss is on the critical path and the supplier's lead time is the main schedule risk.

Practical points

  • State the estimate class and attach a contingency from a risk analysis, not a rule of thumb.
  • Get budget quotations for specialist items, such as prefabricated trusses.
  • Identify the critical path early; off-site fabrication often controls.
  • Fit the field work into the construction season and the permit timing windows.
  • Hold a constructability review with an experienced contractor before the design is final.

Common mistakes

  • MistakeUsing the same contingency percentage at every stage.

    InsteadContingency should reflect design maturity and the specific risks.

  • MistakeScheduling only site work.

    InsteadInclude shop drawings and fabrication, which are often on the critical path.

  • MistakeLeaving the crane position to the contractor without checking it is possible.

    InsteadShow a feasible crane pad, access route and pick on the drawings.

  • MistakeIgnoring the seasonal window for concrete.

    InsteadPlan the deck pour early enough to avoid cold-weather concreting.

Summary and key terms

  • The Class 3 construction estimate is CAD 2.46 million; the P80 is CAD 2.89 million, within the CAD 3.0 million budget.
  • Contingency of 17.5 % reflects design maturity, steel prices and pile risk.
  • The critical path runs through off-site truss fabrication, erection, the deck, railings and closeout: 87 working days.
  • Award by mid-March keeps the deck pour safely ahead of cold weather.
  • A constructability review moved the crane pad out of the floodplain and set the delivery route.
  • Design-bid-build with a performance-specified truss and pre-qualified suppliers is recommended.
Class 3 estimate
An estimate from semi-detailed unit costs at about 10 to 40 % design completion.
Budget quotation
An indicative price from a supplier for estimating, not a binding offer.
Critical path
The longest chain of dependent activities, which sets the project duration.
Float
The time an activity can slip without delaying the project.
Constructability review
A review of a design by experienced builders to find construction problems early.
Crane pad
A prepared surface that carries a crane's outrigger loads safely.
Shop drawings
Detailed fabrication drawings prepared by a supplier and reviewed by the designer.
Performance specification
A specification that states the required performance and leaves the detailed design to the supplier.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. The point estimate is 2.46 million and P80 is 2.89 million. What contingency is that?

    Show answer

    2.89 / 2.46 − 1 = 17.5 %.

  2. Which activities have float in the schedule?

    Show answer

    The piles and abutments (24 days), the approach paths (30), the parking lot (49) and the Ridgeway crossing (68).

  3. Why is the truss on the critical path rather than the foundations?

    Show answer

    Shop drawings and fabrication take longer than the site work that must precede erection.

  4. How does the specification deal with piles that refuse early?

    Show answer

    A redrive after waiting, then an added pile if needed, paid at a bid unit price for additional piles.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz