Methodology · Version 2.0 · Updated October 4, 2026

CarbonKick Methodology

How we calculate, what we cite, and what we don't claim.

In short

  • AI reads your documents. Fixed, tested code calculates every number.
  • Every emission factor is chosen by rule from a sourced registry and carries its source and edition year.
  • The same bill returns the same result, every time.
  • A line with no sourced factor is shown as unquantified, never filled with a guess.
  • Missing months are listed, never filled silently.
  • Every line is labeled Measured, Calculated or Estimated.

What CarbonKick measures

CarbonKick produces a self-reported, GHG Protocol-aligned carbon footprint for small businesses, following the Greenhouse Gas Protocol Corporate Standard across three scopes:

Every line item is assigned to one scope and reported in kilograms of carbon dioxide equivalent (kg CO₂e), the standard unit that puts different greenhouse gases on a common warming basis.

The footprint is generated from the business's own bills and invoices. It is intended for internal tracking, sustainability storytelling, supplier disclosure and reduction planning. It is self-reported and not third-party verified.


AI reads, code calculates

CarbonKick uses an AI model for one job: reading documents. The model extracts activity data from each line: what the activity is, how much, in which unit, and for which period.

Not sure what to upload? See which documents to upload and what each one covers.

The model never computes emissions. It does not choose emission factors, assign scopes, convert units or total anything. Every number on a CarbonKick report is calculated by fixed, tested code, and the same inputs always run through the same calculation.

To read a document, CarbonKick sends its contents to an AI model provider for extraction. CarbonKick does not store your files on its servers, and your results are kept in your browser.


How a bill becomes a footprint

  1. Read. The AI model extracts each line's activity, quantity, unit and billing period.
  2. Check. Code reconciles the extracted lines against the totals printed on the bill and sets aside delivery and transportation charge lines.
  3. Classify. Code assigns each line a GHG Protocol scope and category by documented rules.
  4. Match a factor. Code selects an emission factor from the sourced registry by rule.
  5. Calculate. Code converts units where needed, multiplies quantity by factor, and totals the lines into scope totals and a footprint.
  6. Label. Every line carries a confidence label, its factor, and the factor's source and edition year. Estimates and gaps are disclosed.

How a factor is chosen

Factors are chosen by rule, never by the model. For each line, CarbonKick selects from its sourced registry in this order:

  1. Closest region: a factor for the site's location before a national one, and a national one before a global average.
  2. Most specific: a factor for the exact activity and unit (natural gas in therms) before a broader one.
  3. Most recent edition: the latest published edition of that source.

Every factor carries its source and edition year, and both appear on the line where it was used.


Emission factor sources

Every factor comes from a published, citable authority:

When a source publishes a new edition, the registry is updated and the change is versioned.


Same bill, same result

Upload the same file twice and you get the same result: the same lines, the same quantities, the same numbers. Re-uploading a file does not add its lines a second time.

A stored number changes in two cases: when a sourced factor is corrected or replaced by a new edition, which is versioned and noted on the affected lines; and when you correct a line yourself. Nothing else moves it.

When a new upload contains lines that look like lines already stored from a different file (for example, a photo of a bill you already uploaded as a PDF), CarbonKick warns you and lets you skip them or add them. It never drops a line on its own.


Extraction checks


No sourced factor, no number

If a line has no sourced factor in the registry, CarbonKick does not invent one. The line appears on the report as unquantified, with the reason. For example, a top-up of a refrigerant that has no factor in the registry is shown as a gap, not filled with a guess.


Spend-based estimates

Some documents carry dollars but no activity data. For those, CarbonKick uses a spend-based estimate: the amount spent multiplied by a sourced spend factor (kg CO₂e per dollar) for that category.


Scope 2: electricity

CarbonKick reports Scope 2 with the location-based method: the emissions of the grid your site draws power from.

Market-based inputs, such as your utility or community choice provider and any green tariff, are recorded and disclosed on the report. CarbonKick does not calculate a market-based figure.


Missing months

Gaps are listed on the report by month and document type, and never filled silently.

If you want a full-year figure from partial data, extrapolation is a step you choose. It is labeled, and the extrapolated amount is shown separately from the months you measured.


Corrections

You can correct any line. The original extracted value is kept alongside your correction, and the line is marked as corrected, so anyone reading the report can see what changed.


What AI does and does not do

StepDone by
Reads documents and extracts each line's activity, quantity, unit and periodAI model
Checks extracted lines against the bill's printed totalsCode
Excludes delivery and transportation charge lines from totalsCode
Assigns scope and categoryCode, by documented rules
Chooses the emission factorCode, by rule, from the sourced registry
Converts unitsCode
Calculates kg CO₂e and totalsCode
Applies confidence labelsCode
Writes summaries and answers questions about your reportAI model, from the calculated numbers. It cannot change them.
Fills missing monthsNobody, unless you choose to extrapolate
Changes a stored numberA versioned factor correction, or your own correction

How we classify scopes

Scope classification follows the GHG Protocol Corporate Standard. Below is the simplified logic CarbonKick applies to common line item types:

Edge cases are handled by documented rules and surfaced to you when classification is uncertain.


Confidence labels: Measured, Calculated, Estimated

Not all emissions data is equally precise. CarbonKick labels every line item with one of three confidence levels so users can see, and disclose, the quality of each estimate:

This labeling is core to CarbonKick's anti-greenwashing position. A business should know, and be able to disclose, which parts of its footprint are well-substantiated and which are best-effort estimates. Hiding the distinction is how greenwashing happens. Showing it is how trust is built.


What CarbonKick is not

In the interest of honest positioning, here is what CarbonKick does not claim to be:


Known limitations and ongoing work

This methodology is versioned. Every change is listed in the changelog.


How to cite a CarbonKick footprint

Reports generated by CarbonKick include a footer with the version of the methodology used, the date of generation, and the source attribution. The recommended phrasing when referencing a CarbonKick footprint externally is:

Self-reported carbon footprint, GHG Protocol-aligned, generated by CarbonKick™.

Avoid representing a CarbonKick footprint as "certified," "verified," or "audit-ready." These terms imply external assurance that the methodology does not provide.


Questions and corrections

Methodology questions, source recommendations or correction requests: mark@carbonkick.ai.

Version 2.0, updated October 4, 2026. Version 1.0 was published June 28, 2026.

Methodology changelog →