Regions, and when a wider one can stand in

Numbers checked against the live data on

Every factor names one place, in region_code, at whatever grain the publisher chose. When no factor exists for your country, the usual advice is to take the smallest area that contains it. That holds for a country inside a continent, and it inverts for one kind of code: a rest-of-world region, which is defined by the countries it leaves out. The whole registry, every code with its parent and the members of each group, is one download: geography.xlsx.

The grains a region code comes in#

One registry holds every place, whatever its size, and region_code points into it.

Kind Example What it is
Country FR An ISO 3166 country.
Subdivision FR-42 (Loire), US-CAMX (WECC California) A part of one country: a département, a grid area.
Macro region EUROPE A continent.
Aggregate EU27, FR_OM A named list of members, which it overlaps.
Complement EXIOBASE_ROW_EUROPE A region minus the countries a publisher models separately.
World GLOBAL Everywhere.

Publishers mix the grains freely, and the data keeps the grain they chose rather than rounding it up to a country. ADEME files 93 French subdivisions beside its national rows, 92 départements plus Corse, and EPA files 27 eGRID grid areas beside US. geography is the registry itself.

Falling back to a wider area#

Prefer the factor filed for the place the activity happened. If there is none, take the smallest area that genuinely contains it, and say so in your report: a French site takes FR over EUROPE, and EUROPE over GLOBAL. Choosing between similar factors puts that check in order with unit, year and boundary.

"Genuinely contains it" is the whole caveat, because the registry's parent link is not always a containment claim. Containment runs down one chain: GLOBAL holds the macro regions, a macro region holds its countries, a country holds its subdivisions. Aggregates and complements hang off that chain from a parent that records what they were carved out of, not a region that holds them. An aggregate contains only the members it lists, so EU27 is not a fallback for Norway; and six of the places EU27 lists sit under Africa or Latin America, so EUROPE does not hold all of EU27 either, for all that EU27 hangs from it. A complement is the region it names minus a list, so it can exclude exactly the country you were looking for.

Watch out. Read a region's full name, not just its code, before you fall back to it. A complement puts its wording where it likes, so how a name opens is not the test: "Rest of World: Europe (EXIOBASE)" and "Open CEDA Rest of World" are both complements, and other publishers carve theirs out in other words again. The registry settles it: geography gives the row a kind of complement, and the code is then not the containing area it looks like.

Rest-of-world regions are defined by exclusion#

A publisher that models some countries one by one has to put the others somewhere. EXIOBASE puts them in five rest-of-world regions, one per part of the world. EXIOBASE_ROW_EUROPE is "Rest of World: Europe (EXIOBASE)": Europe minus the 32 European countries EXIOBASE models separately, which are AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, NO, PL, PT, RO, RU, SE, SI, SK and TR.

The value is therefore built from the countries that are left, and it is not an average of Europe. For electricity from coal, per euro of 2025 spend, cradle to gate, EXIOBASE gives Belgium 4.13 kg CO2e and rest-of-world Europe 16.07: nearly four times as much, for a set of countries that has no member in common with the first.

Which row is yours depends on one question, not on which is wider.

  • Your country is on the exclusion list. It is on that list because the publisher models it separately, so a row for it exists in the same library. All 32 of the countries EXIOBASE_ROW_EUROPE excludes have their own EXIOBASE rows. Take the country row. The rest-of-world row is not a coarser version of it, it is the other countries.
  • Your country is not on the list. Then the rest-of-world row is the row the publisher built for you, and it is the right one to use. Record which countries it pools, because that is the set your figure averages.

Note. A complement and the countries it excludes do not overlap, so adding rest-of-world Europe to Belgium counts nothing twice. Reading one for the other is the error, not summing them.

The exclusions live in geography_member, one row per member, with role of member or excluded. The served factor carries only region_code, so the list is a lookup away rather than something the row tells you.

Every publisher subtracts a different list, so two rest-of-world regions are never interchangeable. Open CEDA's OPENCEDA_ROW is the world minus the 148 economies it models one by one, which is a quite different pool from any of EXIOBASE's five.

Factor search will not widen into one#

Selecting France in the Region filter returns the rows filed as FR, not the rows filed under the 97 French subdivisions the registry knows, until you turn on Include sub-regions. That switch widens along containment only: it adds the subdivisions of the countries you picked and nothing else. An aggregate or a complement is never swept in, so a country filter cannot hand you a rest-of-world row by accident. You meet one by selecting it yourself, or by searching with no region filter at all. ADEME factors filed for France.

When the publisher stated no region#

Some rows name no geography at all and are filed under the library's home territory instead: every one of AGRIBALYSE's 2,451 latest-year factors carries FR that way, flagged by region_is_publisher_default and marked on the factor page's region badge. What that region is then a property of, and what to check before comparing such a factor with one whose region the publisher chose, is in region from the publisher's default.

What the publisher actually wrote#

The publisher's own wording is kept beside the code: France continentale, or EXIOBASE's WE. A label with no known mapping is never guessed into a code. The relational model shows the crosswalk that records which code each raw label resolved to, who or what resolved it, and the evidence.