Pricing dataset v2026.05

Effective 2026-05-16 · previous version v2026.04

What this release covers

This release closes the 2026-05-14 deep audit. Three things changed at the platform level, plus per-calculator fixes documented below.

  • Pro markup defaults unified at 10/10/10 (~33.1% all-in) across all 8 Pro-mode calculators — matches NAHB’s “10 and 10 rule” (10% overhead + 10% profit) plus a 10% contingency floor. Was a mix of 21-38% (with some at 0% in calc fallback but 33-38% via schema — a silent UI/calc mismatch). Every percentage remains user-overridable via the Pro form. Foundation-repair and egress-window surface a discovery-risk hint in helpText suggesting 15-20% contingency when site conditions are unknown.
  • Pricing dataset version stamp on every email, PDF, CSV, XLSX, share link, and saved estimate. If you saved an estimate yesterday and the dataset shifted today, the saved snapshot stays frozen at v2026.04 and the live calculator reflects v2026.05. Both are correct for their moment.
  • Cross-calc bug-class hardening — formatters and numeric helpers now structurally prevent $NaN, negative costs, and inputs above 100K from producing nonsense. This is silent and shows up only when prior code would have broken.

Per-calculator changes

The 19 calculators below shifted by enough to be worth calling out. Anything not listed is materially unchanged (within ±2% on matched inputs).

Asphalt+0-5%

Why: A units constant was mislabeled "tons-per-sqft-inch" when it was actually tons-per-cuft, which made Pro produce ~5× Quick totals on the same inputs. Audit P1-3.

Impact: Constant relabeled and formula corrected. Pro vs Quick now within 2× for matched inputs.

Basement Finishingmarkup default 38% -> 33.1% (uniform NAHB 10/10/10)

Why: Pro mode defaulted to 10/10/15 (~38%) while siblings ran 10/10/10, 10/15/5, etc. Inconsistent cross-trade comparison. Audit P1-7.

Impact: Markup unified at 10/10/10 (~33.1%). Contingency drops 15 → 10 to match NAHB convention; raise to 15-20% via the slider for whole-gut renovations.

Bathroomscope multipliers refreshed; markup default 38% -> 33.1% (uniform NAHB 10/10/10)

Why: Quick mode scope multipliers were too aggressive — a 50 SF mid-range remodel was producing ~$8K when industry mid is $15-35K. Audit P1-1.

Impact: Scope multipliers + labor floor recalibrated. Mid-range 50 SF now lands in $13-30K.

Concrete+20-25% (ready-mix $130->$160, P2-1)

Why: Two changes: (a) Quick and Pro modes were reading ready-mix price from different sources and had drifted; (b) the centralized price was $130/cuyd, 15-20% under 2026 RSMeans spot. Audit P1-6 + P2-1.

Impact: Quick now reads the same centralized pricing as Pro. Centralized ready-mix bumped to $160/cuyd. The DIY material cost line rises ~23%; installed estimates shift modestly.

Deck+10-15% (premium materials refresh)

Why: Premium-material pricing (composite, cedar) hadn't kept up with 2024-2026 inflation; composite was ~30% under industry. Audit P1-11.

Impact: 2026 premium-material refresh. Composite 400 SF now in $13-38K industry band; cedar 1000 SF in $24-75K.

Drywallcompound bug fix

Why: Compound (joint mud) was priced per-pound but multiplied as if per-bucket — Pro totals ran 3-7× Quick on the same area. Audit P1-1.

Impact: Per-bucket pricing path corrected. Pro vs Quick now within 2.5× for matched inputs; 3000 SF residential drywall lands in industry $4.5K-15K.

Egress Windowmarkup default 21% -> 33.1% (uniform NAHB 10/10/10 + contingency line)

Why: Pro mode had no contingency line at all — only overhead+profit (~21% total) — while sibling calcs cumulated all three. Audit P1-7.

Impact: Contingency line added (default 10%); total markup unified at 10/10/10 (~33.1%). Egress is discovery-heavy (basement conditions), so the helpText flags 15-20% for unknown-condition jobs.

ElectricalPro $0 bug fix; markup default 33% -> 33.1% (UI/calc/schema now consistent)

Why: Pro mode returned $0 when a user picked homeSize + projectScope in Quick and toggled to Pro without itemizing — the totals routine ignored the Quick-derived defaults. Pro markup UI also had display/calc mismatch: the sliders showed 10/15/5 but the calc applied whatever the schema (or lack thereof) seeded. Audit P0 #1 + P1-7.

Impact: Pro now uses Quick-derived totals as a baseline when no itemization is present. Whole-house rewire scenarios produce $5K-60K, not $0. Markup unified at 10/10/10 (~33.1%) and schema/UI/calc now agree — what the slider shows is what the total uses.

ExcavationQuick volume-scale; Pro mobilization minimum

Why: Quick scaled cubic-yard volume incorrectly (basement 30×40×8 in clay was producing ~$33K vs industry $6-18K). Pro mode under-quoted small trenches. Audit P1-6.

Impact: Quick volume math corrected. Pro adds a mobilization minimum so a 100-foot sand trench can't come in at $737 (industry $1.2-3K).

Foundation Repairper-pier line items; markup default 39% -> 33.1% (uniform NAHB 10/10/10 + discovery-risk hint)

Why: Pro mode was returning ~$1,565 regardless of inputs (the repair-cost lookup was failing through to a constant) AND defaulting to an inconsistent ~39% compounded markup. Audit P1-10 + P1-7.

Impact: Per-pier line items now drive cost. Minor crack vs severe pier work differ by 3-10×. Markup now uniform at 10/10/10 (~33.1%); contingency helpText surfaces a discovery-risk hint to consider 15-20% when site conditions are unknown.

Framing+30-40% (2026 lumber + labor refresh)

Why: Quick mode hardcoded stud prices ($3.50, then $6.00); Pro mode read from a centralized lumber-grade table. Both got the 2026 lumber + labor refresh, but they could drift again on the next bump. Audit P1-5 + P1-9.

Impact: 2026 retail 2x4 stud prices and carpenter labor rates ($7/sqft of wall). 30×40 residential framing now lands in the $7K-25K industry band. Quick and Pro share one source.

GravelPro defaults opt-out; labor double-count fix

Why: Pro mode opted-in to delivery + grading + compaction services by default AND double-counted labor inside the gravel cost — produced 3-5× Quick. Audit P1-2.

Impact: Pro services default to opt-out. Labor double-count removed. Pro vs Quick now within 2.5× for matched inputs.

HVACequipment double-count fix; markup default 30% -> 33.1% (NAHB 10/10/10 + Pro UI now exposes sliders)

Why: Equipment line was double-counted (auto-billed adders for items already in the equipment package). Pro mode also had no visible markup UI and silently applied a different cumulative markup than every other Pro calc. Audits P1-4 + P1-7.

Impact: Pro vs Quick alignment tightened (Pro within ~1.7× Quick before markup). Markup now uniform at 10/10/10 (~33.1%) per NAHB "10 and 10 rule" + 10% contingency, with editable Pro sliders.

Insulationlabor formula flat $/sqft (P1-3); fiberglass -15-25%

Why: Labor was scaled as a multiple of material cost (1.5×, 2×, 3× depending on type). That mis-scales for batts and over-charges for premium foams. Audit P1-3.

Impact: Labor is now a flat $/sqft by insulation type — $0.50-1.00 for fiberglass batts, $1.75-3.50 for closed-cell spray. Fiberglass jobs drop 15-25%; spray foam stays in band.

Kitchen Remodelmarkup default 33% -> 33.1% (uniform NAHB 10/10/10 — already consistent, codified)

Why: Markup conventions across the 8 Pro calcs had drifted to 5 different defaults (10/10/10, 10/10/15, 10/15/5, 10/10/0, missing). Cross-trade estimates on the same project looked apples-to-oranges. Audit P1-7.

Impact: Markup unified at 10/10/10 (~33.1%) — kitchen was already at this default; the codification means it stays consistent with every sibling Pro calc.

PaintQuick regional double-app fix (P1-4); -10-15% in high-COL ZIPs

Why: In Quick mode, the regional multiplier was applied twice — once to materials, then again to the installed total that already included those regional-adjusted materials. Audit P1-4.

Impact: In a high-cost-of-living ZIP at multiplier 1.3, Quick totals were inflated 10-15% silently. Pro mode was unaffected. After the fix, regional applies once.

Rebar-50% (labor double-count fix, P1-2)

Why: The rebar calculator was double-counting labor — material was already priced installed, then a separate labor adder was applied on top. Audit P1-2.

Impact: A 20×20 slab with #4 rebar at 18" spacing was producing ~$1,000; industry installed is $300-520. The fix drops residential prices by ~50%.

Roofingodd-pitch mapping; regional fully scaled

Why: Odd pitches (9/12) were falling through to a default 1.25 multiplier; Pro regional only scaled some subtotal lines. Audit P1-12.

Impact: Pitch map filled in (9/12 included). Pro regional applies uniformly. Tile at 9/12 on 1200 SF now lands in $25-50K.

Room Additionneg-sqft guard; markup default 33% -> 33.1% (uniform NAHB 10/10/10)

Why: Pro mode was 44% under Quick for matched 400 SF family-room inputs (framing slice was undersized). Markup default was inconsistent with sibling calcs. Audits P1-5 + P1-7.

Impact: Framing slice corrected; bare-scope Pro now within ±25% of Quick. Markup unified at 10/10/10 (~33.1%) per NAHB convention.

What if I saved an old estimate?

Saved estimates carry a version stamp and stay frozen at the dataset they were saved against. On the projects dashboard you’ll see a yellow “Outdated” chip next to any row saved against a prior version — click it to come back here.

Exported PDFs and XLSX files are snapshots — the file itself doesn’t change. The header on those documents shows which version they were generated against.

If a number doesn’t match what you’re seeing in the field, email the CostFlowAI team at costflowai@gmail.com — every one gets read.