How we calculate

The standards, tests and sources behind every result on this site, and the build gate that keeps them honest.

Tested before it can publish

Every formula on this site is pinned by an automated test suite. More than 140 named checks compare each calculator against values derived from the cited data sheets (Quikrete and Sakrete bag yields, the ENERGY STAR sizing table, IRC and NBC stair limits, manufacturer coverage charts).

A second suite sweeps all 26 interactive calculators through every option combination and the edge inputs people actually type (zero, tiny, huge, slider extremes). It’s hunting for crashes, impossible outputs and broken rounding. The two bespoke pages (concrete slab, roof pitch) carry their own dedicated formula checks.

Both suites run before every deploy. What happens when a check fails? The build stops. Publishing is mechanically blocked until the number is right, so a wrong number can’t ship quietly. Counts are current as of August 22, 2026.

When an error is found (by us, by an audit, or by a reader) the fix lands together with a new test that pins the corrected figure, so the same mistake can’t come back.

The prose gets measured too, though that work lags the formulas. A style lint runs after every build and counts em-dashes, sentence lengths and contractions on each page. When this page was first measured in August 2026 it ran at about 22 em-dashes per 1,000 words, against a ceiling of 3. Every page was edited against the same rules the same week, and since then the lint blocks a deploy the way a failed formula check does.

Sources we work from

Where a published figure exists, we use it and name it. Usually a manufacturer data sheet, a code section or a standards body. A figure that can’t be traced to a primary source doesn’t ship.

  • Concrete: Quikrete and Sakrete data sheets. A 40 lb bag yields 0.30 cu ft, 60 lb 0.45, 80 lb 0.60, 90 lb 0.675, and the Canadian 30 kg bag about 0.5 cu ft.
  • Air conditioning: the ENERGY STAR room air conditioner sizing table, all 14 brackets, with its published sun, occupancy and kitchen adjustments.
  • Stairs: IRC R311.7.5 (7¾ in maximum riser, 10 in minimum tread) and the Canadian NBC 9.8.4 limits of 200 mm maximum rise and 255 mm minimum run, both selectable on the stair calculator.
  • Tile: CUSTOM VersaBond thin-set coverage by notch size, per the ANSI A108 contact minimums. Figure about 95 sq ft per 50 lb bag behind a ¼ in notch, 60 at ¼ × ⅜, and 40 at ½ × ½ with back-buttering. Grout runs one 25 lb bag per roughly 120 sq ft.
  • Insulation: the Owens Corning AttiCat coverage chart (R-30 at 68.5 sq ft per bag, R-49 at 39.9) and ROCKWOOL package coverages by SKU.
  • Paint: typically 350 sq ft per gallon on smooth sealed walls, dropping to roughly 250–300 on porous or textured surfaces.
  • Aggregate: typical as-delivered densities (crushed stone ≈1.35 short tons per cubic yard, pea gravel ≈1.25, screened topsoil ≈1.1), kept separate from compacted-in-place figures. Those usually run higher, and mixing the two is the classic way estimates double-count.
  • Roofing: pitch, slope and rafter multipliers derived directly from rise over run. Minimum slopes per 2021 IRC Chapter 9, section by section.

Rules we hold ourselves to

Four editorial rules, applied to every page:

  • Primary sources only. A blog quoting a blog isn’t a source.
  • No averaging across product classes. A 100% solids epoxy and a water-based coating don’t get one blended coverage rate. Each product carries its own, at its own film thickness.
  • North American reality. Product sizes, standards and trade terms are checked against what US and Canadian retailers really stock, and where Canada differs the page says so inline.
  • Corrections ship with tests. Every fixed error gets a regression check pinned to the corrected figure, so it can’t recur.

Audited in 2026

In August 2026 we ran the whole site through two full internal audits. That means our own review against the primary sources named above, not a third-party certification.

One audit recomputed every formula from scratch. The other checked every product size, standard and term against what US and Canadian suppliers sell. More than 300 findings were reviewed, and every confirmed error was corrected and pinned with a regression test.

We’d rather publish a correction than defend a wrong number. The dated record of what we’ve fixed (what was wrong, and by how much) is on the corrections page.

Rounding and waste

Bags, sheets, pavers, tiles and pickets are always rounded up. You can’t buy 0.4 of a bag. Separate products are rounded up separately too, because a part-gallon of primer doesn’t turn into base coat. Volumes are shown to two decimals so you can see the effect of a change in depth.

Default waste is 5% on a slab, 8% on a paver patio, and 10% on straight-lay tile and drywall. Diagonal or herringbone layouts get 15%, and rooms with many cuts 20%.

Every waste figure is editable. A square room and a room full of obstacles aren’t the same job, so if your supplier calls for a different allowance, use theirs.

Unit conversion

Each field carries its own unit, so a plan in meters and a thickness in inches both work without pre-converting.

Internally, lengths resolve to feet and depths to inches. Volumes are computed in cubic feet and then converted (27 cubic feet to the cubic yard, 35.31 to the cubic meter).

Corrections

If a result disagrees with your supplier or your code official, we want to know.

Tell us the inputs and the number you expected. If the formula is wrong we’ll publish a correction, with a test added so it stays fixed.