Methodology & Accuracy
Every estimator on ConstructionCalculations.net is powered by a small, tested calculation engine, and every engine follows the same five-step estimation pipeline. This page documents that pipeline, the measurement conventions we chose, and — just as importantly — what the models deliberately do not decide, so you know exactly how far to trust a number.
This page is the map; the guides are the territory. Each idea below has a longer companion that works it through several tools with every figure computed at build time. How material estimates are calculated walks the five stages number by number. Waste factors, explained covers the one input that is a judgment rather than a measurement. Cubic feet, cubic yards, and ordering concrete and Concrete bag yields by size cover the volume units and the manufacturer yields the concrete tools divide by. Coverage figures and their sources lists where every coverage constant comes from and what its status is. Feet, inches, and fractions explains the decimal-feet conversion and the sixteenths arithmetic. Roof pitch and the pitch factor and Stair layout and the common IRC figures cover the trade-geometry engine. Board feet, explained covers the lumber volume unit, and Metric and imperial in the estimators covers the unit toggle and the converter's exact design. All of them are collected on the guides index.
The estimation pipeline
Material estimation on this site always runs the same way:
- Geometry. Your measurements become an area or volume. A rectangular slab, for example,
is
length × width × thickness: a 10 ft × 10 ft slab at 4 in thick is 100 sq ft × ⅓ ft ≈ 33.33 cu ft, and dividing by 27 gives ≈ 1.23 cubic yards. - Coverage. The geometric quantity is divided by how much one unit of material covers or yields — figures taken from manufacturer and industry-published specifications and stated on each tool's page.
- Waste. A waste factor you control is applied as
quantity × (1 + waste% ÷ 100). Cuts, breakage, spillage, and overlap mean real projects always consume more than the pure geometry; each tool suggests a conventional starting percentage and lets you change it. - Package rounding. Purchasable quantities are rounded up to whole bags,
boxes, sheets, or bundles —
ceil(adjusted quantity ÷ per-package yield)— because you cannot buy four fifths of a bag. - User-priced cost. If you enter a unit price, the cost is that price times the rounded package count. Prices come only from you: the site never scrapes, averages, or invents pricing.
The pipeline, stage by stage
The list above states the pipeline in principle. This section runs it through the shared purchasing layer every tool calls — one small function per stage — using the same 10 × 10 ft slab at 4 in, this time bought as 80 lb bags of pre-blended concrete mix rather than as a ready-mix order. Every figure below was produced when this page was built by those functions, so the numbers and the code cannot disagree.
Stage 1 — Geometry
The geometry engine turns measurements into an area or a volume and does nothing else.
rectangleArea multiplies 10 ft by 10 ft to give 100 sq ft. volumeFromArea takes that area and a thickness in inches, converts the thickness
to feet by dividing by 12 — 4 in is 0.3333 ft, the ⅓ ft written in the list above — and returns the volume three ways at once: 33.3333 cu ft; 1.2346 cu yd through the exact 27 cu ft
per cubic yard; and 0.9439 m³ through the exact 0.028316846592 m³ per cubic foot. Nothing here is rounded; the four-decimal figures on this page are display copies
of values the engine carries at full precision. A mixed entry is converted before any of this runs:
feetInchesToFeet turns 10 ft 6 in into 10.5 ft, and it refuses an inches value of twelve or more so a foot cannot be counted twice.
Stage 2 — Coverage
coverageQuantity divides the measured need by what one unit of material covers or yields.
The divisor for an 80 lb bag is its manufacturer-stated yield of 0.6 cu ft
— a manufacturer figure from the QUIKRETE Concrete Mix (Product No. 1101) product data sheet, which
the manufacturer states as approximate. 33.3333 cu ft ÷ 0.6 cu ft
per bag = 55.5556 bags. This is the net quantity: what the geometry needs with nothing added
and nothing rounded. The same function serves every tool, and only the divisor changes — square feet
per gallon for paint, square feet per bundle for shingles, cubic feet per bag here.
Stage 3 — Waste
applyWaste multiplies the net quantity by (1 + waste% ÷ 100). The
concrete tools suggest 10% — a trade convention, adjustable in every form — so 55.5556 × (1 + 10 ÷ 100) = 61.1111 bags. The percentage is applied to the quantity,
not to the package count, and it is applied before rounding for a reason the next stage makes visible:
rounding up already adds material, so a margin applied after rounding and then rounded again would
be counted twice. The function accepts any percentage from zero to one hundred, and zero is a legitimate
entry when your measurements already carry a margin.
Stage 4 — Package rounding
packageCount divides the waste-adjusted quantity by the units in a package and rounds
up to a whole number. A bag is its own package, so 61.1111 rounds up to 62 bags, with 0.8889 of a bag bought beyond the waste-adjusted need. This is the
only rounding in the whole chain, and it always goes up, because a count rounded down leaves the job
short.
One refinement keeps floating-point arithmetic honest. Multiplying 100 units by (1 + 10 ÷ 100) evaluates in binary floating point to 110.00000000000001, where the exact answer is 110; a naive ceiling on that value would buy 12 packages of 10. The engine treats a quantity within one part in a billion of a package boundary as an exact fit, so the count is 11 and the leftover is 0. A phantom package is never bought for a rounding artifact.
Stage 5 — User-priced cost
materialCost multiplies the rounded package count by a unit price, and the price always
comes from you. Suppose you typed 10 into the price-per-bag field as a stand-in
for whatever your own supplier quoted — the site holds no price and suggests none. The cost line is
then 62 bags × 10 = 620, in the same
currency you typed. Leave the field blank and the line does not appear; a price of zero is
accepted for material already on hand and simply yields a zero cost.
One call, the same answer
purchasePlan composes the four purchasing functions in exactly that order — coverage,
waste, packages, cost — and every estimator returns its shape: a net quantity, a waste-adjusted quantity,
the waste percentage applied, whole packages, the leftover, and a cost only when a price was given.
For the slab it reports 55.5556 net bags, 61.1111 after waste, 62 bags to buy, 0.8889 of a bag spare, and a
cost of 620. This page's build compares those against the step-by-step figures above
and fails if they ever differ.
The same slab entered in metric
A tool that offers metric entry converts first and then runs the identical arithmetic. Enter 3 × 3 m at 10 cm: meters ÷ 0.3048 gives 9.8425 × 9.8425 ft, and centimeters ÷ 2.54 gives 3.937 in, both conversions exact by definition. Geometry: 96.8752 sq ft — presented back as 9 m² through the exact 0.09290304 m² per square foot — and 31.7832 cu ft, which is 0.9 m³. Coverage: ÷ 0.6 = 52.972 bags. Waste at 10%: 58.2692. Rounding: 59 bags with 0.7308 of a bag spare. The unit toggle changes what you type and what is printed back; it never changes the path through the engine. The metric bag sizes sold outside the US carry their own manufacturer yields rather than a pound-proportional guess — see Concrete bag yields by size.
Measurement conventions
- US customary first, metric where offered. Inputs are feet and inches in the US convention; tools that offer metric entry take meters and centimeters. Mixed entries such as 10 ft 6 in are converted to decimal feet (10.5 ft) before any arithmetic.
- Volume units. Concrete and aggregate are computed in cubic feet and reported in cubic yards (1 cu yd = 27 cu ft), the unit US suppliers sell in.
- Rounding. Intermediate arithmetic keeps full floating-point precision; only displayed values are rounded, and package counts always round up, never to the nearest.
The conversions behind those conventions are exact definitions held in one module and never re-typed elsewhere: 12 in per ft, 2.54 cm per in, 0.3048 m per ft, 27 cu ft per cu yd, 0.09290304 m² per sq ft, 0.028316846592 m³ per cu ft, and 7.4805 US gallons per cu ft — the last stored as the single correctly rounded double of the exact ratio of cubic inches in a cubic foot to cubic inches in a US gallon, never as a hand-typed approximation. The unit converter goes one step further and represents every unit in a category as an integer number of a common grain, so a conversion is one multiplication and one division and is exact whenever the intermediate product is representable; Metric and imperial in the estimators documents that design with its examples. Display rounding is the presentation layer's job: values are normalised to twelve significant digits to strip binary artifacts, then shown to at most six decimal places — or to six significant digits when a small nonzero value would otherwise collapse to zero.
Constants and their status
Every coverage or yield figure the tools divide by lives in a single data module, with its source and verification date recorded beside it, and each carries one of four statuses: a manufacturer figure taken from product data; a definition, true by convention of the trade, like the roofing square; a trade convention, a starting point that no primary source publishes; or arithmetic, computed from a stated dimension. Anything marked adjustable is an editable starting point in the form, never a fixed truth. The tables below render the values from that module directly — if a constant changed, this page would change with it.
Waste defaults by tool
These are common trade conventions, not manufacturer data: no primary source publishes a universal waste figure, so they are stated without false precision and are fully adjustable in every tool.
| Tool group | Default | What the allowance covers |
|---|---|---|
| Concrete (slabs, footings, columns, post holes, bagged mix) | 10% | spillage and an uneven subgrade |
| Masonry (brick, block, mortar) | 5% | breakage — the one figure with a primary source: BIA Technical Note 10, "Brick Breakage and Waste" |
| Aggregate and mulch (gravel, sand, topsoil, mulch) | 5% | depth variation, the main overrun for bulk material |
| Pavers | 10% | border cuts, following the tile convention |
| Sod | 5% | trimming rolls to curves |
| Flooring | 10% | the widely used starting point for cutting |
| Tile | 10% | the widely used starting point for cutting |
| Drywall | 10% | the widely used starting point for cutting |
| Insulation | 5% | cutting batts around framing and boxes |
| Siding | 10% | cutting at gables, corners, and openings (the tool deducts openings, so the margin is explicit) |
| Roofing shingles | 10% | cutting on a simple roof; complex roofs use the higher figure below |
| Decking | 10% | end cuts and culled boards |
| Fencing | 5% | the occasional split picket — posts, rails, and sections are exact counts and get no waste |
For roofs cut up by hips, valleys, and dormers, the roofing tool suggests the higher end of the conventional range, 15% — the same convention status, a starting point and not a specification. What the percentage should be for your own project is the subject of Waste factors, explained.
Sourced coverage figures the tools divide by
| Constant | Value | Status and source |
|---|---|---|
| Concrete mix yield per bag | 40 lb → 0.3 cu ft; 50 lb → 0.375 cu ft; 60 lb → 0.45 cu ft; 80 lb → 0.6 cu ft | Manufacturer figure — QUIKRETE Concrete Mix (Product No. 1101) product data sheet, "YIELD" section; stated by the manufacturer as approximate. |
| Paint coverage per gallon, one coat | 350 sq ft default; published range 250–400 sq ft | Adjustable default inside the manufacturer-published range — Behr (interior product pages) and Sherwin-Williams (paint calculator FAQ). Porous or textured surfaces land near the bottom of the range, smooth repaints near the top. |
| Roofing square | 100 sq ft | Definition — an industry unit, not a measured value; manufacturer spec sheets quote actual coverage per square at or slightly under it (Owens Corning Guide Specifications, Section 07 31 13). |
| Shingle bundles per square | 3 | Manufacturer figure, adjustable — Owens Corning Guide Specifications, Section 07 31 13, with GAF stating the same baseline. Premium products differ, so the form lets you change it. |
| Mortar, 80 lb bag | lays up to 37 standard bricks or 13 standard blocks | Manufacturer figure, stated "up to" — QUIKRETE Mortar Mix (Product No. 1102) product data sheet; applied only to standard units and labeled as the manufacturer's figure. |
| Concrete block face | 0.8889 sq ft per block | Arithmetic on the nominal 16 × 8 in face, which already includes one standard mortar joint — CMHA tech note CMU-TEC-001-23, Figure 2. |
| Modular brick | 675 per hundred square feet | Industry table — Brick Industry Association, Technical Note 10, Table 4, with the standard mortar joint the table assumes; the nominal face arithmetic agrees with the table exactly. |
Geometry needs no source, and the unit factors in the previous section are definitions. Where a figure is a user input rather than a constant — flooring box coverage, tile size, gravel density — the tool asks for it and the data module deliberately holds nothing, because those vary by product and belong to you. Coverage figures and their sources walks each constant with the reasoning behind its status.
Trade geometry: fractions, stairs, and pitch
Four tools — the feet-and-inches calculator, the stair calculator, the roof pitch calculator, and the board foot calculator — compute geometry rather than purchase quantities. They share one engine, and it keeps the same scope rule as everything else on the site: geometry only — lengths, counts, angles, and areas. Like every other engine here, it decides nothing about structure or code.
Exact sixteenths
Tape-measure arithmetic is done on integer counts of sixteenths of an inch, never on decimal feet. Parsing 5' 6 3/8" gives 1,062 sixteenths (66.375 in) and 2' 9 3/4" gives 540 (33.75 in); adding the two integers gives 1,602 sixteenths, which formats back to 8' 4 1/8" — 100.125 in, 8.3438 ft, or 2,543.18 mm through the exact 25.4 mm per inch. Because the sum is a sum of integers it is exact, where a floating-point addition of the two decimal-inch figures might not be. A value that cannot land on the sixteenth grid is rounded to the nearest sixteenth and flagged so the page can disclose it: 1/3" becomes 5 sixteenths, shown as 5/16", with the rounded flag set, because 16 sixteenths do not divide evenly by 3. Feet, inches, and fractions covers the grammar the parser accepts and the flag in detail.
The common IRC figures, as the engine frames them
The stair tool divides a total rise into the fewest equal risers that keep each one at or under a maximum, and by default that maximum is the commonly adopted International Residential Code figure. The engine holds four such figures as convenience checks: a maximum riser height of 7 3/4" (7.75 in, R311.7.5.1); a riser-variation limit within a flight of 3/8" (also R311.7.5.1); a minimum tread depth of 10 in (R311.7.5.2); and a minimum headroom of 6 ft 8 in (80 in, R311.7.2). The metric readouts beside them use the exact 25.4 mm per inch: the riser figure is 196.85 mm and the tread figure 254 mm. Their sources are the City of Boise IRC Code Handout #437 (02/2022), which quotes the code text, and the ICC Digital Codes publication of the 2018 IRC. The engine compares geometry against them as a flag and nothing more: local amendments vary, the figures are a convenience default rather than a compliance ruling, and a permit reviewer — not this site — decides compliance.
A 93 in rise divided by the 7.75 in figure needs 12 risers of exactly 7.75 in (7 3/4"); the engine's ceiling carries a one-ulp guard so an exact division like this one never gains a phantom riser from float noise. 11 treads at 10 in give a 110 in run, a 144.05 in stringer length, and a 40.2° flight. Stair layout and the common IRC figures works more flights, including rises that do not divide evenly.
The pitch factor
A roof that rises a given number of inches per 12 in of run is longer along the slope than
across the plan by √(1 + (rise ÷ 12)²) — Pythagoras, computed from the pitch you enter
and never read from a table. At 6 in 12 the factor is 1.118; at 12 in 12 it is 1.4142, the square root of two; a flat roof gives exactly 1. The engine accepts rises
up to 24 in 12. The roofing estimator multiplies the horizontal footprint by the
factor to get true roof area and then runs the ordinary purchasing pipeline: a 1,200 sq ft footprint at 6 in 12 is 1,341.64 sq ft of roof, or 13.4164 squares at
the defined 100 sq ft per square; at the manufacturer-documented 3 bundles per square that is 40.2492 bundles net, 44.2741 with the 10% roofing convention, rounded up to 45. A hip or valley crosses the plan at 45°, so its run is 12·√2 ≈ 16.97 in per 12 in of
common run and its factor is √(2 + (rise ÷ 12)²) — exactly 1.5 at 6 in 12 (Swanson
Tool Co. Blue Book; roofobservations.com).
Roof pitch and the pitch factor derives both.
The board foot calculator uses the lumber trade's volume unit: length in feet × width in inches × thickness in inches ÷ 12. An 8 ft board 6 in wide and 1 in thick is exactly 4 board feet. Whether you enter nominal or dressed sizes is your choice; the tool applies no default section of its own, and its worked examples use the site's PS 20-20 dressed sizes. Board feet, explained covers the unit and the nominal-versus-dressed distinction.
Safety boundary: quantities only
This site estimates material quantities only. It does not determine structural adequacy, building-code compliance, load-bearing requirements, engineering suitability, permit requirements, soil conditions, or contractor pricing. A quantity estimate tells you how much material a shape needs — it cannot tell you whether that shape is safe, legal, or appropriate for your site. Those judgments require a licensed engineer, architect, code official, or qualified contractor, and you should obtain professional review for all of them before building.
What the models do not include
Beyond the safety boundary above, the estimators simplify: they assume the shapes you enter are what gets built, and they do not model subgrade preparation, formwork, reinforcement layout, fastener schedules, compaction of aggregates beyond stated coverage figures, moisture and temperature effects, regional product variations, or delivery minimums. The waste factor is a single flat percentage — real waste varies with layout, skill, and material batch. Each calculator's page states its own key omissions. Treat the output as a well-organized starting point for a purchase, not as a bill of materials guarantee.
Reading the output
Every estimator reports the same three quantities, and they answer different questions. The net quantity is what the geometry needs and is the figure to compare against a drawing. The waste-adjusted quantity is what the job is expected to consume. The package count — bags, sheets, bundles, or the ready-mix order — is the figure to buy, and the leftover is the gap between it and the adjusted quantity: material the packaging obliged you to buy, shown as information rather than as a suggestion to order less. A cost line appears only after you type a price, and it multiplies the package count, never the net.
The most common misreading is a unit, not a formula. Thickness and depth fields take inches while lengths take feet, because that is how slabs and beds are specified in the field. Type the slab's 4 in as if the field were feet — that is, 48 in — and the net volume becomes 14.81 cu yd instead of 1.23: 12 times the real slab, because there are 12 inches to the foot. A cubic-yard figure that looks wildly high usually means the thickness field. The second misreading is treating the leftover as an error; it is the round-up rule doing its job. The third is reading a displayed two-decimal figure as the number the next stage used — the engine used the unrounded one.
Worked examples can't drift
The figures inside each page's explanation — every "comes to about N cubic yards" — are computed at build time by the very same engine that runs the interactive calculator, not typed in by hand. If the calculation logic ever changed, the copy would change with it (or the build would fail), so the documentation cannot silently disagree with the tool.
Tested against reference figures
Each engine is covered by automated tests that check it against independently computed reference values, and coverage or yield constants are pinned by their own tests so a published specification change is a deliberate, reviewed edit. If you believe a result is wrong, that is exactly the kind of report we want: see the contact page — confirmed issues are fixed in the engine and locked in with a new test.
Last reviewed: 2026-09-26. The verification date of every sourced constant is recorded beside it in the data module the tools read from.