ForHosting KIT · Science

Kaya identity calculator

One hundred people at 50 of GDP each, an energy intensity of 2 and a carbon intensity of 0.5 give emissions of 5,000: see which of the four Kaya drivers moves the total. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Population
100
Gdp per capita
50
Energy intensity
2
Carbon intensity
0.5
You get
Emissions
5,000
Equation
100 × 50 × 2 × 0.5 = 5000

The Kaya identity is the four-factor decomposition of carbon dioxide emissions that climate economists, IPCC scenario teams, and energy ministries use to explain why total CO2 can rise even when one intensity falls. Emissions equal population times GDP per capita times energy intensity of GDP times carbon intensity of energy. This Kaya identity calculator applies that product exactly. Zero is valid and yields emissions of zero.

What the Kaya identity means and how F = P × g × e × f is applied

The Kaya identity, named for the energy economist Yoichi Kaya, is an accounting identity that factors total carbon dioxide emissions into four multiplicative drivers: population, GDP per capita, energy intensity of economic output, and carbon intensity of energy. Written as emissions equals population times GDP per capita times energy intensity times carbon intensity, the statement is true by construction whenever the four factors use consistent units. GDP per capita times population recovers GDP; energy intensity times GDP recovers energy use; carbon intensity times energy use recovers emissions.

Climate scenario exercises, including the IPCC family of pathways, lean on this decomposition because it isolates the policy levers that can offset growth in people and income. If population and GDP per capita keep rising, total emissions still fall when the product of the two intensities declines faster than that socio-economic product grows. This calculator does not invent intensities from a fuel mix, convert currencies, or scale a country series to a global total.

It multiplies the four numbers you already have and returns the product as total emissions. One hundred people at fifty currency units of GDP per person, energy intensity of two energy units per currency unit, and carbon intensity of one half mass unit of CO2 per energy unit yields emissions of five thousand mass units. The same product with a carbon intensity of zero — a fully decarbonized energy system — yields emissions of zero, which is the correct identity result, not an error.

Where a Kaya identity calculator earns its keep

Climate-policy desks and national inventory teams use a Kaya identity calculator so a four-factor briefing — people, income, energy per dollar, carbon per joule — becomes a single emissions total they can drop into a memo without opening a workbook of intermediate products. Failed validation does not consume balance. Keep requests small, pin the rounded emissions in tests, and you get reproducible totals for homework, LMS plugins, scenario scripts, and edge workers without standing up climate middleware of your own.

For a process-based fuel inventory or a natural-gas combustion footprint use a sibling calculator; this page answers the search for the Kaya product itself.

IPCC-style scenario briefings

Multiply population, GDP per capita, energy intensity, and carbon intensity from a shared socio-economic pathway into a single, reproducible CO2 total for a memo or slide.

Corporate intensity roadmaps

Hold head-count fixed, sweep energy and carbon intensities from a technology plan, and obtain the implied emissions path without a desktop energy model.

Can a factor be zero?

Yes. Zero of any factor is valid and returns emissions of zero, which is the correct Kaya product for no people, no income, no energy use, or fully decarbonized energy.

Which units should I use for the four factors?

Any internally consistent set. The product is emissions in the unit implied by people × (currency/person) × (energy/currency) × (CO2/energy). The calculator does not convert units.

What is the Kaya identity?

It is an accounting identity, named after the energy economist Yoichi Kaya, that splits total CO2 emissions into four drivers: population, GDP per person, energy used per unit of GDP and CO2 per unit of energy.

How can emissions fall while population and income keep growing?

When the product of energy intensity and carbon intensity declines faster than population times GDP per person rises. That is why climate scenarios treat those two intensities as the main policy levers.

Does the calculator forecast future emissions?

No. It multiplies the four factors you already have and returns the product. It does not fit a forecast, convert currencies or derive intensities from a fuel mix.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/eco/kaya-identity

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/eco/kaya-identity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"population":100,"gdp_per_capita":50,"energy_intensity":2,"carbon_intensity":0.5}'
{
  "population": 100,
  "gdp_per_capita": 50,
  "energy_intensity": 2,
  "carbon_intensity": 0.5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "eco.kaya_identity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

You enter the four factors in any internally consistent units; the response echoes the cleaned inputs and returns total emissions together with a compact formula string. A negative factor is rejected with invalid_input because population, income, energy per unit output, and carbon per unit energy cannot be negative under this identity. Invalid inputs fail with invalid_input and are not billed.

What the Kaya identity means and how F = P × g × e × f is applied

Use this endpoint when the four factors are already measured or assumed and you need a reproducible total rather than a fitted forecast or a process-based energy model.

Input contract, units, aliases, and why a negative factor is rejected

A negative factor is rejected because a Kaya driver cannot be a debt under this identity: there is no negative population, negative GDP per capita, negative energy intensity, or negative carbon intensity that still multiplies into a meaningful emissions total. Zero of any factor is valid and yields emissions of zero, which is the correct product when a society has no people, no income, no energy use per unit of output, or a fully decarbonized energy system. On success the body echoes the cleaned inputs and returns emissions as the primary total, plus formula, equation, and message strings for display. Example: one hundred people, fifty of GDP per person, energy intensity two, carbon intensity one half is emissions of five thousand. POST a JSON body with four required finite numbers: population, the non-negative head-count P; gdp_per_capita, the non-negative income per person g in the currency that energy_intensity uses; energy_intensity, the non-negative energy per unit of GDP e; and carbon_intensity, the non-negative CO2 mass per unit of energy f. Accepted aliases for population are P, pop, and people. Accepted aliases for income are gdp, g, income_per_capita, and gdp_pc. Accepted aliases for energy intensity are I, energy, energy_per_gdp, and e_intensity. Accepted aliases for carbon intensity are C, carbon, co2_intensity, f_carbon, and carbon_per_energy. Each field may arrive as a JSON number or as a decimal numeric string. Missing fields, empty strings, booleans, non-finite values, and magnitudes beyond the supported absolute ceiling fail with invalid_input naming the field. Pair the product with your own unit labels; this endpoint does not convert tonnes to kilograms or dollars to euros.

Where a Kaya identity calculator earns its keep

Classroom energy-economics labs and exam-prep generators need a deterministic oracle that rejects a negative intensity as invalid_input instead of returning a signed mass that a buggy grader might treat as a valid sink. Corporate net-zero planners often hold population or head-count fixed, vary GDP per worker, and sweep energy and carbon intensities from a technology roadmap; calling a tiny parse API avoids pulling a desktop model for a four-factor multiply.

Classroom energy-economics checks

Let students submit the four Kaya factors and verify that emissions equal the product, with any negative factor rejected as invalid_input rather than a signed sink.

How do I calculate CO2 emissions with the Kaya identity?

Send finite non-negative population, gdp_per_capita, energy_intensity, and carbon_intensity. The API returns emissions = P × g × e × f, plus formula and equation strings.

What happens if a Kaya factor is negative?

The task fails with invalid_input. Population, GDP per capita, energy intensity, and carbon intensity cannot be negative under this identity, so the request is rejected and is not billed.

What does the Kaya identity calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →