Appendix A — Construction Math Reference
Every formula in this book lives here, in one place, so you do not have to hunt through forty-two chapters to find the one you need at 6:40 in the morning with a subcontractor waiting.
The format is the same for every entry: the formula in words and symbols → the units → one compact worked example using a figure from the book → the classic mistake. Every worked example uses the canonical Northgate, Willow Street, Cottonwood Creek, or Harbor Ridge numbers, so if a result here disagrees with a chapter, the chapter is right and this page has a typo — tell somebody.
All cost and productivity data in this book is illustrative. It is the right order of magnitude and it is internally consistent, which is what makes it teachable. It is not a price list. Your company's historical data beats every number on this page.
Contents
| § | Topic |
|---|---|
| A.1 | Conventions used throughout |
| A.2 | Units and conversions |
| A.3 | Area and volume |
| A.4 | Earthwork: bank, loose, compacted, and the haul |
| A.5 | Concrete and formwork |
| A.6 | Productivity and unit cost |
| A.7 | Markup, margin, and the divisor method |
| A.8 | Escalation and cost adjustment |
| A.9 | CPM arithmetic |
| A.10 | Earned value |
| A.11 | Payment and cash flow |
| A.12 | Risk arithmetic |
| A.13 | Equipment |
| A.14 | Quick-reference tables and formula index |
A.1 Conventions used throughout
Label every unit, every time. A quantity without a unit is not a quantity. "620" is not an answer; "620 CY" is. More than half the arithmetic errors in this book's chapters are unit errors, and none of them look like errors on the page.
Round money to whole dollars in running text. Carry cents in a schedule of values, a pay
application, or a unit cost ($8.42/SF). Extend at full precision and round the total, not the
rate — rounding the rate first and then extending it over 14,200 units produces a number that is
wrong by a visible amount.
Say WD or CD, always. Contract time, liquidated damages, and extended general conditions run on calendar days. Crew productivity and schedule durations run on work days. Mixing them understates cost by roughly 40 percent on a five-day calendar, and it is the single most common error a new project engineer makes.
CPM uses the elapsed-time (zero-based) convention. The first activity has ES = 0, meaning "the
start of work day 1," and EF = ES + Duration. An activity with ES 5 and EF 17 occupies work days 6
through 17. The other common convention numbers days from 1 and requires a +1 on every handoff.
Both are correct; mixing them is not. State your convention at the top of every schedule table you
publish.
A.2 Units and conversions
A.2.1 The unit vocabulary
| Unit | Means | Bought and installed as | The classic mistake |
|---|---|---|---|
| CF | cubic foot | Grout, sealant, small volumes | Forgetting the ÷ 27 |
| CY | cubic yard = 27 CF | Concrete, earthwork, aggregate, spoil | Not saying whether it is bank, loose, or compacted |
| SF | square foot | Slabs, board, roofing, glazing | Which face? One side or both, gross or net of openings |
| SFCA | square feet of contact area | Formwork | Treating it as concrete area or slab area |
| SY | square yard = 9 SF | Paving, carpet, some earthwork | Dividing SF by 3 instead of 9 — a 3× error |
| SQ | square = 100 SF | Roofing, siding | Quoting per square and extending per SF |
| MSF | thousand SF | Roofing, gypsum board, deck | "M" is 1,000 (Roman mille), not million |
| LF | linear foot | Pipe, conduit, partitions, curb, trim | Centerline vs. face-to-face; laps and fitting takeouts |
| MBF | thousand board feet | Lumber | A board foot is nominal, not actual, dimension |
| LB | pound | Rebar, ductwork, misc. metals | — |
| CWT | hundredweight = 100 lb | Rebar, fasteners | Confusing CWT and TON is a 20× error |
| TON | short ton = 2,000 lb | Structural steel, rebar, asphalt, stone | Short ton vs. metric tonne (2,205 lb) — a 10% error |
| EA | each | Fixtures, doors, equipment, devices | Assemblies counted "each" hide their components |
| LS | lump sum | Anything not measured | A lump sum with no basis is an unpriced risk |
| MH | man-hour | Labor budgets | A crew-hour is not a man-hour: 5 workers × 1 hr = 5 MH |
| CD / WD | calendar day / work day | Time | See §A.2.5 |
A.2.2 Length, area, and volume
1 SY = 9 SF 1 CY = 27 CF 1 acre = 43,560 SF
1 SQ = 100 SF 1 MSF = 1,000 SF 1 acre = 4,840 SY
Worked — the SY trap. A 33,000 SF asphalt lot is 33,000 ÷ 9 = 3,667 SY, not 11,000 SY. At
$28/SY that error is $205,324 of paving that does not exist.
A.2.3 The conversion you will do a hundred times
CY = SF × (thickness in inches ÷ 12) ÷ 27
Worked — Northgate slab on grade, 33,000 SF at 5 inches:
33,000 SF × (5 ÷ 12) ft = 33,000 × 0.41667 = 13,750 CF
13,750 CF ÷ 27 CF/CY = 509.3 CY → carried as 510 CY
What it means: that is the canonical 510 CY on the Northgate quantity sheet. Memorize the shape of it — area, times thickness in feet, divided by twenty-seven.
The classic mistake: using the nominal thickness on composite metal deck. Northgate's elevated slabs are a 3-inch composite deck with 3¼ inches of lightweight cover, but the flutes fill, so the average thickness is roughly 4¾ inches. Take off at 3¼ and you are 458 CY short — about $90,684 of concrete you did not buy. Get the average thickness from the deck manufacturer's published section-property table for the specific profile. See Chapter 12, §12.4.5.
A.2.4 Board feet
BF = (nominal thickness in inches × nominal width in inches × length in feet) ÷ 12
Worked — Willow Street second-floor framing, 148 pieces of 2 × 10 × 16:
(2 × 10 × 16) ÷ 12 = 26.67 BF each
148 × 26.67 = 3,947 BF = 3.95 MBF
The classic mistake: using actual dimensions. A "2 × 10" is 1½ × 9¼ inches actual and 2 × 10 inches nominal. Board feet are always nominal, which is why lumber math and framing math give different answers and both are right.
A.2.5 Work days and calendar days
CD = WD × (7 ÷ days worked per week) On a standard five-day calendar: CD = WD × 1.4, and WD = CD ÷ 1.4
Worked — Northgate. An activity is 15 work days long. General conditions burn at $5,150 per calendar day.
15 WD × 7/5 = 21 CD
21 CD × $5,150/CD = $108,150
What it means: not 15 × $5,150 = $77,250. General conditions burn on Saturday and Sunday too.
Price extended general conditions in work days and you understate them by about 40 percent.
The fuller conversion, for converting contract time into available production time:
| Step | Northgate | Notes |
|---|---|---|
| Contract time, NTP to substantial completion | 565 CD | March 3, Year 1 → September 18, Year 2 |
| Less weekend days in this span | −161 | Count them; do not assume 2/7 |
| Less observed holidays falling on weekdays | −12 | Company and jurisdiction specific |
| Less anticipated weather days for exterior work | −18 | Put weather in the calendar, not an activity |
| Available work days | 374 WD | |
| Kestrel's baseline longest path | 372 WD | |
| Project float in the baseline | 2 WD | Normal, and worth knowing |
A.3 Area and volume
A.3.1 The shapes you actually need
| Shape | Area or volume | Units |
|---|---|---|
| Rectangle | L × W |
SF |
| Triangle | ½ × base × height |
SF |
| Circle | π × r² |
SF |
| Trapezoid | ½ × (b₁ + b₂) × h |
SF |
| Rectangular prism | L × W × H |
CF |
| Cylinder (pier, shaft, column) | π × r² × H |
CF |
| Prism of constant section | cross-sectional area × length |
CF |
Worked — a Cottonwood Creek drilled shaft. 36-inch diameter (r = 1.5 ft), 62 feet deep:
π × 1.5² × 62 = 3.1416 × 2.25 × 62 = 438.25 CF
438.25 ÷ 27 = 16.23 CY per shaft
24 shafts × 16.23 = 389.6 CY of concrete
What it means: 390 cubic yards of Class A concrete at Cottonwood Creek's bid unit price of $685/CY is $267,150 — but note that the shafts are paid by the linear foot at $412.00/LF, not by volume. Compute the volume anyway. You need it to order concrete, to plan the truck rotation, and to check grout takeoff against theoretical volume, which is the only quality control you have on a hole you cannot see into. See Chapter 8, §8.5.
The classic mistake: working in diameter instead of radius. π × d² is four times the right
answer, and it looks completely plausible on a calculator.
A.3.2 The average-end-area method
This is how earthwork volume is actually computed between survey cross-sections.
Volume between two stations = ½ × (A₁ + A₂) × L
where A₁ and A₂ are the cut (or fill) cross-sectional areas in SF at each station and L is the distance between them in feet. Result is CF; divide by 27 for CY.
Worked — a 200-foot run of Willow Street site cut, sections at 50-foot intervals:
| From station | To station | A₁ (SF) | A₂ (SF) | L (ft) | Volume (CF) | Volume (CY) |
|---|---|---|---|---|---|---|
| 0+00 | 0+50 | 86 | 118 | 50 | 5,100 | 188.9 |
| 0+50 | 1+00 | 118 | 164 | 50 | 7,050 | 261.1 |
| 1+00 | 1+50 | 164 | 142 | 50 | 7,650 | 283.3 |
| 1+50 | 2+00 | 142 | 96 | 50 | 5,950 | 220.4 |
| Total | 25,750 | 953.7 |
What it means: 954 bank cubic yards of cut over 200 feet of alignment. That is the number that goes on the mass-haul diagram, and it is in bank measure — see §A.4.
The classic mistake: believing the third decimal place. Average end area assumes the ground varies linearly between sections. Where it does not — a swale, a ledge outcrop, an old foundation — the method is wrong, and it is wrong in proportion to the section spacing. Tighter sections in irregular ground; that is the whole fix.
A.3.3 Excavation with side slopes
A sloped trench or excavation is a trapezoid in section.
Top width = bottom width + 2 × (slope ratio × depth) Average width = (bottom width + top width) ÷ 2 Volume per LF = average width × depth (CF/LF; ÷ 27 for CY/LF)
Worked — a 6-foot-deep, 2-foot-wide utility trench in Type C soil. OSHA's excavation standard, 29 CFR 1926 Subpart P, requires a protective system at 5 feet or more in most soils; the maximum allowable slope for Type C soil is 1½ horizontal to 1 vertical.
Vertical (illegal at this depth without a system):
2 ft × 6 ft = 12 CF/LF = 0.44 CY/LF
Sloped 1½:1:
top width = 2 + 2 × (1.5 × 6) = 20 ft
average width = (2 + 20) ÷ 2 = 11 ft
volume per LF = 11 × 6 = 66 CF/LF = 2.44 CY/LF
What it means: 5.5 times the excavation and backfill. Over 1,850 LF of underground sanitary at $9.50/CY to excavate and backfill, that is $42,883 sloped against $7,733 vertical — about $35,150. Which is also why, on a tight urban-edge site like Northgate's north property line, you price a trench box instead: it is cheaper than sloping and it is the only option when you cannot widen the trench.
The classic mistake: pricing a vertical cut because that is what the drawing shows. The drawing shows the pay line. The dirt does not care about the pay line, and neither does Subpart P. A trench with no protective system in the estimate is a trench with no protective system in the field.
A.4 Earthwork
A.4.1 Three measures of the same dirt
| Measure | Abbrev. | What it is | Where it governs |
|---|---|---|---|
| Bank | BCY | In place, undisturbed | Cut quantities, pay items, mass-haul diagrams |
| Loose | LCY | Excavated, broken up, aerated | Truck loads, hauling cost, stockpile volume |
| Compacted | CCY | Placed in lifts and compacted to spec | Fill quantities — the volume of the hole you must fill |
Every earthwork number you will ever see is in one of these three, and almost none of them say which. Write it on the takeoff sheet.
A.4.2 Swell and shrinkage, both directions
Swell (bank → loose): LCY = BCY × (1 + swell factor) Reverse (loose → bank): BCY = LCY ÷ (1 + swell factor)
Shrinkage (bank → compacted): CCY = BCY × (1 − shrinkage factor) Reverse (compacted → bank): BCY = CCY ÷ (1 − shrinkage factor)
Take the factors from the project geotechnical report's laboratory data, not from a table. As orders of magnitude only: sand and gravel swell roughly 10–15 percent; common earth and sandy clay roughly 20–30 percent; stiff clay roughly 30–40 percent; blasted rock 50–65 percent. Shrinkage for common earth runs roughly 8–15 percent.
Worked — Northgate, using the canonical 25% swell and 12% shrinkage:
Export haul volume:
32,000 BCY × 1.25 = 40,000 LCY
Compacted fill produced by reusing 12,000 BCY of cut:
12,000 BCY × (1 − 0.12) = 10,560 CCY
Borrow required if the plan needs 12,000 CCY in place:
shortfall = 12,000 − 10,560 = 1,440 CCY
bank equivalent = 1,440 ÷ 0.88 = 1,636 BCY
1,636 CY × $16.50/CY delivered and placed ≈ $27,000
What it means: you are hauling 40,000 yards, not 32,000 — 8,000 yards of pure air that a truck still carries and a landfill still charges you for. And twelve thousand yards of cut only fills 10,560 yards of hole.
The classic mistake, priced. Extend the bank quantity against a loose-measure haul rate:
Wrong: 32,000 × $18.50/LCY = $592,000
Right: 40,000 × $18.50/LCY = $740,000
Gap: $148,000
$148,000 on one line from one missing multiplication, or 8.2 percent of Kestrel's entire fee on Northgate.
A.4.3 Net import and export
Net export (BCY) = total cut − cut reused on site Import required (CCY) = fill required − compacted volume produced by reuse
Worked — Northgate: 44,000 CY cut − 12,000 CY reused = 32,000 CY net export, all in bank
measure, which is why 44,000 − 12,000 = 32,000 checks out on the mass-haul summary. The internal
consistency of that subtraction is your first sanity check on any grading plan.
A.4.4 Truck-cycle production
Loading production (LCY/hr) = (3,600 ÷ cycle time in seconds) × bucket capacity × fill factor × efficiency
Equivalently, in minutes: (bucket CY × 60 ÷ cycle minutes) × fill factor × efficiency
Worked — Northgate mass excavation. 2.5 CY bucket, 22-second cycle, 0.85 fill factor, 50-minute hour (0.833 efficiency):
3,600 ÷ 22 = 163.6 cycles/hr
163.6 × 2.5 CY × 0.85 × 0.833 = 290 LCY/hr
In bank measure: 290 ÷ 1.25 = 232 BCY/hr
Truck cycle time is the sum of five elements. Northgate's original spoil site was 6 miles away:
| Element | Calculation | Minutes |
|---|---|---|
| Spot at the excavator | — | 1.0 |
| Load (12 LCY at 290 LCY/hr) | 12 ÷ 290 = 0.0414 hr | 2.5 |
| Haul loaded, 6 mi at 24 mph average | 6 ÷ 24 = 0.250 hr | 15.0 |
| Dump and maneuver | — | 2.0 |
| Return empty, 6 mi at 30 mph average | 6 ÷ 30 = 0.200 hr | 12.0 |
| Total cycle | 32.5 |
The classic mistake: using posted speed limits. Those are average speeds over the whole route including signals, the site gate, and the queue at the spoil site. New estimators use posted limits and are 30 to 40 percent optimistic every time.
A.4.5 Fleet matching
Trucks required = truck cycle time ÷ load time
32.5 min ÷ 2.5 min = 13 trucks
What it means: at the moment truck #1 gets back to the excavator, trucks #2 through #13 have each been loaded and are out on the road. The machine never waits.
When you are short of trucks, the trucks govern, not the machine:
Fleet production (LCY/hr) = (number of trucks × truck capacity) ÷ cycle time in minutes × 60
Worked — 12 trucks instead of 13:
(12 × 12 LCY) ÷ 32.5 min × 60 = 265.8 LCY/hr (vs. 290 matched)
The classic mistake: thinking one truck too few is cheaper than one too many. On the haul
arithmetic alone it is — $5,564 against $13,101 on Northgate's export. Add the schedule and it
reverses: the short fleet costs about 2 extra calendar days on a critical-path activity, worth
2 × $10,650 = $21,300, for a total penalty of $26,864 against $13,101. One truck too many costs
truck rent. One truck too few costs calendar. See
Chapter 21, §21.4.3.
Also price the availability haircut. If each truck is genuinely available 92 percent of days, a
nominal 13-truck fleet puts an expected 11.96 trucks on the ground. To reliably have 13 you need
13 ÷ 0.92 = 14.1 — fourteen. The "extra" truck is the spare you already needed and did not price.
A.5 Concrete and formwork
A.5.1 Volume with waste
Ordered quantity = neat-line volume × (1 + waste factor)
Worked — Northgate footings:
| Component | CY |
|---|---|
| Footing pads (148 footings, per schedule) | 1,083.86 |
| Column pedestals (148) | 132.57 |
| Net (neat-line) volume | 1,216.43 |
| Waste and over-excavation allowance (1.9%) | 23.57 |
| Carried in the estimate | 1,240 CY |
The classic mistake — the double count. Apply waste to the quantity or to the unit price, never both. Kestrel's convention is the quantity, because a quantity you can see is a quantity you can audit. Do it twice and:
1,240 CY × $181.46/CY (waste built into the rate) = $225,010
1,240 CY × $177.90/CY (clean rate) = $220,596
Phantom cost $4,414
On concrete alone, on one job, from a bookkeeping ambiguity. Now scale it across forty divisions.
Second rule: waste is a material factor, not a labor factor. Your crew does not install the concrete that went home in the drum. Applying a waste factor to labor hours budgets crew time for work nobody performs.
A.5.2 Formwork — square feet of contact area
SFCA = the area of form face in contact with concrete
Wall:
length × height × 2 faces— thickness does not appear Footing pad:perimeter × depth— one face, no top or bottom Column:perimeter × height
Worked — the comparison that costs beginners the most money. Two elements, both containing exactly 37.04 CY (1,000 CF) of concrete:
| Element | Geometry | Concrete | Formwork |
|---|---|---|---|
| Foundation wall | 100 LF × 12 in thick × 10 ft tall | 37.04 CY | 100 × 10 × 2 = 2,000 SFCA |
| Footing pad | 20 ft × 15 ft × 3'-4" | 37.04 CY | 2 × (20 + 15) × 3.333 = 233 SFCA |
At $6.28/SFCA that is $12,560 of forms on the wall against $1,463 on the pad — an 8.6-to-1 difference for the same cubic yard of concrete. The concrete itself, at $242.34/CY, costs $8,976 either way. On the wall, the formwork costs forty percent more than the concrete.
What it means: formwork quantity has almost nothing to do with concrete quantity. It is driven by surface geometry — perimeter, height, number of faces, number of reuses. A cubic yard of slab, of footing, of foundation wall, and of column are four different products that happen to share a material.
The classic mistake: assuming a thicker wall costs more to form. Thickness is not in the formula. You will pay a little more for heavier ties and tighter tie spacing to resist the greater concrete pressure, and the SFCA does not move at all.
A.5.3 Reinforcing steel
Two methods, and you must know which one you are using.
Conceptual: pounds = concrete volume (CY) × factor (lb/CY) Detailed: pounds = Σ (bar length in LF × unit weight in lb/LF), with laps and bends
Useful bar weights: #3 = 0.376 lb/LF · #4 = 0.668 · #5 = 1.043 · #6 = 1.502 · #7 = 2.044 ·
8 = 2.670 lb/LF. (Bar size in eighths of an inch: a #4 bar is ½ inch.)
Worked — Northgate foundations, by factor:
| Element | Typical range (lb/CY) | Used | CY | Pounds |
|---|---|---|---|---|
| Spread footings | 90–130 | 110 | 1,216 | 133,760 |
| Foundation walls and grade beams | 130–180 | 155 | 620 | 96,100 |
| Slab on grade | taken off directly | — | 510 | 31,700 |
| Total | 261,560 lb |
261,560 lb ÷ 2,000 = 130.8 TON = 2,615.6 CWT
261,560 lb × $1.05/lb furnished, fabricated, delivered, installed = $274,638
Worked — the slab bar, taken off directly, #4 at 18 inches on center each way over 33,000 SF:
LF of bar = (33,000 ÷ 1.5) × 2 directions = 44,000 LF
add 8% for laps and starters = 47,520 LF
47,520 LF × 0.668 lb/LF = 31,743 lb → 31,700 lb
The classic mistake: using a lb/CY factor after the placing drawings exist. The factor is a
stand-in for information you do not have. A 15 percent error in the factor on Northgate's
foundations is 261,560 × 0.15 × $1.05 = $41,196. When the reinforcing schedule issues, re-take
the quantity bar by bar and reconcile it against the fabricator's number rather than picking the one
you like. And note that laps are quantity, not waste — count them in the takeoff and carry
3–7 percent separately for cut-offs and damage.
A.5.4 Cylinder strength and the 28-day break
f′c is the specified compressive strength at 28 days, in psi. Acceptance is by cylinder tests: a technician samples at the point of placement, makes cylinders, cures them, and breaks them — typically a set at 7 days for early information and at 28 days for acceptance. ACI 318 governs structural concrete and its acceptance criteria; your specification will reference it.
There is no formula here, but there is arithmetic, and it belongs on your schedule:
The 28-day break is a 28-calendar-day activity with a hold point at the end of it.
Worked — what that costs if you forget it. A slab placed on work day 60 cannot be accepted
until 28 calendar days later — work day 80 on a five-day calendar (28 ÷ 1.4 = 20 WD). If a
successor activity is contractually gated on the 28-day result and you scheduled it FS+0, you have
hidden 20 work days of waiting inside a relationship with no owner. Model it as a real activity on
a 7-day calendar — concrete does not know it is Saturday — and it will show up on the critical
path where it belongs.
The classic mistake: treating a low break as a schedule problem to argue about rather than an investigation to run. Low breaks trigger a defined sequence: check the test records, take additional cylinders, and if necessary core the structure and test the cores or perform a load test. All of that takes calendar days. Put the sequence in your risk register before you need it — Chapter 23.
A.6 Productivity and unit cost
A.6.1 Unit rate versus production rate
Two ways to say the same fact, and they are not interchangeable.
| Definition | Units | Example | |
|---|---|---|---|
| Unit rate | Man-hours consumed per unit installed | MH/unit | 1.15 MH/CY; 0.035 MH/SF; 14.0 MH/TON |
| Production rate | Units installed per crew-hour or crew-day | units/hr, units/day | 7.75 CY/crew-hr; 465 SFCA/crew-day |
Production rate (units per crew-hour) = crew size ÷ unit rate
Worked: a 10-worker crew at 1.087 MH/CY produces 10 ÷ 1.087 = 9.2 CY per hour.
What it means: use MH per unit as your primary measure. A production rate is entangled with crew size — change the crew from eight to ten and it moves even if efficiency did not. The unit rate strips crew size out, which makes it the measure you can build a database from.
Both feed the two documents that must agree:
Into the estimate: budget MH = quantity × unit rate; labor cost = budget MH × burdened rate
Into the schedule: duration = quantity ÷ (crew size ÷ unit rate)
That is theme 2 of this book with the arithmetic showing. Revise your assumed productivity and you have simultaneously changed the cost and the duration. Anyone who revises one without the other has broken the model.
A.6.2 The fully burdened labor rate
The wage is not the cost. Build the rate line by line, in this order, because several lines are percentages of the lines above them.
Worked — a Kestrel carpenter on open-shop private work, $34.00 base wage:
| # | Component | Basis | Amount |
|---|---|---|---|
| 1 | Base wage | — | $34.00 |
| 2 | Health and welfare | $4.85/hr contribution | $4.85 | |
| 3 | Retirement / 401(k) match | 4.0% of base | $1.36 |
| 4 | Vacation, holiday, sick accrual | 5.5% of base | $1.87 |
| Subtotal — wage plus fringes | $42.08 | ||
| 5 | Social Security (FICA) | 6.2% × $35.87 taxable | $2.22 | |
| 6 | Medicare | 1.45% × $35.87 | $0.52 | |
| 7 | Unemployment (FUTA + SUTA, blended) | 2.9% × $35.87 | $1.04 | |
| 8 | Workers' compensation | manual $9.80 per $100 × EMR 0.82 = 8.04% × $35.87 | $2.88 | |
| 9 | General liability | 1.90% × $35.87 | $0.68 | |
| 10 | Small tools and consumables | 2.5% of the line-4 subtotal | $1.05 |
| FULLY BURDENED HOURLY COST | $50.47 |
Burden factor = $50.47 ÷ $34.00 = 1.484 → 48.4% burden
Four things in that table that people get wrong:
The taxable wage base is $35.87, not $42.08. Bona fide benefit-plan contributions are generally
not taxable wages; vacation and holiday pay generally is. So taxes are computed on
$34.00 + $1.87 = $35.87. Tax treatment of fringes varies and changes — confirm the current
treatment with your controller, not with a textbook.
Unemployment rates vary enormously. FUTA has a low annual wage cap and SUTA varies by state and by your own experience rating. The 2.9 percent blended figure is Kestrel-specific and year-specific. Ask accounting for last year's effective rate.
Workers' compensation is priced by class code. A carpenter, a roofer, an ironworker, and an office employee are four different rates for the same company on the same day, sometimes differing by a factor of five. Manual rates are set by state rating bureaus and vary by jurisdiction; your experience modification rate (EMR) then multiplies them.
The same worker costs different amounts in different crews. A $26.00 laborer burdens to $39.51 in a framing crew and $40.74 in a trench crew, because the excavation class code carries a higher comp rate. If your estimating system carries one burdened laborer rate for the whole job, it is wrong somewhere.
Two more refinements you will meet in Chapter 20, which is why the same carpenter appears at two different rates in this book.
The build-up above stops at small tools and produces $50.47 (factor 1.484) for open-shop private work. Chapter 20 runs the same structure on Kestrel's self-perform prevailing-wage payroll, where the carpenter's workers' compensation rate is 10.88 percent rather than 8.04 and an overhead allocation line — payroll administration, safety staff, training, the tool room — adds $2.20. That build-up lands at $54.12 (factor 1.59). Neither is wrong. Say which build-up your rate came from, every time, and never move a rate between a private open-shop job and a prevailing-wage public job without rebuilding it.
And note the counterintuitive result: the cheapest worker carries the highest burden multiplier. Health and welfare, small tools, and overhead allocation are flat dollars per person, not percentages of wage, so they loom larger at a lower base. An apprentice runs a 1.71 multiplier where a foreman runs 1.54. You cannot estimate a mixed crew by applying one multiplier to one average wage. Price each seat at its own burdened rate and blend.
The effective rate — the hour on the clock versus the hour on the work.
Effective rate = burdened rate × (paid hours per year ÷ productive hours per year)
If a craft worker is paid for 2,080 hours a year and 294 of them produce nothing installed — holidays, paid time off, orientation and toolbox talks, weather standby, moves between jobs, training — then 1,786 hours are available for production:
$54.12 × (2,080 ÷ 1,786) = $54.12 × 1.165 = $63.05 per productive hour
The trap is double counting. If your unit rates were derived from charged hours on a cost code, that non-productive time is already inside them, and applying the effective rate on top inflates the price by about 16 percent. Kestrel's rule: unit rates come from charged hours, so estimates use the burdened rate; the effective rate is used only for pricing added scope, where a crew has to be pulled off other productive work. Know which convention your database uses, and write it down.
A.6.3 Crew cost per hour and per day
Crew cost per hour = Σ (burdened rate × count) for each classification Crew cost per day = crew cost per hour × hours per shift
Worked — Kestrel's foundation formwork crew:
| Role | Burdened | Count | Cost/hr |
|---|---|---|---|
| Foreman | $66.54 | 1 | $66.54 | ||
| Carpenter | $50.47 | 3 | $151.41 | ||
| Laborer | $39.51 | 1 | $39.51 | ||
| Crew cost per hour | 5 | $257.46 | |
| Crew cost per day (8 hr) | $2,059.68 |
A.6.4 The unit cost formula
crew cost per hour unit cost = -------------------- + material per unit + equipment per unit production per hour
Three terms and they behave completely differently. Labor is time-based. Equipment is time-based. Material is quantity-based. The production rate is the exchange rate between time and quantity; that one division is what converts "a crew costs $257.46 an hour" into "formwork costs $4.43 a square foot."
Worked — one square foot of contact area of foundation wall formwork, at 465 SFCA per crew-day, material $1.18/SFCA, and a rough-terrain forklift at $310/day:
Labor = $2,059.68 ÷ 465 SFCA = $4.4295
Material = $0.62 + $0.41 + $0.15 = $1.1800
Equipment = $310 ÷ 465 SFCA = $0.6667
-----------------------------------------------
UNIT COST = $6.2762 → $6.28 / SFCA
Worked — one cubic yard of Northgate footing concrete, placed and finished, at 62 CY per 8-hour crew-day (7.75 CY/crew-hr) with a $371.99/hr crew:
Labor = $371.99 ÷ 7.75 CY/hr = $48.00 / CY
Material = ready-mix + tax + short-load + accessories = $177.90 / CY
Equipment = pump, buggies, vibrators, forklift allocation = $16.44 / CY
-----------------------------------------------
UNIT COST = $242.34 / CY
Extended: 1,240 CY × $242.34 = $300,502
The classic mistake, and the asymmetry behind it. Production drops 15 percent, from 465 to 395.25 SFCA/day:
Labor = $2,059.68 ÷ 395.25 = $5.2110
Material = unchanged = $1.1800
Equipment = $310 ÷ 395.25 = $0.7843
-----------------------------------------------
NEW UNIT COST = $7.1753 → $7.18 / SFCA (+14.3%)
The unit cost rose only 14.3 percent because material does not care how long you took. But the
time-based portion rose from $5.0962 to $5.9953 — +17.6 percent, which is exactly 1 ÷ 0.85.
A 15 percent production loss is a 17.6 percent cost increase on the time-based portion. Losses
compound against you; they never scale one for one.
A.6.5 The productivity factor
PF = budgeted man-hours earned ÷ actual man-hours spent
where earned MH = quantity installed to date × budgeted unit rate
Forecast MH at completion = budget MH ÷ PF
PF above 1.00 is better than the estimate; below 1.00 is worse.
Worked — Northgate slab on grade at an interim measurement:
| Input | Value |
|---|---|
| Budget quantity | 33,000 SF |
| Budgeted unit rate | 0.035 MH/SF |
| Budget man-hours | 1,155 MH |
| Quantity installed to date | 21,450 SF |
| Earned MH | 21,450 × 0.035 = 750.75 → 751 MH |
| Actual MH spent | 810 MH |
PF = 751 ÷ 810 = 0.927
Forecast MH at completion = 1,155 ÷ 0.927 = 1,246 MH
Overrun = 1,246 − 1,155 = 91 MH × $54.12 burdened = $4,925
What it means: the crew is delivering 92.7 cents of budgeted work per hour paid. Left alone, the activity finishes 91 man-hours over budget. PF is earned value expressed in hours instead of dollars, and hours are the better unit in the field, because a foreman can count hours and quantities but cannot see a dollar. See Chapter 20, §20.6.
The classic mistake: computing PF at 2 percent complete and believing it, or computing it at 85 percent complete and acting on it. PF is a steering instrument, and steering is only useful while there is road left. The same 0.90 is a live problem at 15 percent complete and a closed book at 85 percent.
A.7 Markup, margin, and the divisor method
A.7.1 The conversion, both directions
- Markup is a percentage added to cost:
Price = Cost × (1 + markup) - Margin is the profit as a percentage of price:
Margin = (Price − Cost) ÷ Price
markup = margin ÷ (1 − margin) margin = markup ÷ (1 + markup)
Worked, both ways, on a $1,000,000 cost:
Mark up 10%: Price = $1,000,000 × 1.10 = $1,100,000
Margin = $100,000 ÷ $1,100,000 = 9.09%
Want a 10% margin: Price = $1,000,000 ÷ 0.90 = $1,111,111
Markup = $111,111 ÷ $1,000,000 = 11.11%
| Desired margin | Required markup | Markup applied | Resulting margin | |
|---|---|---|---|---|
| 3% | 3.09% | 3% | 2.91% | |
| 5% | 5.26% | 5% | 4.76% | |
| 8% | 8.70% | 8% | 7.41% | |
| 10% | 11.11% | 10% | 9.09% | |
| 12% | 13.64% | 12% | 10.71% | |
| 15% | 17.65% | 15% | 13.04% | |
| 20% | 25.00% | 20% | 16.67% |
The classic mistake, priced. On Northgate's $40,000,000 direct cost of work:
$40,000,000 × 11.11% = $4,444,000
$40,000,000 × 10.00% = $4,000,000
Difference $444,000
$444,000 — nearly a quarter of Kestrel's entire fee — between two numbers that sound identical when spoken aloud in a bid room at 1:40 p.m.
And check Kestrel's actual position: the CM fee is $1,804,800 on a $47,500,000 GMP.
$1,804,800 ÷ $47,500,000 = 3.80% margin on a 4.0% markup of the $45,120,000 subtotal. Both
numbers are correct; they describe the same transaction. Nadia Haddad asks for the margin number,
not the markup number, in every go/no-go meeting.
A.7.2 Bond premium on contract value
Payment and performance bonds are usually priced on a sliding scale applied to the final contract amount. Rates vary by surety, by the contractor's financial strength, by contract size, and over time — get a rate letter from your agent. A representative structure:
| Tier of contract value | Rate |
|---|---|
| First $500,000 | $25.00 per $1,000 | |
| Next $2,000,000 | $15.00 per $1,000 | |
| Next $2,500,000 | $12.00 per $1,000 | |
| Next $2,500,000 | $10.00 per $1,000 | |
| Above $7,500,000 | $8.50 per $1,000 |
Worked — the Willow Street Community Center's $6,800,000 contract:
First $500,000 × $25.00/M = $12,500
Next $2,000,000 × $15.00/M = $30,000
Next $2,500,000 × $12.00/M = $30,000
Next $1,800,000 × $10.00/M = $18,000
--------------------------------------
BOND PREMIUM = $90,500
Effective rate = $90,500 ÷ $6,800,000 = 1.331%
A.7.3 The divisor method — circular percentages
The bond premium is a percentage of the contract price, and the premium is in the contract price. So is a gross-receipts or contractor's excise tax where one applies. That is circular, and the fix is one line of algebra.
If
Sis the subtotal before the circular item andris its rate:Price = S + (r × Price) → Price = S ÷ (1 − r)
Worked — Willow Street, subtotal before bond $6,710,000, effective rate 1.33 percent:
Naive: bond = $6,710,000 × 0.0133 = $89,243 → price $6,799,243
Correct: price = $6,710,000 ÷ 0.9867 = $6,800,446
bond = $6,800,446 − $6,710,000 = $90,446
You under-bonded yourself by $1,203.
What it means: small on Willow Street. Scale the same error to Northgate's $47.5M and it is roughly $8,400 — and unlike most estimating errors, this one is pure arithmetic and completely avoidable.
The classic mistake: applying the divisor to the wrong base. Bond is computed on the final price, which includes overhead and profit. Compute it on the cost of work and you will be short by the bond on your own markup.
A.8 Escalation and cost adjustment
A.8.1 Compounding to the midpoint of construction
Escalation factor = (1 + annual rate)^(years to the midpoint of construction) Years to midpoint = (months to NTP + half the construction duration in months) ÷ 12
Use 30.44 days per month to convert contract calendar days to months.
You will not spend the money at Notice to Proceed. You will spend it across the whole construction period, and on an S-shaped cost curve the weighted average date of the spend is close enough to the midpoint that the midpoint is the industry convention.
Worked — Northgate at schematic design:
Months to NTP: 16.00
Contract time 565 CD ÷ 30.44 = 18.56 months; half = 9.28
Months to midpoint: 25.28 = 2.107 years
Escalation assumption: 3.0% per year
Factor = (1.030)^2.107 = 1.06425 → 6.43%
Amount = $43,566,690 × 0.0643 = $2,801,338
The classic mistake, priced. Escalate to NTP instead:
16 months = 1.333 years; (1.030)^1.333 = 1.04020 → 4.02%
$43,566,690 × 0.0402 = $1,751,381
Understated by: $2,801,338 − $1,751,381 = $1,049,957
It would not have looked like a mistake. It would have looked like a better number. That is what makes it dangerous.
Two rules that go with the formula. Escalate only un-bought scope — this is why Northgate's escalation line falls from $2,801,338 at schematic design to $575,200 at GMP: 84 percent of the work is under subcontract at fixed prices and those subcontractors now own their own escalation. And escalation is not contingency. Contingency covers risks that might happen; escalation covers a thing that will almost certainly happen and whose only question is how much.
A.8.2 City cost index adjustment
Adjusted cost = source cost × (your city index ÷ source city index)
Published city cost indices come from RSMeans, ENR, and comparable sources. Use real, current published values; the index numbers in this book are illustrative so you can follow the arithmetic.
A.8.3 Size adjustment
Bigger buildings generally cost less per square foot, because fixed costs spread over more area and repetition improves productivity. A common rule of thumb:
1.5 percent reduction in unit cost per 10 percent increase in floor area
Size factor = 1 − (percent larger ÷ 10) × 0.015
It is a rule of thumb. It breaks down at extremes, and it does not apply at all if the program mix changes with the size.
A.8.4 All three, on one historical project
Apply them in this order — time, then location, then size — and show your work.
Worked — the Fairhaven Ambulatory Care Center adjusted to Northgate. 104,000 SF, same program mix, final construction cost $36,600,000, construction midpoint 34 months ago, city cost index 99.2 against Rivermont's 103.8, escalation 3.8 percent per year, target 132,000 SF:
| Step | Arithmetic | Result |
|---|---|---|
| Base unit cost | $36,600,000 ÷ 104,000 SF | $351.92/SF |
| 1. Time | 34 months = 2.833 yr; (1.038)^2.833 = 1.11146 | $351.92 × 1.11146 = $391.15/SF |
| 2. Location | 103.8 ÷ 99.2 = 1.04637 | $391.15 × 1.04637 = $409.29/SF |
| 3. Size | 132,000 ÷ 104,000 = 1.2692 → 26.9% larger → 26.9/10 × 1.5% = 4.04% reduction → 0.95962 | $409.29 × 0.95962 = $392.76/SF |
| Apply | $392.76/SF × 132,000 SF | $51,843,828 |
The classic mistake: escalating from the comparable's completion date instead of its
construction midpoint. Fairhaven completed 26 months ago and took 16 months, so its midpoint is
26 + 8 = 34 months ago. Using completion would have escalated only 26 months and understated the
adjusted cost by about 2.4 percent — roughly $1.2 million on a Northgate-sized project. Nobody
notices that error. It just quietly makes you low.
See Chapter 11, §11.3.5.
A.9 CPM arithmetic
Full treatment, with the network drawn and the tables built, is Chapter 14. Twenty worked problems with complete solutions are in Appendix B.
A.9.1 Forward pass — how early can everything happen?
ES = the LARGEST early finish among all predecessors (0 for the first activity) EF = ES + Duration Project duration = the largest EF in the network
"Largest" is the whole point at a merge. An activity with three predecessors waits for the slowest one. Take an average, or the first one you wrote down, and you get a schedule that is wrong in a way that always favors you.
A.9.2 Backward pass — how late without moving the finish?
LF of the last activity = the project duration (or the imposed date, §A.9.4) LF = the SMALLEST late start among all successors LS = LF − Duration
The arithmetic check: if the network has no imposed dates, the first activity's LS must come back to 0. If it does not, you have made a mistake. Find it before you publish anything.
Why max forward and min backward: a merging activity must wait for its slowest predecessor — a physical fact about waiting. A bursting activity must finish in time for its most urgent successor — a physical fact about commitments.
A.9.3 Float — four flavors
Total float (TF) = LS − ES = LF − EF — how much the activity can slip without delaying the project. Compute both ways; they must match, and the disagreement is a free error check.
Free float (FF) = (smallest ES among successors) − EF — how much it can slip without delaying the early start of any successor.
Interfering float (IF) = TF − FF — the part of total float that, if used, does not delay the project but does push a successor's early start, consuming somebody else's room.
Independent float = max(0, (smallest ES of successors) − (largest LF of predecessors) − Duration) — the room the activity has even in the worst case: predecessors as late as possible, successors as early as possible. Usually zero in a tightly chained construction network.
Worked — the Northgate foundations-and-steel fragnet (Ch 14, §14.6):
| ID | Activity | Dur | ES | EF | LS | LF | TF | FF | IF | Critical? |
|---|---|---|---|---|---|---|---|---|---|---|
| A | Mobilize and set up site | 5 | 0 | 5 | 0 | 5 | 0 | 0 | 0 | YES |
| B | Mass excavation, building pad | 12 | 5 | 17 | 5 | 17 | 0 | 0 | 0 | YES |
| C | Prepare anchor-bolt submittal | 5 | 5 | 10 | 9 | 14 | 4 | 0 | 4 | no |
| D | Structural review of anchor bolts | 14 | 10 | 24 | 14 | 28 | 4 | 0 | 4 | no |
| E | Spread footings | 18 | 17 | 35 | 17 | 35 | 0 | 0 | 0 | YES |
| F | Mill rolling, fabrication, delivery | 45 | 24 | 69 | 28 | 73 | 4 | 4 | 0 | no |
| G | Foundation walls and grade beams | 14 | 35 | 49 | 35 | 49 | 0 | 0 | 0 | YES |
| H | Backfill and under-slab utilities | 10 | 49 | 59 | 49 | 59 | 0 | 0 | 0 | YES |
| I | Slab on grade | 14 | 59 | 73 | 59 | 73 | 0 | 0 | 0 | YES |
| J | Erect structural steel | 30 | 73 | 103 | 73 | 103 | 0 | 0 | 0 | YES |
What it means: C, D, and F all show four days of total float, and it is the same four days shown three times — the float belongs to the path, not to the activities on it. If you have ever added up a float column, this is the error you were making. And read the difference: F has free float, so Ironbridge can deliver four days late and nobody notices. C and D have zero free float, so if Kestrel takes four extra days on the submittal, F's free float goes to zero. Kestrel did not delay the project. Kestrel spent Ironbridge's room.
A.9.4 Critical path and negative float
The critical path is the chain of activities with the minimum total float — zero, in an unconstrained network — and it is also, always, the longest path through the network.
Negative float appears when an imposed date is earlier than the calculated finish: LF < EF, so
TF < 0. It is not a plan. It is the schedule telling you in arithmetic that you are already late
against something.
Worked — Northgate after the steel delay. Erection starts 23 calendar days late and the time impact analysis carries all 23 days to substantial completion, forecasting October 11, Year 2:
| Milestone | Imposed date | Forecast | Float |
|---|---|---|---|
| Substantial completion (contract) | Sept 18, Y2 | Oct 11, Y2 | −23 CD |
| Owner occupancy before lease expiry | Oct 1, Y2 | Oct 11, Y2 | −10 CD |
Both numbers are correct and they mean different things. The −23 is a money problem:
23 × $10,650 = $244,950. The −10 is a relationship problem and, for Meridian, an operational
catastrophe. That is what a schedule is for — not to tell you what a delay costs, but to tell you
which delays are different in kind.
Verification test (do this on every schedule you are handed): add 100 days to one activity on the computed critical path and recalculate. The finish must move exactly 100 days. If it moves less, something downstream — a constraint, a calendar, a mandatory date — is absorbing delay, and the schedule cannot compute a true critical path.
A.9.5 Lags, leads, and relationship types
| Type | Notation | The forward rule | The backward rule |
|---|---|---|---|
| Finish-to-start | FS + L | ES(B) ≥ EF(A) + L |
LF(A) ≤ LS(B) − L |
| Start-to-start | SS + L | ES(B) ≥ ES(A) + L |
LS(A) ≤ LS(B) − L |
| Finish-to-finish | FF + L | EF(B) ≥ EF(A) + L |
LF(A) ≤ LF(B) − L |
| Start-to-finish | SF | almost always a modeling error | — |
A lead is a negative lag. Do not use one. An FS−10 is a start-to-start relationship written badly, and when the predecessor's duration changes the successor's start moves in ways that are hard to predict and harder to explain to an arbitrator. If two activities overlap, say so with SS + lag.
The rule worth tattooing on a scheduler: a lag is a duration with no owner. It has no responsible party, no resource, no cost code, and no way to report progress. Any lag longer than five days should be converted into a real activity — "Cure slab and strip screeds — 7 CD" — or carry a written justification in the activity notes.
Note the trap with SS-only links. A start-to-start relationship constrains the predecessor's start and says nothing whatever about its finish. Model framing → rough-in as SS+6 with no finish-to-finish link and the framing crew can run six weeks over without the schedule noticing. Pair every SS with an FF where the physical work requires it. Problem 11 in Appendix B works that failure end to end.
A.9.6 Cost slope and crashing
Cost slope = (crash cost − normal cost) ÷ (normal duration − crash duration)
Units: dollars per day gained. Crash the cheapest activity on the critical path first, then re-run the network, because the critical path moves.
Worked — a Willow Street compression:
| Activity | Normal dur | Normal cost | Crash dur | Crash cost | Max days | Cost slope |
|---|---|---|---|---|---|---|
| A — Sitework and building pad | 12 | $148,000 | 9 | $166,000 | 3 | $6,000/day | ||
| B — Foundations and slab | 16 | $305,000 | 12 | $349,000 | 4 | $11,000/day | ||
| D — Second-floor framing and roof | 18 | $410,000 | 14 | $458,000 | 4 | $12,000/day |
A: ($166,000 − $148,000) ÷ (12 − 9) = $18,000 ÷ 3 = $6,000/day
The classic mistake: buying more days than the parallel path will let you have. The float on
the parallel path is the ceiling on what acceleration can buy. Accelerate Northgate's slab on
grade from 14 work days to 8 for $13,870 and the project drops from 103 work days to 99 — you bought
four days, not six, because beyond four days the steel delivery chain governs the merge. Four
work days is 5.6 calendar days, worth 5.6 × $10,650 = $59,640 against a cost of $13,870 — still a
good trade at net $45,770, but you would have paid the same $13,870 believing you were buying
8.4 calendar days worth $89,460. Run the network first. Always.
A.10 Earned value
The four base quantities, all in dollars, all measured at the same data date:
| Term | Name | What it is |
|---|---|---|
| PV | Planned value | The budgeted cost of the work scheduled to be complete by now |
| EV | Earned value | The budgeted cost of the work actually complete now |
| AC | Actual cost | What that completed work actually cost |
| BAC | Budget at completion | The total budget for whatever you are measuring |
A.10.1 Variances and indices
Cost variance: CV = EV − AC (negative is over budget) Schedule variance: SV = EV − PV (negative is behind — in dollars, not days) Cost performance index: CPI = EV ÷ AC Schedule performance index: SPI = EV ÷ PV
Worked — Northgate at month 11, BAC $40,000,000, PV $25,760,000, EV $24,970,000, AC $25,642,000:
CV = $24,970,000 − $25,642,000 = −$672,000
SV = $24,970,000 − $25,760,000 = −$790,000
CPI = $24,970,000 ÷ $25,642,000 = 0.974
SPI = $24,970,000 ÷ $25,760,000 = 0.969
The limitation you must state every time you report it: SV and SPI are in dollars, not days.
An SPI of 0.969 says you have installed 96.9 percent of the dollar volume of work you planned to
install. It says nothing about the critical path. A job can run an SPI of 1.05 by pouring extra
sidewalk while the steel sits. Only the schedule tells you about time. Both SV and SPI also
drift to zero and 1.000 at completion by construction — when the job is done, EV = PV = BAC — so
they lose diagnostic value in the last quarter of a project exactly when you need it most.
A.10.2 The four EAC formulas
Estimate at completion (EAC) — total forecast cost. ETC = EAC − AC. Variance at completion: VAC = BAC − EAC.
| # | Formula | The assumption it makes | Use it when |
|---|---|---|---|
| 1 | EAC = BAC ÷ CPI |
Current cost performance continues | The default. Use it unless you can name the thing that changed |
| 2 | EAC = AC + (BAC − EV) |
The overrun was one-time; the rest performs to budget | A genuine, closed, non-recurring event |
| 3 | EAC = AC + [(BAC − EV) ÷ (CPI × SPI)] |
Both cost and schedule pressure continue | You are behind and will have to compress or work premium time |
| 4 | EAC = AC + bottom-up ETC |
Forget the ratios — I re-estimated the remaining work | The remaining scope differs materially. At least once a quarter |
Worked — Northgate at month 11, remaining budgeted work BAC − EV = $15,030,000:
| # | Computation | EAC | VAC = BAC − EAC |
|---|---|---|---|
| 1 | $40,000,000 ÷ 0.973793 |
$41,076,492 | −$1,076,492 |
| 2 | $25,642,000 + $15,030,000 |
$40,672,000 | −$672,000 |
| 3 | $25,642,000 + ($15,030,000 ÷ 0.943929) = $25,642,000 + $15,922,812 |
$41,564,812 | −$1,564,812 |
| 4 | $25,642,000 + $15,598,000 (Wei Chen's bottom-up re-estimate) |
$41,240,000 | −$1,240,000 |
Divide by the unrounded index. Using CPI = 0.974 instead of 0.973793 moves formula #1 by about $9,000. Carry the full precision through the division and round the result.
What it means: the spread is $892,812 on the same four inputs, on the same day, for the same job, and nobody is lying — every one is a correctly applied standard formula. Note that formula #2's VAC is exactly the cost variance already incurred, which is the tell: it says "we lost $672,000 and we will lose no more." Formula #2 can never forecast a problem that has not already happened, which is its entire appeal to a project manager who does not want to deliver bad news.
A.10.3 TCPI — the credibility test
TCPI to BAC = (BAC − EV) ÷ (BAC − AC) TCPI to EAC = (BAC − EV) ÷ (EAC − AC)
TCPI is the cost efficiency the remaining work must achieve to hit the target.
Worked — Northgate:
TCPI to BAC = ($40,000,000 − $24,970,000) ÷ ($40,000,000 − $25,642,000)
= $15,030,000 ÷ $14,358,000 = 1.047
What it means: the remaining $15,030,000 of budgeted work must be performed at 1.047 by a team that has averaged 0.974. That is a 7.5 percent performance improvement, which is a claim, not a forecast. TCPI converts a forecast into a testable claim. If a reported EAC requires a to-complete index the job has never once achieved, the EAC is a wish. Note also that the TCPI for formula #1 is always exactly the current CPI, and for formula #2 always exactly 1.000 — which is what those formulas mean, stated out loud.
A.11 Payment and cash flow
A.11.1 Retention and the step-down
Retention held = retention rate × work in place to date
Where the contract steps the rate down at a milestone, the retention is normally recomputed at the new rate on all work in place, and the difference is released.
Worked — Northgate, 10 percent until 50 percent complete, then 5 percent. At pay application 10 the cumulative work in place is $26,100,000 (54.9 percent of the GMP):
Held at 10%: $26,100,000 × 0.10 = $2,610,000
Held at 5%: $26,100,000 × 0.05 = $1,305,000
RELEASED: $1,305,000
What it means: roughly $1.3 million of cash back into Kestrel's hands in month 10 — a date Owen Baptiste, the CFO, has circled on a calendar, because it funds two months of payroll.
The classic mistake: assuming what "reduced to 5 percent at 50 percent complete" means. It has at least two common readings — recompute the rate on all work in place (above), or hold the existing balance and apply 5 percent to subsequent billings only. Under the second reading nothing is released and the balance keeps growing. The two readings differ by more than a million dollars on Northgate. Read the clause; do not assume. Retention limits, reduction milestones, and release timing are also regulated by statute in many jurisdictions, particularly on public work, and those statutes vary by state and change.
A.11.2 Retention carrying cost
Carrying cost = average retention balance × borrowing rate × (months outstanding ÷ 12)
Worked — Willow Street, 5 percent retention flat on a $6,800,000 contract, with the average dollar outstanding about 9 months and Kestrel's revolver at 8.5 percent:
Retention at completion = $6,800,000 × 0.05 = $340,000
Carrying cost = $340,000 × 0.085 × (9 ÷ 12) = $21,675
What it means: $21,675 of interest on money you have already earned, on a job whose entire general-conditions budget is $680,000. Retention is not a fee. It is a loan you make to the owner, and you should know what it costs you.
A.11.3 Percent complete by cost-to-cost
Percent complete = cost incurred to date ÷ total estimated cost at completion
Look hard at the denominator. It is not the original budget and it is not the contract value. It is the current forecast of what the job will cost when finished.
Worked — Northgate at the January close of Year 2:
Percent complete = $21,758,744 ÷ $46,295,200 = 47.00%
Revenue earned = contract amount × percent complete
= $48,124,000 × 0.4700 = $22,618,280
Gross profit earned = $22,618,280 − $21,758,744 = $859,536
Check it the other way, and it must agree:
estimated gross profit × percent complete = $1,828,800 × 0.4700 = $859,536 ✓
The classic mistake: leaving a known cost increase out of the denominator because you "want to see if you can absorb it." A forecast that is $1,400,000 light on a $21,000,000 job overstates percent complete from 37.50 to 40.00 percent, which multiplies straight through the contract value into revenue the company has not earned. Nobody committed fraud. Somebody was optimistic in a spreadsheet.
A.11.4 Over- and under-billing
Over/(under) billing = amount billed to date − revenue earned to date
Positive is over-billed — a liability. Negative is under-billed — an asset, and usually a symptom.
Worked — Northgate:
$23,340,000 billed − $22,618,280 earned = $721,720 over-billed
What it means: Meridian Health is carrying $721,720 of Kestrel's working capital at no charge. That is competent cash management. It is also a liability repayable in work: every dollar of over-billing is a dollar of cost you will incur later with no matching billing.
The classic mistake: netting over- and under-billed jobs against each other. On the balance sheet they land in different places — over-billed jobs sum to a current liability, under-billed jobs to a current asset — and a nearly balanced net position can hide a lot of jobs badly out of alignment in both directions.
A.11.5 Interest, present value, and payback
Simple interest: I = P × r × t (t in years) Compound interest: F = P × (1 + i)ⁿ (i = rate per period, n = periods) Present value: PV = F ÷ (1 + i)ⁿ Simple payback (years) = incremental first cost ÷ annual savings
Worked — simple interest on a late payment. A $250,000 progress payment arrives 45 days late; your prompt-payment interest rate is 6 percent per annum:
$250,000 × 0.06 × (45 ÷ 365) = $1,849
Worked — present value. A $120,000 equipment replacement five years out, discounted at 8 percent:
$120,000 ÷ (1.08)^5 = $120,000 ÷ 1.46933 = $81,670
Worked — simple payback on a life-cycle comparison. A higher-efficiency rooftop unit costs $86,000 more and saves an estimated $24,500 a year in energy:
$86,000 ÷ $24,500 = 3.51 years
The classic mistake: presenting simple payback as if it were an investment analysis. It ignores the time value of money, everything after the payback date, maintenance cost differences, and equipment life. It is a screening tool, and it is the right one for a value-engineering log where you are ranking twenty options in an afternoon. When the decision is large, discount the cash flows. Note also that entitlement to interest on late payment varies by jurisdiction and by contract; many states have prompt-payment statutes with their own rates and notice requirements.
A.12 Risk arithmetic
A.12.1 Expected monetary value
EMV = probability of the event × cost if it occurs
Worked — a Northgate register row: a 35 percent probability of a $420,000 impact:
0.35 × $420,000 = $147,000
The classic mistake: treating EMV as a project number. You will never spend $147,000 on that row. You will spend $0 or $420,000. EMV is honest across many rows and many jobs and meaningless for one row on one job. Note too that a 30 percent × $260,000 row and a 12 percent × $640,000 row are financially identical on paper ($78,000 and $76,800) and not at all identical in life: one costs you a bad quarter, the other a bad year.
A.12.2 Three-point (PERT) weighting
EMV is for events that either happen or do not. For something that will happen but whose magnitude you do not know — a duration, a unit price, a quantity — use three points.
Expected value: te = (O + 4M + P) ÷ 6 Standard deviation ≈ (P − O) ÷ 6
Worked — Ironbridge's fabrication and delivery duration. Best case 38 work days, most likely 45, worst case 68:
te = (38 + 4 × 45 + 68) ÷ 6 = (38 + 180 + 68) ÷ 6 = 286 ÷ 6 = 47.67 → 48 WD
σ = (68 − 38) ÷ 6 = 5 WD
What it means: the 45 days in the schedule is the most likely duration, not the expected duration. Three days does not sound like much until you notice that the pattern repeats on every activity, always in the same direction, because the downside tail of a construction duration is much longer than the upside tail. Nothing finishes in half the time; plenty of things take twice as long. That asymmetry is the real reason baselines are optimistic, and it is not dishonesty — it is the arithmetic of taking a most-likely value as a plan. It also tells you that four days of float on the steel chain was less than one standard deviation of protection on a single activity.
A.12.3 Contingency, sized both ways
Bottom-up: contingency = Σ EMV across the risk register Top-down: contingency = percentage × the base subject to contingency
Worked — Northgate:
Bottom-up (register rows owned by Kestrel): $735,650
Top-down (3% of a $43,800,000 base): $1,320,000
Gap: $584,350 (ratio 1.79)
Neither is wrong, and the reconciliation is the deliverable. Three reasons the gap is legitimate: EMV is a mean and the contingency is set nearer a P90; the register is incomplete and you know it (closeout data commonly shows a fifth to a third of contingency draw going to events that never appeared on any register); and mitigation costs belong in the estimate as scope, not in the contingency.
The monitoring ratio worth carrying in your head:
Burn ratio = (percent of contingency drawn) ÷ (percent of work complete)
Above 1.0 and the arithmetic is against you for the rest of the job. You should never have drawn a larger share of your contingency than the share of the work you have built.
The classic mistake — double counting. If a register row's cost impact already includes extended general conditions, do not add the daily rate again on top of it. Registers exist where the same 14 days got counted three times: once in the row, once as a separate "extended GC" row, and once in a schedule-contingency calculation. The total looked defensible and was wrong by a quarter of a million dollars.
A.13 Equipment
A.13.1 Hourly ownership cost
Depreciation = (purchase price − residual value) ÷ life in hours Cost of capital = [(purchase + residual) ÷ 2] × rate ÷ annual hours Insurance, tax, license = rate × average investment ÷ annual hours Storage and inter-job transport = annual cost ÷ annual hours
Worked — Kestrel's mid-size hydraulic excavator. $285,000 delivered, 10,000-hour life, $71,250 residual (25 percent), 7.0 percent cost of capital, 3.2 percent for insurance and taxes, $4,800/yr storage, 1,250 hours a year assumed utilization:
| Component | Arithmetic | $/hr |
|---|---|---|
| Depreciation | ($285,000 − $71,250) ÷ 10,000 hr | $21.38 |
| Cost of capital | Average value ($285,000 + $71,250) ÷ 2 = $178,125; × 7.0% = $12,469/yr ÷ 1,250 | $9.98 |
| Insurance, tax, license | 3.2% × $178,125 = $5,700/yr ÷ 1,250 | $4.56 |
| Storage and transport | $4,800/yr ÷ 1,250 | $3.84 | |
| Total ownership cost | $39.76/hr |
What it means: that is what the machine costs sitting in the yard with the key out. Nothing has been dug yet.
A.13.2 Hourly operating cost
Operating cost = fuel + DEF + lubricants and filters + tires or undercarriage + repair reserve + ground engaging tools (+ operator, if you are pricing the crew with the machine)
| Component | Basis | $/hr |
|---|---|---|
| Fuel | 4.6 gal/hr × $4.15/gal delivered | $19.09 | |
| Diesel exhaust fluid | ~4% of fuel volume × $3.60/gal | $0.65 | |
| Lubricants, filters, grease | ~15% of fuel cost | $2.86 |
| Undercarriage | $32,000 ÷ 4,000 hr | $8.00 | |
| Repairs and major maintenance reserve | 65% of depreciation | $13.90 |
| Ground engaging tools | Consumption history | $1.35 |
| Operating subtotal — machine only | $45.85 | |
| Operator, fully burdened | §A.6.2 | $58.50 |
Bare machine cost = $39.76 + $45.85 = $85.61/hr
All-in with operator = $144.11/hr
The classic mistake: using the dealer's spec-sheet fuel burn. A load factor is the fraction of rated engine output the machine actually draws averaged over an hour, and the same excavator can burn 3.1 gallons an hour backfilling and 6.4 trenching stiff clay. Pull six months of fuel invoices, divide by telematics hours, and use your own figure. That is a two-hour exercise that improves every equipment decision you make for a year.
A.13.3 Own-versus-rent break-even utilization
Own(H) = fixed annual ownership + (variable own $/hr × H) Rent(H) = annual mobilizations + (all-in rental $/hr × H)
Break-even H = fixed annual ownership − annual mobilization cost, divided by (rental $/hr − variable own $/hr)
Worked — Kestrel's excavator. Fixed ownership $22,969/yr; variable own $67.23/hr (depreciation $21.38 + operating $45.85). Rented at the monthly rate with waiver, surcharge, fuel and greasing: $80.25/hr, plus six mobilizations a year at $850 = $5,100/yr:
$22,969 + $67.23H = $5,100 + $80.25H
$17,869 = $13.02H
H = 1,372 hours per year
What it means: you need this machine working about 1,372 hours a year — roughly 70 percent of a 1,950-hour work year — before owning it beats renting it. Kestrel's actual utilization is 1,250 hours, so owning costs about $1,594 a year more than renting: a rounding error, which means the decision is correctly made on things that are not money.
Two sensitivities, because this is where the real lesson lives. Negotiate a 15 percent national rental discount and the rental variable drops to $71.45/hr:
$22,969 + $67.23H = $5,100 + $71.45H → H = 4,235 hours per year
Four thousand hours is more than two shifts every working day, all year. A fleet discount can eliminate the ownership case entirely. Conversely, run a disciplined shop and drop the repair reserve from 65 percent of depreciation to 45 percent (own variable $62.95/hr):
$22,969 + $62.95H = $5,100 + $80.25H → H = 1,033 hours per year
The ownership case is won or lost in the shop, not in the purchase negotiation.
The classic mistake: treating this as a question about equipment. It is a question about your organization — utilization, purchasing power, shop discipline, balance sheet, and bonding capacity. Two identical contractors bidding the identical job can honestly reach opposite answers.
A.13.4 The rental rate structure and its breakpoints
Term breakpoint = longer-term rate ÷ shorter-term rate
Worked — an illustrative rate sheet: daily $1,150 (8 hr), weekly $3,200 (40 hr), 4-week $8,900 (176 hr):
Weekly ÷ daily = $3,200 ÷ $1,150 = 2.78 days → at 3 days, take the week
Monthly ÷ weekly = $8,900 ÷ $3,200 = 2.78 weeks → at 3 weeks, take the month
That "roughly three" is not a coincidence. Rental houses set the tiers so the longer term becomes rational at about three of the shorter units.
The classic mistake, priced. A superintendent needs a machine for "about a week and a half" and rents daily because it feels flexible. The job runs eleven working days:
Eleven days at $1,150 = $12,650
Four weeks at $8,900 = $8,900 (and you keep the machine for the rest of the month)
Thrown away: $3,750
Then he returns it on day eleven, needs it again on day fourteen, and pays $850 in delivery and pickup twice more. Across a job with fourteen short-term rentals this single habit routinely costs $25,000 to $40,000, and it never shows up as a variance anybody can name.
A.14 Quick-reference tables
A.14.1 Unit conversions
| From | To | Multiply by |
|---|---|---|
| SF | SY | ÷ 9 |
| SF | SQ (roofing) | ÷ 100 |
| SF | MSF | ÷ 1,000 |
| CF | CY | ÷ 27 |
| SF of slab | CY | × (thickness in inches ÷ 12) ÷ 27 |
| LB | TON (short) | ÷ 2,000 |
| LB | CWT | ÷ 100 |
| Short ton | Metric tonne | × 0.9072 |
| Metric tonne | Short ton | × 1.1023 |
| Acre | SF | × 43,560 |
| Work days | Calendar days (5-day week) | × 1.4 |
| Calendar days | Months | ÷ 30.44 |
| BCY | LCY | × (1 + swell) |
| BCY | CCY | × (1 − shrinkage) |
A.14.2 Typical waste and loss allowances
These are directional planning values, not constants. They vary by crew, layout, stock sizes available in your market, weather, and housekeeping. The company that tracks its own waste from its own cost reports replaces every number in this table within about three years, and its estimates get better for it.
| Material | Typical allowance | What drives it |
|---|---|---|
| Ready-mix, footings against earth | 2–5% | Over-excavation, spillage, short loads |
| Ready-mix, formed walls and columns | 1–3% | Form deflection, spillage |
| Slab on grade | 2–4% | Subgrade tolerance, screed variation |
| Elevated slab on metal deck | 3–8% | Deck deflection under wet concrete — routinely missed |
| Reinforcing steel | 3–7% (laps are quantity, not waste) | Cut-offs, damage, mis-fabrication |
| Structural steel | ≈0% | Shop-fabricated to length |
| Metal studs and track | 5–10% | Cut-offs; wall heights vs. stock lengths |
| Gypsum board | 8–15% | Wall heights vs. sheet sizes, openings, damage |
| Dimensional lumber | 8–15% | Cut-offs, culling, defects |
| Plywood and sheathing | 5–12% | Layout, cutting patterns |
| CMU | 3–6% | Breakage, culling |
| Pipe (PVC, copper) | 3–8% | Cut-offs, fitting takeouts |
| Conduit and wire | 5–12% | Pulls, makeup slack, cut-offs |
| Acoustical ceiling tile | 5–10% | Border cuts |
| Resilient flooring and carpet | 5–15% | Pattern match, room geometry, roll width |
| Paint and coatings | 5–10% | Roller and spray loss, touch-up |
A.14.3 Productivity adjustment factors
Read these as ranges and planning aids, not entitlements. Magnitudes vary widely across studies, trades, and projects; several are contested in the literature; and the effects are not independent — stacking trades and running sixty-hour weeks is not simply the product of the two factors. The direction of these effects is well established. The precise magnitude on any given job is not. Use them to price a decision and use measured data from your own job to prove one.
| Condition | Typical factor |
|---|---|
| Baseline: day shift, 40-hour week, clear access, moderate weather | 1.00 |
| 50-hour week (5 × 10), sustained 4+ weeks | 0.90–0.95 |
| 60-hour week (6 × 10), sustained 4+ weeks | 0.80–0.88 |
| Second shift | 0.85–0.95 |
| Third shift | 0.75–0.90 |
| Two trades working in the same area | 0.90–0.95 |
| Four or more trades stacked in the same area | 0.70–0.85 |
| Sustained cold (below freezing) | 0.75–0.90 |
| Extreme heat and humidity | 0.85–0.95 |
| Work above ~30 ft (lift-dependent access) | 0.85–0.95 |
| Restricted access / adjacent occupied facility | 0.80–0.92 |
| Repetitive work, third floor and above (learning curve) | 1.05–1.20 |
| Rework or out-of-sequence work | 0.60–0.80 |
A.14.4 Canonical project constants
| Figure | Northgate | Willow Street |
|---|---|---|
| Contract value | $47,500,000 (GMP) | $6,800,000 (lump sum) | |
| Contract time | 565 CD | 425 CD |
| Extended general conditions | $5,150/CD | $1,600/CD |
| Liquidated damages | $5,500/CD | $1,200/CD |
| Total daily exposure to slipping SC | $10,650/CD | $2,800/CD |
| Cost per square foot | $360/SF (132,000 SF) | $283/SF (24,000 SF) | |
| Retention | 10% to 50% complete, then 5% | 5% flat |
A.14.5 Formula index
| Formula | § |
|---|---|
CY = SF × (in ÷ 12) ÷ 27 |
A.2.3 |
BF = (nominal t × nominal w × L ft) ÷ 12 |
A.2.4 |
CD = WD × 7 ÷ days worked per week |
A.2.5 |
Volume = ½ (A₁ + A₂) × L (average end area) |
A.3.2 |
Top width = bottom + 2 (slope × depth) |
A.3.3 |
LCY = BCY × (1 + swell) · CCY = BCY × (1 − shrinkage) |
A.4.2 |
Production = (3,600 ÷ cycle sec) × bucket × fill × efficiency |
A.4.4 |
Trucks = cycle time ÷ load time |
A.4.5 |
Ordered = neat × (1 + waste) |
A.5.1 |
SFCA (wall) = L × H × 2 faces |
A.5.2 |
Rebar lb = CY × lb/CY factor |
A.5.3 |
Production rate = crew size ÷ unit rate |
A.6.1 |
Burdened rate = wage + fringes + taxes + comp + GL + tools (+ overhead allocation) |
A.6.2 |
Effective rate = burdened rate × (paid hours ÷ productive hours) |
A.6.2 |
Unit cost = crew $/hr ÷ production/hr + material/unit + equipment/unit |
A.6.4 |
PF = earned MH ÷ actual MH · Forecast MH = budget ÷ PF |
A.6.5 |
markup = margin ÷ (1 − margin) · margin = markup ÷ (1 + markup) |
A.7.1 |
Price = Subtotal ÷ (1 − rate) (divisor method) |
A.7.3 |
Factor = (1 + rate)^(years to construction midpoint) |
A.8.1 |
Adjusted = source × (your index ÷ source index) |
A.8.2 |
ES = max(EF of preds) · EF = ES + Dur |
A.9.1 |
LF = min(LS of succs) · LS = LF − Dur |
A.9.2 |
TF = LS − ES = LF − EF · FF = min(ES of succs) − EF · IF = TF − FF |
A.9.3 |
Cost slope = (crash cost − normal cost) ÷ (normal dur − crash dur) |
A.9.6 |
CV = EV − AC · SV = EV − PV · CPI = EV ÷ AC · SPI = EV ÷ PV |
A.10.1 |
EAC = BAC ÷ CPI (and three others) · VAC = BAC − EAC |
A.10.2 |
TCPI = (BAC − EV) ÷ (BAC − AC) |
A.10.3 |
Retention = rate × work in place |
A.11.1 |
% complete = cost to date ÷ total estimated cost |
A.11.3 |
Over/(under) = billed − revenue earned |
A.11.4 |
F = P(1 + i)ⁿ · PV = F ÷ (1 + i)ⁿ · Payback = added cost ÷ annual savings |
A.11.5 |
EMV = probability × impact |
A.12.1 |
te = (O + 4M + P) ÷ 6 · σ ≈ (P − O) ÷ 6 |
A.12.2 |
Burn ratio = % contingency drawn ÷ % complete |
A.12.3 |
Ownership = depreciation + capital + insurance/tax + storage |
A.13.1 |
Break-even H = (fixed own − annual mob) ÷ (rent $/hr − own variable $/hr) |
A.13.3 |
Where to go next
- The takeoff and unit-cost machinery, taught from scratch: Chapter 12
- The full CPM treatment with the network drawn: Chapter 14
- Twenty CPM problems with complete solutions: Appendix B
- CSI divisions, representative unit costs, productivity ranges, and waste factors in one place: Appendix C
- Definitions of every term used above: Appendix I
- The project you will practise all of this on: Appendix K
One last note about all of it. Every formula on this page is arithmetic, and arithmetic is the easy part. The number that decides whether your estimate is right is not the division — it is the production rate you divided by, and where that rate came from, and whether you wrote down the conditions it assumed. The arithmetic will never be your problem. The assumptions will.