Carbon

Report cloud emissions next to the spend that caused them

Emissions reporting usually lives in a spreadsheet that nobody can tie back to infrastructure. Xplorr pulls the carbon figures each provider publishes for your accounts, splits them by scope, service and region, and puts them beside the cost that generated them so the two can be read together.

Xplorr carbon page showing 63,320 kg of total emissions across Scope 1, Scope 2 market based and Scope 3, with 47,300 kg of Scope 2, 16,021 kg of Scope 3 supply chain emissions and a carbon intensity of 0.291 kg per USD of billed cost, above a monthly stacked chart of emissions by scope and breakdowns by service and by region.

Inputs

Where the Carbon numbers come from

Xplorr reads your accounts with read only credentials and never writes to your infrastructure. These are the sources behind this screen.

Each provider's own carbon data
The figures come from the carbon reporting AWS, Azure and GCP publish for your own accounts. Xplorr does not model emissions from instance hours, so the numbers match what the provider will tell an auditor.
Your billed cost
The same cost data behind the rest of Xplorr, which is what makes an intensity figure per unit of spend possible.
Service and region metadata
Emissions are attributed to the service and region they came from, because a region choice is usually the single largest lever on the number.

Method

How the Carbon numbers are worked out

No black box. If a figure is an estimate or an apportionment rather than a billed line, the page says so.

  1. Emissions are split by scope

    Scope 1, Scope 2 and Scope 3 are reported separately and stacked in the monthly chart, rather than collapsed into one total that cannot be used for reporting.

  2. Scope 2 can be read market based or location based

    The two methods answer different questions, one accounting for the energy contracts a provider has bought and the other for the grid the data centre physically sits on. You choose which basis the page reports, because your disclosure framework will specify one.

  3. Carbon intensity is emissions divided by billed cost

    Reported per unit of spend, which gives a ratio that stays comparable as the estate grows and makes two regions or two services directly comparable.

  4. Reported monthly, because providers publish monthly

    Provider carbon data is released on a monthly cycle and lags the billing data, so the series is monthly and the most recent month fills in later than the cost figures beside it.

  5. Each provider needs its carbon export switched on first

    Carbon data does not arrive with the ordinary cost sync, and it is configured per account. AWS needs a Data Exports carbon emissions table delivered to S3 as CSV, with the account role allowed to list that bucket and read that prefix. Azure needs the Carbon Optimization Reader role on each subscription you want counted. GCP needs the Carbon Footprint BigQuery export and read access to the dataset it writes. Until one of those exists, the page is empty for that provider rather than estimated.

  6. Only complete months are pulled, and recent ones are pulled again

    The sync runs once a month and fetches the last complete months, so the month in progress never appears at all. It refetches the three most recent complete months on each run, because providers publish a month part way through the next one and then revise it. A figure you read this month can legitimately be different next month.

  7. Location based Scope 2 is not available from every provider

    AWS and GCP publish Scope 2 on both the market based and the location based method. Azure publishes the market based figure only. Switching the page to location based therefore shows nothing for Azure accounts, and a mixed estate will not produce a complete location based total. AWS also reports its Scope 3 on the market based method.

In the console

What is on the Carbon screen

  • Total emissions across Scope 1, Scope 2 and Scope 3 in kilograms of CO2 equivalent
  • Scope 2 and Scope 3 as their own figures, with the basis stated
  • Carbon intensity per unit of billed cost
  • Monthly stacked chart of emissions by scope over the last 12 months
  • Breakdown by service and by region
  • A choice of market based or location based Scope 2, and a setup tab for configuring sources

Common questions about Carbon

Are these figures estimated?
They are the figures your providers publish for your accounts, not a model Xplorr built from instance hours. That matters for disclosure, because an estimate derived from usage will not match what the provider reports if anyone checks.
Should I report market based or location based Scope 2?
It depends on the framework you report under, and some require both. Market based reflects the energy the provider contracted for, location based reflects the grid the data centre draws from. The page lets you switch rather than choosing for you.
Why is the latest month lower than the others?
Usually because it is incomplete. Provider carbon data is published monthly and arrives later than billing data, so the most recent month keeps filling in after the cost for that month has settled.
How long after connecting an account do emissions appear?
Longer than cost data takes. The provider export has to be created first, and the first delivery can take up to a day to produce a file. After that Xplorr picks up complete months only, so in practice the page fills on the provider schedule, which is around the middle of the month after the one being reported.
Which accounts and subscriptions are counted?
The ones the export you configured covers. On Azure the carbon source can list several subscriptions and defaults to the one on the cloud account. On GCP it reads the table you point it at, optionally filtered to the connected project. On AWS it reads whatever the S3 export contains. A subscription or project outside that scope is not in the totals, and nothing is inferred for it.
Why is carbon intensity blank for a month?
Because it is emissions divided by billed cost for that month, and it needs a cost figure above zero to exist. A month that has emissions but no synced cost, which happens when the carbon export reaches further back than your cost history does, shows the emissions and leaves the intensity empty rather than dividing by nothing.

See this on your own accounts

Connect a cloud account with read only credentials and the first sync pulls your last 30 days, so this screen fills with your numbers instead of the demo workspace. Free during beta.