How we calculate
your carbon emissions.
Every number on every report traces to a published factor, stamped with the engine version that produced it. No black boxes. This page documents the methodology end-to-end, from the CSV you upload to the final emissions figure in your PDF, with every step disclosed.
The GHG Protocol Corporate Standard.
Every Carbon Draft report aligns to the GHG Protocol Corporate Accounting and Reporting Standard (2015 Revised Edition), the framework used by over 92% of Fortune 500 companies that report emissions. Developed by the World Resources Institute (WRI) and the World Business Council for Sustainable Development (WBCSD), it underpins CDP, the Science Based Targets initiative (SBTi), California SB-253 and the EU CSRD. When a supplier questionnaire or disclosure filing asks for Scope 1, 2, and 3, this is the accounting grammar they mean.
For Scope 3 in particular we additionally apply the Corporate Value Chain (Scope 3) Standard (2013), and its §7.3.2 economic-value method, which governs how spend-based estimates are constructed, how refunds and credits are netted, and what uncertainty ranges are acceptable.
Scope 1 · Direct emissions
On-site fuel combustion (natural gas, diesel, gasoline), company-owned or controlled vehicles, process emissions from owned equipment, fugitive refrigerant leaks from HVAC. Any GHG released directly by equipment you own or operate.
Scope 2 · Purchased energy
Emissions from the generation of purchased electricity, steam, heating, or cooling. We apply location-based factors from EPA eGRID 2023 at subregional resolution (CAMX for California, RFCE for mid-Atlantic, etc.) per GHG Protocol Scope 2 Guidance (2015).
Scope 3 · Value chain
15 upstream and downstream categories. For spend-based accounting we typically surface categories 1 (purchased goods + services), 4 (upstream transportation), 6 (business travel), 1 subset (cloud/SaaS). Usually 75%+ of total footprint. Additional Scope 3 categories ship on the Disclosure-Aligned Report tier.
A dollar becomes a kilogram.
Spend-based carbon accounting does something simple by design: every dollar spent in a commodity category is multiplied by an industry-average emissions intensity (kg CO₂e per dollar) to estimate the embedded emissions. The EPA USEEIO model supplies these intensities for 405 NAICS commodity codes, derived from supply-chain linkage analysis of the entire US economy.
This trades precision for coverage. An activity-based measurement (therms of natural gas burned, gallons of diesel pumped, kWh of electricity metered) gives ±5–10% accuracy per GHG Protocol guidance; a spend-based estimate from the same data category gives ±25–40%. The tradeoff: activity data is expensive and slow to collect; spend data already sits in your general ledger and can be classified in minutes. For a screening-grade response to a supplier questionnaire or an internal baseline, spend-based is the correct tool. For formal third-party assurance under CSRD, or to supply data into a customer's California SB-253 filing, high-impact categories should upgrade to activity data.
Credits, refunds, and returns are netted within their emission category before the factor is applied, per GHG Protocol Scope 3 §7.3.2. This aligns with GAAP ASC 606 and IFRS 15 net-revenue treatment, so category totals reconcile to the general ledger by construction. The Data Quality Summary on page two of every disclosure-aligned report discloses each netted row explicitly.
The factor sources.
We combine four published factor sets. No proprietary multipliers, no black-box coefficients. Every rate below is reproducible from public data.
Every citation badge throughout this page (and the rest of the site) opens the methodology drawer on the right, showing the factor's exact rate, source publication, region, the engine version that applies it, and a plain-language explanation. Click any natural gas, electricity, or cloud services cite to try it.
Vendor to commodity code.
Every vendor in your CSV needs to be mapped to a NAICS commodity code before a factor can be applied. Our classifier runs three layers, in order, with each layer catching what the previous one missed:
- Regex pre-pass: 36 compiled patterns for accounting-system transaction prefixes (
AMZ*,SQ *,PAYPAL *,SHELL-OIL,MSFT AZURE, airline ticket prefixes, ride-share tags). Catches ~22% of messy AP data instantly. ~5 µs per row. - Normalized substring: vendor name is stripped of LLC/INC/LTD suffixes, transaction refs (
#4421), long digit runs, then matched against a 240-entry known-vendor dictionary. Catches ~58%. - Fuzzy match: rapidfuzz Levenshtein with a threshold of 85. Catches typos (
gasoln→ gasoline), truncations, and OCR scan artifacts. Safety net for the remaining ~10%.
On the paid Carbon Draft tier, unresolved rows additionally get Claude classification for context-aware decisions the keyword layers can't handle: vendor normalization ("SHELL OIL STN #4421" → Shell), ambiguous-category resolution, and non-English supplier names. Each row gets a per-row confidence score (0.0–1.0); the Data Quality Summary discloses what confidence bracket each row landed in.
On our 3,500-row Nightmare Spend Corp test fixture, offline classifier produces 84.2% high-confidence (≥0.80), 9.1% medium, 6.7% low. With Claude enabled on the paid tier, high-confidence rises to ~93%. Low-confidence rows are surfaced explicitly so an auditor or the customer can review them, never silently hidden.
What the intake layer handles.
The upload accepts CSVs from any general-ledger export. Two columns are required (vendor/description + amount); everything else is optional. The intake layer auto-detects:
- File encoding: UTF-8 and Windows-1252 (the latter is a common QuickBooks export default that breaks most parsers)
- Decimal convention: US (
1,234.56) vs European (1.234,56) - Negative notation: hyphen (
-1234) vs parens-accountant ((1234)) - Localized headers: German (
Lieferant→ vendor,Betrag→ amount), French, Spanish header maps - Date formats: MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD ISO, free-form strings
- Multi-currency: FX conversion to USD at the vintage stamped on the report (current: February 2026 rates)
Every decision the intake layer makes is logged to the Data Quality Summary so auditors can reconcile. If the parser has to guess (e.g., a file with no column headers), the guess is disclosed.
What we don't know.
Spend-based accounting is a screening method. The GHG Protocol recognizes this explicitly, per Scope 3 Standard §7.3.2, economic-value data carries ±25–40% uncertainty at the category level. Activity-based data (therms, gallons, kWh) is tighter at ±5–10%. Don't let anyone tell you otherwise.
- Use the most current published USEEIO and eGRID tables (refreshed annually)
- Net credits, refunds, returns, billing adjustments within category before factor application (per §7.3.2)
- Disclose per-row confidence on the Disclosure-Aligned Report tier
- Stamp engine + factor version on every page of every PDF so prior reports remain reconcilable on their original methodology
- Support activity-data override (gallons, therms, kWh, refrigerant kg) for tighter accuracy where the customer has the data
- Log every intake decision (encoding, decimal, header-map) in the Data Quality Summary
- Apply proprietary multipliers or undisclosed adjustments
- Pretend spend-based estimates are activity-based precision
- Substitute for an external audit or assurance engagement
- Invent factors for categories the EPA hasn't published
- Silently drop rows we can't classify. Low-confidence rows are surfaced for manual review
When a Carbon Draft is enough.
A screening-grade Carbon Draft is the right tool for:
- Responding to supplier sustainability questionnaires (Walmart Project Gigaton, Microsoft Supplier Sustainability, Apple Clean Energy, CDP Supply Chain)
- Establishing a carbon baseline for internal strategy
- Identifying emission hotspots before making reduction investments
- Preparing for a third-party assurance engagement (the Disclosure-Aligned Report tier eliminates 60–80% of the preparation work an auditor would bill for)
It is not a substitute for:
- Third-party assurance (ISO 14064-3) on regulated filings
- Science-Based Targets initiative (SBTi) validation
- Activity-data-grade precision on regulated reporting (CSRD mandatory disclosures, or data feeding a customer's California SB-253 filing)
The engine history.
Every change to the classifier, factor tables, or intake layer is stamped and versioned. Prior reports remain reconcilable on their original engine version. We don't silently rewrite history.
India factor pack (CEA v21.0, dual-extraction verified): national grid factor updated to the FY 2024-25 weighted average 0.7097 kg CO2 per kWh (CEA publishes CO2 only, stated plainly), spend factor re-derived to 5.93 kg CO2 per USD using PFC's all-India commercial realization of Rs 9.98 per kWh. The 14 previously shipped Indian state factors are REMOVED: CEA publishes one unified-grid factor and no state split, so state-level rows were precision we could not source - Indian reports now use the national factor regardless of state.
Spend-side electricity re-derivation completes the eGRID 2023 rollout: national factor 2.58 to 2.74 kg CO2e per USD (eGRID2023 US average over EIA 2024 final commercial price, 12.75 cents per kWh), all 51 state factors re-derived from eGRID2023 state rates over EIA-861 2024 final state prices (dual-source cross-checked; corrects prior inconsistent price anchors, largest shifts WA +98 percent, TX +70 percent, SD -60 percent), UK spend factor 1.44 to 0.42 (DEFRA 2026 grid over DESNZ 2025 non-domestic price incl CCL) with GB regional values re-anchored to the same denominator. Engine per-report factor stamp moves to Factor Pack v2.6.0.
DEFRA/DESNZ 2026 travel refresh (dual-extraction verified): air per-passenger-km moved to the average-passenger without-RF basis the engine actually matches (no cabin class collected), reflecting DEFRA's sharp 2025 methodology revision - long-haul 0.147 to 0.09043, rail 0.035 to 0.03092, average car 0.168 to 0.16591, UK grid 0.193 to 0.13096 kg CO2e per kWh. EPA Hub 2025 confirmed still current (no 2026 edition exists); one correction: heating oil 10.19 to 10.21 kg CO2 per gallon per 40 CFR Part 98 Table C-1.
eGRID 2023 refresh for the activity path: all 27 US subregion per-kWh factors updated from EPA eGRID2023 rev2 (annual total output CO2e rates, cross-verified against the full data file), Puerto Rico (PRMS) added, US national average 0.374 to 0.3497 kg CO2e per kWh. Spend-based per-USD electricity factors keep the eGRID 2022 derivation until re-anchored with matched EIA prices.
Spend-based factors recalibrated to EPA Supply Chain GHG Emission Factors v1.3 (2022 USD), correcting prior stored values. Added Scope 3 Category 8/9/12 factor coverage with primary-source citations, per-factor derivation checks, and an automated regression test suite wired into CI.
NAICS sector expansion · 27 → 66 emission types. International grid-factor parity (EU, India, Japan, UK). Notes-column inference, data-salvage summary, per-row inference decision log. TTF font name-table fix for PDF embedding; font-scrub pass removes standard-14 declarations from PDF resource dictionaries.
Phase 5 intake layer: encoding detection (Windows-1252 + UTF-8), EU decimal convention, parens-negative format, localized header map (German Lieferant → vendor, Betrag → amount).
Phase 4 classifier upgrades: rapidfuzz fuzzy matching, AP transaction-prefix regex (AMZ*, SQ*, PAYPAL*, SHELL-OIL, MSFT AZURE), expanded KNOWN_VENDORS with SaaS/utilities/lodging. 84% high-confidence on messy AP data without Claude.
Factor table refresh: USEEIO v2.2 (Oct 2024 publication), eGRID 2022 subregional mapping, IPCC AR5 refrigerant GWP100 values.
Initial public engine. GHG Protocol Corporate Standard (2015) + Scope 3 Standard (2013) aligned. EPA USEEIO industry factors.
Read the specimen.
The disclosure-aligned report is the methodology in practice: every factor cited, every credit netted, every row traceable to its source.
Generate a draft · from $20