carbontools.build Chelsea residence · 2,300 sf · cold climate
Whole-life carbon assessment · 30-year horizon

A passive house with rooftop solar reduces this home's 30-year carbon by 74%.

Compared to a standard new home built to code in Michigan (CZ 5A). Adjust the parameters below to model your project.

Code-minimum baseline
319tons CO₂
over 30 years
Best-case scenario
83tons CO₂
passive shell + solar−236 t
Lifetime energy savings
$147k
over 30 years
30-year cumulative carbon emissions by scenario Line chart comparing four building scenarios. Y-axis shows tons of CO2 equivalent. X-axis shows years 0 to 30. Each line starts at the embodied carbon value at year 0 and rises with operational carbon over time.
Scenario data: embodied carbon (year 0), annual operational carbon, and 30-year total
ScenarioEmbodied (tons CO2)Annual (tons/year)30-year total (tons)
ZIP code
Michigan · CZ 5A
Override electricity rate (optional)
$ /kWh
Loading state-average rate…
Floor area 2,300sf
Heating system
Gas furnace Heat pump Heat pump + backup
Building shell
Code minimum Above code Passive house
Rooftop solar 8.0kW
Interior finish level
Modest Typical High-end
Air leakage 1.5ACH50
Occupants 2.5people
01
Carbon impact, ranked by single design decision.
Each lever applied independently against the code-minimum baseline.
02
Carbon source breakdown, by scenario.
Materials, energy use, and solar offsets contributing to each scenario's total.
Component (tons CO₂) Code minimum Electric + small PV Passive house Passive + large PV
Building shell (materials) 17171212
Interiors, MEP, finishes 53535353
Solar panel materials 1118
Operational energy (30 yr) 2491051520
Total whole-life 319 186 217 83
03
Data sources & confidence ranges.
Where each input comes from and how much it could shift with project specifics.
Operational energy
ASHRAE degree-day method; calibrated to RECS 2020 medians within ±10%. Heat pump COP does not degrade at low outdoor temperatures.
Solid
Grid carbon factor
EPA eGRID 2022 emissions data by region. State-level resolution.
Solid
Building shell materials
BEAM Tool v4.1 (Builders for Climate Action). Representative product selection.
Reasonable · ±15%
Solar generation
NREL PVWatts v8 state-average specific yield. Real output varies with orientation, tilt, shading; 0.5%/yr degradation not modeled.
Reasonable · ±15%
Interiors, MEP, finishes
Category averages from CLF, Athena, and Magwood typical residential ratios. Project-specific data would shift this significantly.
Placeholder · ±30%
Future grid decarbonization
Currently held constant at 2022 rates. Real grid emissions will drop over the analysis horizon.
Placeholder · favorable

Methodology

This tool computes a 30-year whole-life carbon estimate (kg CO2e and tons CO2e) for a single-family residential building from a small set of design inputs. The intent is to give designers and homeowners a comparative tool — not a project-specific LCA suitable for code compliance or certification. Every number on this page traces to an explicit formula, a published data source, and a defined unit conversion. The engine source is open and the walkthrough below describes every step of the calculation.

Scope
Single-family residential, US only, 30-year analysis period. Operational + embodied A1–A3, with PV treated as both an offset and an embodied cost.
Standards alignment
ISO 14044 (LCA principles), ISO 21930 (construction product EPDs), EN 15978 lifecycle stages, EPA WBLCA Guide, ASHRAE 62.2 ventilation, IECC 2021 code-min envelope.
GWP horizon
All greenhouse gases reported as CO2-equivalent using IPCC AR5 GWP-100 characterization factors (CO2 = 1, CH4 = 28, N2O = 265).
Lifecycle stages covered
A1 (raw material extraction), A2 (transport to factory), A3 (manufacturing), B6 (operational energy). Excluded: A4 (site transport), A5 (installation), B1–B5, B7 (use phase), C1–C4 (end of life), D (beyond system).

Worked examples throughout this document use the default Chelsea, MI configuration: ZIP 48118 (IECC climate zone 5A), 2,300 sf single-story, 2.5 occupants, typical finish level. All values reproduce by setting these inputs and reading the corresponding output field.

Step 1 — Regional resolution
ZIP code → state → climate, grid, and rates

The 5-digit ZIP code resolves through a static crosswalk (39,366 ZIPs, 54 states/territories) to a 2-letter state code. State then drives all regional parameters. The engine never resolves to city or county level.

state  = zip_to_state[zip_code]
climate_zone, moisture_zone = climate_zones[state]
HDD65, CDD65 = degree_days[climate_zone]
rateelec = electricity_rates[state].rate_dollars_per_kwh
rategas  = gas_rates[state].rate_dollars_per_therm
EFgrid = egrid[state].kg_co2_per_kwh
  • Climate zone & moisture zone from climate_zones.json, per ASHRAE 169-2021 / IECC 2021. Eight zones (1=hot, 8=very cold) × three moisture regimes (A=humid, B=dry, C=marine).
  • Degree days from degree_days.json, base 65°F, aggregated to a single representative HDD/CDD pair per climate zone. The lookup is climate-zone-resolved, not ZIP-resolved. Chelsea, MI uses CZ 5 values: HDD = 6,500 / CDD = 900.
  • Electricity rate from electricity_rates.json, sourced from EIA Electric Power Monthly Table 5.6.A (residential, state-level), updated to February 2026. Users may override with their actual utility bill rate (engine accepts electricity_rate_override parameter in $/kWh).
  • Gas rate from gas_rates.json, sourced from EIA Natural Gas Monthly state-level residential prices, updated February 2026, expressed in $/therm.
  • Grid emission factor from egrid.json, EPA eGRID 2022 state-level STCO2RTA (output emission rate, CO2-only, transmission losses excluded). Michigan = 0.458 kg CO2/kWh.

Worked example (Chelsea, MI default): ZIP 48118 → state MI → CZ 5A → HDD 6,500 / CDD 900 / rateelec = $0.200/kWh / rategas = $1.073/therm / EFgrid = 0.458 kg/kWh.

Step 2 — Building geometry
Floor area → envelope areas (rectangular prism approximation)

The building is modeled as a square-footprint rectangular volume. Window-to-wall ratio is fixed at 15% (close to RECS 2020 single-family national average of 14–18%). Wall height defaults to 9.0 ft. Door area defaults to a fixed 40 sf. Roof and floor areas equal the footprint (no slope or overhang adjustment).

footprint       = floor_area / stories  [sf]
side             = √footprint  [ft]
perimeter       = 4 × side  [ft]
wall_height     = 9.0  [ft]  // constant
gross_wall      = perimeter × wall_height × stories  [sf]
window          = gross_wall × 0.15  [sf]  // 15% WWR default
door             = 40  [sf]  // constant
net_wall        = gross_wall − window − door  [sf]
ceiling        = footprint  [sf]
floor            = footprint  [sf]
volume          = floor_area × wall_height  [ft³]

Worked example: floor area 2,300 sf, 1 story → footprint 2,300 sf → side 48.0 ft → perimeter 191.8 ft → gross wall 1,726.6 sf → window 259 sf → net wall 1,427.5 sf → ceiling/floor 2,300 sf → volume 20,700 ft³. (Reproduces engine output exactly.)

Step 3 — Envelope heat-loss coefficient (UA)
R-values + infiltration → total conductance, BTU/hr·°F

Each element's heat-loss coefficient (UA) is area divided by effective R-value (or area times U-factor for fenestration). For walls, effective R is derived from the assembly: cavity R-value derated for thermal bridging through framing, plus continuous insulation R-value, plus a 1.0 air-film constant. For roofs, total assembly R-value plus the air-film constant. Window U-factor and door R are used directly.

// Wall effective R via parallel-path correction:
Rwall,eff   = Rcavity × ffR + Rcontinuous + 1.0  [hr·ft²·°F/Btu]
              // ffR = R-derate factor by framing pattern
              // 1.0 = sum of air film + sheathing + cladding + drywall
Rceiling,eff = Rroof,total + 1.0

UAwall       = net_wall / Rwall,eff
UAroof       = ceiling / Rceiling,eff
UAfloor      = floor / Rfloor
UAwindow    = window × Uwindow
UAdoor      = door / 5.0

// Infiltration via LBNL N-factor method:
ACHnatural  = ACH50 / 20   // N-factor = 20 (LBL/ASHRAE 119 mid-range)
UAinf        = volume × ACHnatural × 0.018
              // 0.018 = ρair × cp,air = 0.075 lb/ft³ × 0.24 BTU/lb·°F

UAtotal     = Σ UAi

Wall framing R-derate factors (fraction of cavity R that gets through the wall after thermal bridging):

Framing patternffR
2×4 16" o.c. (conventional)0.70
2×6 16" o.c.0.70
2×6 24" o.c.0.75
2×6 24" o.c. advanced framing (OVE)0.78
Double-stud 2×4 24" o.c.0.95
Default (unknown / BEAM composite)0.70

Default R-values come from IECC 2021 prescriptive Table R402.1.2 for the climate zone unless an explicit assembly overrides them. CZ 5 code-min: R-20 cavity + R-5 continuous walls, R-60 ceiling, R-30 floor, U-0.30 windows, ACH50 = 3.0. Default door R = 5.0.

Slab-on-grade floor R is computed via a piecewise lookup, not directly from sub-slab insulation R-value. This accounts for ground thermal mass and soil temperature stabilization beneath the slab (most slab heat loss occurs through the perimeter, not the center). The lookup approximates the F-factor approach used by DOE Building America and ASHRAE 90.1 Appendix A:

Sub-slab insulationEffective floor R
None (bare slab)25
R-1 to R-1045
R-11 to R-1555
R-16+60 + (R−15) × 0.5

Worked example (Chelsea code-min, 2×6 16" o.c. framing default): Rwall,eff = 20 × 0.70 + 5 + 1 = 20.0. Rceiling,eff = 60 + 1 = 61.0. R-10 sub-slab → Rfloor,eff = 45.0 (lookup). UAwall = 1427.5 / 20 = 71.4. UAceiling = 2300 / 61 = 37.7. UAfloor = 2300 / 45 = 51.1. UAwindow = 259 × 0.30 = 77.7. UAdoor = 40 / 5 = 8.0. UAinf = 20,700 × (3.0/20) × 0.018 = 55.9. UAtotal = 301.8 BTU/hr·°F. (Reproduces engine output exactly.)

Step 4 — Annual heating energy
Degree-day method with ventilation and internal-gains credit

Annual heating energy uses the classic variable-base degree-day method (ASHRAE Handbook of Fundamentals Ch. 19), augmented with mechanical-ventilation losses and an internal-gains credit.

// Envelope conductive load:
Qenv         = UAtotal × HDD65 × 24  [BTU/yr]

// ASHRAE 62.2 mechanical ventilation (cfm):
Qvent,cfm    = 7.5 × occupants + 0.03 × floor_area
// Hourly sensible ventilation load (post-HRV):
qvent         = Qvent,cfm × 60 × ΔT × 0.018 × (1 − ηHRV)

// Heating hours estimate (empirical):
hoursheating = min(HDD65 / 20 × 24,  8760)
Qvent        = qvent × hoursheating  [BTU/yr]

// Internal gains credit (people + appliances):
gains_credit  = (230 × occupants + 800) × 8760 × (hoursheating/8760)
              // 230 BTU/hr·person = ASHRAE 55 sedentary metabolic rate
              // 800 BTU/hr = baseline appliance and lighting heat

Qnet         = max(0, Qenv + Qvent − gains_credit)

// Fuel use (units depend on system):
fuelused    = Qnet / efficiency / energy_per_unit

System efficiencies (constants, hardcoded):

SystemRatingUsed asNotes
Gas furnace (standard)AFUE 0.800.80code-min residential
Gas furnace (high-eff)AFUE 0.950.95condensing
Oil furnaceAFUE 0.830.83
Propane furnaceAFUE 0.800.80
Heat pump (standard)HSPF 8.8COP 2.58= HSPF / 3.412
Heat pump (cold-climate)HSPF 10.0COP 2.93= HSPF / 3.412
Electric resistanceCOP 1.0
Geothermal heat pumpCOP 4.0fixed seasonal average

HSPF is a seasonal metric expressed in BTU output per Wh input over the AHRI test season, so HSPF/3.412 yields the seasonal-average COP directly. This is the correct conversion for annual energy estimation (unlike SEER → COP, which is more nuanced — see Step 5).

Worked example (Chelsea, gas furnace): UAtotal = 301.8, HDD = 6,500. Qenv = 301.8 × 6,500 × 24 = 47.08 MMBtu. Qvent,cfm = 7.5 × 2.5 + 0.03 × 2,300 = 88 cfm. hoursheating = 6,500/20 × 24 = 7,800. qvent = 88 × 60 × 30 × 0.018 × 1.0 = 2,851 BTU/hr. Qvent = 22.18 MMBtu. gains_credit = (230 × 2.5 + 800) × 8,760 × (7,800/8,760) = 10.72 MMBtu. Qnet = 58.53 MMBtu. fuelused = 58.53 MMBtu / 0.80 / 0.10 MMBtu/therm = 732 therms/yr. Compares to RECS 2020 Michigan median ~700 therms/yr for similar homes (within 5%).

Step 5 — Annual cooling energy
Sensible load plus climate-specific latent uplift

Cooling load aggregates four sensible sources (envelope, solar gain through fenestration, internal gains, and ventilation), multiplies by a climate-zone-specific latent uplift factor for dehumidification, and converts to electricity using a seasonal COP.

// Sensible cooling components:
Qenv,c      = UAtotal × CDD65 × 24
cool_days   = CDD65 / 10
Qsolar     = window × SHGC × 200 × 4 × cool_days
            // 200 BTU/sf·hr avg flux × 4 effective hours/day
hourscool   = min(CDD65/15 × 24, 8760)
Qint,c      = (230 × occupants + 800) × hourscool
Qvent,c     = qvent × hourscool

Qsens       = Qenv,c + Qsolar + Qint,c + Qvent,c

// Latent uplift (climate-zone-specific):
Qtotal,c    = Qsens × (1 + LUzone,moisture)

// SEER → seasonal COP (DOE Building America convention):
EER         = 0.875 × SEER
COPcool    = EER / 3.412

coolingkWh = Qtotal,c / (COPcool × 3,412)

Latent uplift LUzone,moisture — dehumidification penalty applied to sensible cooling load. Lookup by (IECC climate zone) × (moisture zone):

Climate zoneA (humid)B (dry)C (marine)
1 (very hot — Miami)0.400.10
2 (hot — Phoenix, Houston)0.350.05
3 (warm — Atlanta)0.250.050.12
4 (mixed — Baltimore)0.200.080.15
5 (cool — Chicago)0.150.080.12
6 (cold — Minneapolis)0.100.05
7 (very cold — Duluth)0.080.05
8 (subarctic)0.05

SEER → COP conversion. SEER (Seasonal Energy Efficiency Ratio) is a part-load weighted seasonal metric (AHRI 210/240). The naive conversion COP = SEER/3.412 gives the peak-condition COP (the EER value at 95°F outdoor), which overstates real seasonal performance by ~12–15%. The engine uses EER ≈ 0.875 × SEER (DOE Building America practice) before converting to COP, giving SEER 14 → COP ≈ 3.59 rather than the naive 4.10.

Cooling system COPs (constants):

SystemRatingUsed COP
Central AC (code-min)SEER 143.59
Heat pump cooling modeSEER 143.59
Geothermal cooling5.0

Worked example (Chelsea, code-min, SEER 14 central AC): UAtotal = 301.8, CDD = 900. Qenv,c = 301.8 × 900 × 24 = 6.52 MMBtu. cool_days = 90. Qsolar = 259 × 0.40 × 200 × 4 × 90 = 7.46 MMBtu. hourscool = 900/15 × 24 = 1,440. Qint,c = 1,375 × 1,440 = 1.98 MMBtu. qvent(cooling, ΔT=15) = 88 × 60 × 15 × 0.018 = 1,426 BTU/hr; Qvent,c = 2.05 MMBtu. Qsens = 18.0 MMBtu. LU5A = 0.15 → Qtotal,c = 20.7 MMBtu. coolingkWh = 20,700,000 / (3.59 × 3,412) = 1,690 kWh/yr. (Reproduces engine output exactly.)

Step 6 — Water heating & baseline electricity
Domestic hot water demand and non-HVAC household electricity
// Domestic hot water demand:
gal_per_day      = 25 × occupants   // DOE residential standard
annual_gal        = gal_per_day × 365
demandbtu      = annual_gal × 541
                // 541 BTU/gal = 8.33 lb/gal × 1.0 BTU/lb·°F × 65°F rise (55→120°F)

fuelWH         = demandbtu / EFsystem / energy_per_unit

// Baseline non-HVAC electricity (RECS 2020 medians):
basekWh        = 5,500 × (occupants/2.5) × area_factor
area_factor      = 1 + 0.0001 × max(0, floor_area − 2,000)

Energy factors (EF / UEF) for water heating systems, per DOE 10 CFR 430:

Water heaterEF used
Gas tank0.62
Gas tankless0.82
Electric tank0.92
Heat pump water heater3.5

Worked example: 25 × 2.5 × 365 × 541 = 12.34 MMBtu demand. Gas tank: 12.34 / 0.62 / 0.10 = 199 therms/yr. HPWH: 12.34 / 3.5 / 3,412 = 1,034 kWh/yr. Baseline electricity: 5,500 × 1.0 × (1 + 0.0001 × 300) = 5,665 kWh/yr.

Step 7 — Solar PV
Generation, embodied cost, and the attributional "no greenwashing" rule

PV is treated as both an operational offset and an embodied carbon cost. The two halves use different accounting frameworks:

// Generation (NREL PVWatts v8 state-average specific yield):
genkWh          = kwdc × specific_yield[state]
               // MI ~1,230 / AZ ~1,650 / WA ~1,050 kWh/kW·yr

// Embodied (IEA-PVPS Task 12 median, c-Si residential rooftop):
embPV          = kwdc × 1,800  [kg CO2e]

// CARBON: gross-then-clamp (ISO 21930 attributional):
offsetcarbon   = genkWh × EFgrid
gross_opco2    = (heating + cooling + WH + baseline) × factors
net_opco2     = max(0, gross_opco2 − offsetcarbon)

// COST: net metering economics:
self_conskWh   = min(genkWh, consumptionkWh)
exportkWh     = max(0, genkWh − consumptionkWh)
offsetcost     = self_cons × rate + export × rate × 0.70
               // 0.70 = US-average net metering / net billing ratio

The max(0, …) clamp on net operational carbon is intentional. Per ISO 21930 attributional LCA, exported electricity does not create negative operational carbon for the building. Surplus generation displaces grid emissions somewhere, but that credit accrues to the grid operator or REC purchaser, not the building. This means oversizing PV beyond actual consumption adds embodied carbon (1.8 t per kW) without further offset — a 20 kW array on a leaky house has a higher whole-life total than a 10 kW array on the same house. The tool deliberately will not let users "buy negative carbon" with surplus PV.

Net metering simplification. The 70% retail-credit assumption for exported electricity is an approximate national average. Actual policies vary widely: full retail net metering (legacy CA NEM 1.0/2.0, MA, NJ) credits 100%; net-billing or avoided-cost programs (CA NEM 3.0, NV, MI DTE Distributed Generation) credit 25–50% of retail. The cost-savings number for PV-heavy scenarios will be optimistic in restrictive states (e.g., a Michigan DTE customer will see real savings of ~50–70% of the displayed value) and pessimistic in generous states. State-specific net-metering data is a planned improvement.

PV degradation. Real panels lose approximately 0.5%/year output through soiling, glass yellowing, and cell aging. Over 30 years this is ~14% cumulative degradation. The engine currently assumes constant generation, biasing PV scenarios optimistic by 5–7% over the full horizon.

Step 8 — Embodied (envelope materials)
BEAM material database, assembled per square meter

Each envelope assembly (wall, roof, foundation) is built from a stack of materials drawn from the BEAM Tool v4.1 database (Builders for Climate Action). Each material has an EPD-derived A1–A3 emissions factor and, where applicable, a biogenic carbon storage value. Insulation materials are stored per square meter at RSI 1, so embodied scales linearly with thermal resistance.

// For each material in an assembly:
for layer in assembly:
  if layer.type == 'insulation':
    rsi          = R / 5.678
    eper_m²   += EFper_m²·RSI1 × rsi
    bper_m²   += biogenicper_m²·RSI1 × rsi
  else if layer.type == 'framing':
    volume     = stud_depth × framing_fraction
    eper_m²   += volume × density × EFper_kg
  else if layer.type == 'cladding' or 'sheathing':
    eper_m²   += EFper_m²  [material-specific]

netper_m²  = eper_m² − bper_m²
totalkg   = netper_m² × area

Framing fractions (fraction of wall area occupied by solid lumber, including studs, headers, plates, corners): 2×4 16" o.c. = 0.25, 2×6 16" o.c. = 0.25, 2×6 24" o.c. = 0.22, advanced framing (OVE) 2×6 24" o.c. = 0.18, double-stud 2×4 24" o.c. = 0.30. These match published values from FHB, JLC, and OVE practice guides.

Windows use a flat 80 kg CO2e/m² of glazed area, representative of mid-range residential aluminum-clad and vinyl windows. This is a known simplification: real values range from ~50 kg/m² (basic vinyl double-pane) to ~250 kg/m² (aluminum frame). Triple-pane wood-clad and double-pane vinyl currently report identical embodied carbon in this tool.

System boundary. Envelope embodied counts only EN 15978 stages A1 (raw materials), A2 (transport to factory), and A3 (manufacturing). Excluded: A4 site delivery, A5 installation, B1–B5 use and maintenance, B6 (operational energy, counted separately above), B7 (operational water, not relevant), C1–C4 disposal, D module credits. This is the conventional cradle-to-gate cutoff for residential WBLCA at this level of detail.

Step 9 — Embodied (non-envelope)
Interior partitions, MEP, finishes, cabinetry — per-sf presets

Interior partitions, mechanical/electrical/plumbing equipment, floor finishes, and cabinetry are estimated via per-square-foot category presets scaled by total floor area. This is the largest remaining source of absolute uncertainty in the whole-life total (±30% per component).

for category in [partitions, finishes, MEP, cabinetry]:
  totalkg += categorykg/sf × floor_area

Finish-level presets (kg CO2e per sf of floor area):

CategoryModestTypicalHigh-end
Interior partitions5.08.012.0
Floor finishes4.06.010.0
MEP equipment5.05.06.0
Cabinetry & fixtures2.04.08.0
Total162336

Sources: Carbon Leadership Forum MEP-LCA 2024 (MEP equipment); Athena Sustainable Materials Institute residential prototype outputs (partitions, finishes); Magwood (2022) Build Beyond Zero Ch. 8 (cabinetry, fixtures); BEAM Tool v4.1 (cross-check). These are typical-range averages, not project-specific. Real residential non-envelope carbon varies by ±30% from these presets depending on actual equipment specifications, finish brands, and interior configuration.

Step 10 — Operational carbon & cost rollup
Fuel use → annual emissions → 30-year cumulative
// Fuel-specific carbon factors (EPA GHG Hub, AR5 GWP-100):
EFnatgas    = 5.31 kg CO2e/therm
EFpropane   = 5.77 kg CO2e/gallon
EFoil       = 10.28 kg CO2e/gallon
EFelec,MI   = 0.458 kg CO2/kWh (state, eGRID 2022)

// Annual operational carbon (gross, before PV offset):
annual_co2 = Σ (fueli × EFi)

// Annual operational cost (after PV cost offset):
annual_cost = Σ (fueli × ratei) − offsetcost

// 30-year cumulative carbon (constant 2022 grid):
lifetime_co2 = annual_co2 × 30 / 1000  [tons]

// 30-year cumulative cost (geometric growth):
lifetime_costcentral = annual_cost × ((1+r)30 − 1) / r   // r = 0.04
lifetime_costlow     = annual_cost × 30   // r = 0 (flat rates)
lifetime_costhigh    = annual_cost × ((1.06)30 − 1) / 0.06

Whole-life total: embodied (envelope) + embodied (non-envelope) + embodied (PV) + 30-year operational. The 30-year horizon is conventional for residential WBLCA at this scope; it is not a building service-life claim. Real building service life is 60–100+ years.

Cost projection. The 4% central rate-increase assumption is consistent with historical nominal US residential energy inflation (~3–4%/yr over recent decades). The 0% / 6% bounds reflect realistic but uncertain trajectories. Note: these are nominal dollars, not real (inflation-adjusted). At ~2.5% general inflation, 4% nominal = ~1.5% real growth in energy expenditures. For consumer comparison ("how much will I pay over 30 years?"), nominal is the relevant metric. For NPV / discounted analysis, results would differ.

Step 11 — Uncertainty quantification
Absolute ranges and comparative confidence

Two distinct uncertainty calculations run alongside every result. Absolute uncertainty reflects the realistic spread on a single scenario's total. Comparative uncertainty is much narrower because shared modeling assumptions cancel between scenarios — this is why "scenario A is 70% lower than scenario B" can be very-high-confidence even when each absolute value has a ±20% range.

Per-component uncertainty bands (one-sigma, expressed as fraction of central):

Componentσabsoluteσcomparative
Operational energy use±10%±5%
Grid carbon factor±5%±2%
Envelope embodied±15%±10%
PV embodied±15%±8%
PV generation±15%±10%
Non-envelope embodied±30%±20%
// RSS composition of independent uncertainties:
σtotal     = √(σop² + σenvEmb² + σnonEnvEmb² + σpvEmb² + σpvGen²)

// 90% confidence interval (z = 1.645 for normal):
low90      = central − 1.645 × σtotal
high90     = central + 1.645 × σtotal

// Comparative uncertainty between two scenarios:
σcompare   = √(σop,c² + σenvEmb,c² + …)
nσ         = |Δscenarios| / σcompare

// Confidence labels:
very_high: nσ ≥ 3   (p < 0.003 difference is noise)
high:       nσ ≥ 2   (p < 0.05)
moderate:   nσ ≥ 1.3
low:        nσ ≥ 0.7
within_noise: nσ < 0.7

Statistical approach follows ISO 14044 §4.4.4 (uncertainty analysis), EPA WBLCA Guide (2019) §5.3 (comparative LCA noise floor), and standard practice for comparative residential LCA where shared boundary conditions reduce relative uncertainty. The 1.645σ multiplier corresponds to the 90% confidence interval assuming approximately normal error distribution on independent component uncertainties. The cost-uncertainty band (Step 10) is treated separately because rate-trajectory uncertainty is correlated across all scenarios (they share the same future utility-rate assumption); paired low-vs-low and high-vs-high comparisons are used for the savings range.

Known limitations and simplifications

The list below is comprehensive and intentionally transparent. Items are flagged either as known omissions (a feature not yet implemented), simplifications (an approximation chosen for tractability), or directional biases (a known under- or over-estimate of a specific quantity). Items are listed in approximate order of magnitude of effect on the whole-life total.

Major (5–15% effect on whole-life)
  1. Grid decarbonization trajectory not modeled. Operational carbon uses a static eGRID 2022 emission factor over the full 30-year horizon. Real grid carbon intensity is dropping at ~2%/year in most US regions and is projected to reach ~0.10 kg CO2e/kWh nationally by 2055 (vs. ~0.43 today). Directional bias: all-electric and heat-pump scenarios are penalized; long-term electrification benefit is larger than shown. The tool is conservative for electrification.
  2. Non-envelope embodied is preset-based, not project-specific. The largest single source of absolute uncertainty. Interior partitions, MEP equipment, floor finishes, and cabinetry use national-average per-square-foot factors at three finish levels (16 / 23 / 36 kg/sf). Real projects vary by ±30% depending on actual products. Type: simplification.
  3. Heat pump COP does not degrade at low outdoor temperatures. Real cold-climate heat pumps lose 30–40% capacity and 20–30% COP at -5°F. The engine uses the constant seasonal HSPF-derived COP year-round. Directional bias: heat pump heating energy is underestimated in CZ 6–8 by approximately 15–25%. Most impactful for Anchorage, Duluth, and similar very-cold climates.
Moderate (1–5% effect)
  1. Replacement cycles (B-modules) not modeled. Vinyl cladding (~25-year service life) currently looks better on A1–A3 alone than fiber cement (~50+ years). Adding service-life modeling would reverse some current material rankings. Type: known omission. Affects cladding, roofing, and HVAC equipment comparisons.
  2. PV degradation not modeled. Real panels lose ~0.5%/year output; over 30 years, ~14% cumulative. Engine assumes constant generation. Directional bias: PV-heavy scenarios optimistic by 5–7% on cumulative carbon offset and cost savings.
  3. Climate-zone-aggregated HDD/CDD, not ZIP-level NOAA normals. Within CZ 5, Chelsea is ~6,300 HDD and Marquette is ~8,200 HDD, but both lookup to the same 6,500 HDD. Type: simplification. Effect: 1–3% spread on heating-dominated whole-life totals; largest for zones with wide internal variation.
  4. Net metering 70% retail-credit is a national-average simplification. Real policies range from 100% (legacy CA, MA, NJ) to 25–50% (CA NEM 3.0, NV, MI DTE). Directional bias: cost savings for PV-heavy scenarios will be optimistic in restrictive states (a Michigan DTE customer should expect ~50–70% of displayed savings) and slightly pessimistic in generous states.
  5. PV embodied does not vary by panel chemistry or module efficiency. All PV uses 1,800 kg CO2e/kW (IEA-PVPS Task 12 median for c-Si). Real-world c-Si panels range 1,400–2,200 kg/kW; thin-film and emerging technologies differ further. Type: simplification.
  6. Window embodied does not vary by frame or glazing. Flat 80 kg CO2e/m² of glazed area regardless of vinyl/aluminum/wood/fiberglass frame or double/triple glazing. Real range is 50–250 kg/m². Type: simplification. Affects window upgrade comparisons.
  7. Passive house preset assemblies do not scale with climate zone. The R-80 attic and R-36 walls used for the "Passive house" reference scenarios are calibrated for CZ 5–6. Generous for Miami (CZ 1), light for Anchorage (CZ 7–8). Directional bias: overestimates PH embodied in hot climates, underestimates PH operational savings in very-cold climates.
  8. HRV/ERV efficiency is a single user-supplied number. No degradation, no temperature-dependent performance curve, no fan-power energy penalty. Type: simplification.
Minor (<1% effect)
  1. Hot water inlet temperature constant at 55°F. Real values range from ~40°F (Anchorage) to ~75°F (Florida). Type: simplification; partially cancels with HDD-based heating loads.
  2. Heating-season ΔT fixed at 30°F. Used in mechanical ventilation heat-loss calculation. Real values vary from ~5°F (Miami) to ~50°F (Anchorage). Type: simplification; partially cancels with HDD-based envelope losses.
  3. Geometry assumes square footprint, single shape. No accommodation for two-story, L-shaped, or complex envelopes. WWR fixed at 18% (RECS 2020 national average). Type: simplification.
  4. Solar gain assumes average orientation. 200 BTU/sf·hr × 4 equivalent direct-exposure hours/day is an undifferentiated mix of N/S/E/W exposure. No glazing-orientation modeling. Type: simplification.
  5. Infiltration N-factor fixed at 20. Real LBNL N-factors vary 15–25 depending on height, shielding, and climate. Type: simplification.
  6. Dual biogenic reporting (gross + net) not yet implemented. Biogenic carbon storage in cellulose, wood fiber, and straw is currently shown as a single net credit. ISO 21930 requires reporting gross and net separately to handle different end-of-life assumptions. Type: known omission; affects how rigorously the tool can claim ISO 21930 compliance for biogenic materials.
  7. Cost projection is nominal, not real (inflation-adjusted). 4%/yr central matches recent historical nominal energy inflation. Type: deliberate choice for consumer-facing comparison; sophisticated users running NPV analysis should apply their own discount rate.

These limitations are tracked openly because the tool's value comes from being honest about what it does and doesn't model. Most items above are planned improvements; some (e.g., constant grid carbon) are conservative simplifications that bias the tool against electrification, so fixing them strengthens rather than weakens the case for low-carbon design.

References

  • ASHRAE 62.2-2022. Ventilation and Acceptable Indoor Air Quality in Residential Buildings. American Society of Heating, Refrigerating and Air-Conditioning Engineers.
  • ASHRAE 169-2021. Climatic Data for Building Design Standards.
  • ASHRAE Handbook of Fundamentals, 2021. Chapter 19 (Energy Estimating and Modeling) and Chapter 38 (Units and Conversions).
  • ASHRAE 119. Air Leakage Performance for Detached Single-Family Residential Buildings.
  • AHRI Standard 210/240-2023. Performance Rating of Unitary Air-Conditioning and Air-Source Heat Pump Equipment.
  • Builders for Climate Action. BEAM Tool v4.1, 2024. Material database used for envelope embodied factors.
  • Carbon Leadership Forum. MEP-LCA: Mechanical, Electrical, and Plumbing Life Cycle Assessment Report, 2024.
  • DOE 10 CFR 430. Energy Conservation Program for Consumer Products: Test Procedures. Water heater Energy Factor / Uniform Energy Factor.
  • EIA. Electric Power Monthly, Table 5.6.A residential rates by state. US Energy Information Administration; data version February 2026.
  • EIA. Natural Gas Monthly, state-level residential prices. February 2026.
  • EIA. Residential Energy Consumption Survey (RECS) 2020. Microdata used for baseline electricity, hot water, and heating fuel medians.
  • EPA. Greenhouse Gas Emission Factors Hub, 2023 edition. CO2, CH4, N2O factors for stationary residential combustion at AR5 GWP-100.
  • EPA. eGRID 2022. US grid emission factors, state-level output emission rate (STCO2RTA).
  • EPA. Building Life Cycle Assessment in Practice, 2019 (WBLCA Guide).
  • IEA-PVPS Task 12. Life Cycle Inventories and Life Cycle Assessments of Photovoltaic Systems, 2020.
  • International Code Council. International Energy Conservation Code (IECC) 2021, Table R402.1.2 (Insulation and Fenestration Requirements by Component).
  • ISO 14044:2006. Environmental management — Life cycle assessment — Requirements and guidelines.
  • ISO 21930:2017. Sustainability in buildings and civil engineering works — Core rules for environmental product declarations of construction products and services.
  • IPCC AR5, 2014. Climate Change 2014: Synthesis Report. GWP-100 characterization factors.
  • Magwood, C., 2022. Build Beyond Zero: New Ideas for Carbon-Smart Architecture. Island Press.
  • NREL. PVWatts Calculator v8, 2024. State-level specific yield (kWh/kW·year).
  • NREL. Cambium Standard Scenarios, 2023. Projected grid decarbonization by region.
  • OMB Circular A-94. Guidelines and Discount Rates for Benefit-Cost Analysis of Federal Programs, Appendix C (revised). Real discount rate guidance.
04
Reading the ranges and confidence levels.
How to interpret the "likely range" bars on the chart and the confidence labels on scenario cards.
Likely range (vertical bars on chart)

The vertical bar at year 30 shows the 90% confidence interval on the absolute total. This is wider than the single number suggests because non-envelope materials, equipment, and finish choices have real product-level spread that this tool doesn't try to nail down precisely. A 200 t result might be 170–230 t in reality. That's not a flaw in the engine — it's an honest representation of what the data supports.

Comparative confidence (scenario cards)

When comparing scenarios, the same modeling assumptions affect both — so the difference between them is much more reliable than the absolute values. "Very high confidence" means the gap is so large (3+ standard deviations) that the ranking is unambiguous. "Within modeling noise" means the difference falls within the inherent spread of the assumptions — the two scenarios are effectively a tie.

Methodology: Per-component uncertainty bands (operational ±10%, envelope ±15%, non-envelope ±30%, PV ±15%) are composed via root-sum-of-squares (independent uncertainties). Comparative confidence uses narrower bands (operational ±5%, envelope ±10%, non-envelope ±20%, PV ±8%) because shared modeling assumptions cancel out between scenarios. Approach follows ISO 14044 and EPA WBLCA Guide conventions.