Data and methods
This note documents every number on The Pulse of Clean Trade. All figures on the dashboard, the rankings table, and the hero trace to one generated file, data/pulse.json, built by scripts/build_pulse_data.py from the Clean Value Chain Explorer (CVCE) unilateral trade tables.
Source data
| Input | What it is | Coverage |
|---|---|---|
| CVCE unilateral trade table | Exports and imports by country, technology, and value-chain role, aggregated from BACI bilateral trade using the CVCE green dictionary (605 HS-6 mappings) | 231 economies, 1995 to 2024 |
| CVCE green dictionary | HS-6 to technology and role taxonomy: Raw Material, Processed Material, Product Component, Process Equipment, Final Product | 10 technologies |
The ten technologies (the chains on the dashboard) are Batteries, Biofuel, Electrolyzers, Geothermal, Heat Pumps, Magnets, Nuclear, Solar, Transmission, and Wind. The dashboard window is 2005 to 2024 for panels 01, 03, and 04, and 2012 to 2024 for the segments panel (see below). Values are nominal US dollars; the sources are in thousands of dollars and the dashboard reports billions.
BACI mirrors and harmonizes reporter and partner declarations (FOB basis), so world exports equal world imports by construction in every technology and year. The build pipeline asserts this identity at 0.1 percent tolerance and fails if it breaks.
The manufactured basis
The Raw Material role is excluded from every figure on the page. This matches the Atlas-wide convention, pending CVCE's input-output recompute. Two known over-attribution problems in the current dictionary force the exclusion: full ore values (iron, copper, bauxite) attributed to battery chemistry mappings, and generic dual-use components swept into wind and transmission at full split weight. Excluding raw materials is safe because those are exactly the numbers the recompute will change, and it matches the thesis of the Atlas: capability means manufacturing, not extraction.
Consequently, "world trade" in panels 01, 03, and 04 means trade in the four manufactured CVCE roles (Processed Material, Product Component, Process Equipment, Final Product).
The segments taxonomy (panel 02)
The segments panel does not use the CVCE roles. It uses the Lab's supply-chain diversification taxonomy: 455 HS-6 products assigned to the ten chains and grouped into Upstream, Midstream, and Downstream segments, with electric vehicles counted as downstream of the battery chain and grid equipment (transformers, switchgear, converters, meters, cables) as downstream of the grid chain. Within a chain the taxonomy is duplicate-free; across chains, a small set of products (mostly upstream minerals and shared machinery) appears in more than one chain. The all-chains view therefore uses a primary assignment that counts each product exactly once, placing shared codes in the chain where they sit furthest downstream.
Trade values for this panel come from BACI HS12, 2012 to 2024: thirteen years on one nomenclature, so there are no classification breaks in the series. Codes introduced in later HS revisions (the dedicated solar cell and module codes, the electric-vehicle splits, and about fifty others) do not exist as categories in this vintage; their trade is recorded under the HS12 parent codes, which the taxonomy already includes for the major flows. Two real gaps follow: plug-in hybrids are excluded because in HS12 they share codes with conventional cars, and electrolyzers share one machinery code with electroplating equipment, so their downstream is small and not separable.
Derived metrics
- World share. A country's exports (or imports) divided by world exports (imports) of the selected chain in the same year.
- Share vs 2014. The 2024 share minus the 2014 share, in percentage points.
- CAGR 20y. Compound annual growth rate from 2005 to 2024 (19 year-steps). Shown as a dash when the 2005 base is below $5 million.
- CAGR 5y. Compound annual growth rate from 2019 to 2024.
- vs peak. The 2024 world export value of a chain relative to its best year in the window.
Country coverage in the panels
World totals always sum every economy in the source table (231 entries, of which 229 record trade in the 2005 to 2024 window). The country panels and the rankings table draw from a pre-computed union per chain: the top 15 economies by 2024 value and the top 20 by window-sum value, on each side of the ledger.
Clicking a country pivots the whole dashboard to that economy, on the side of trade it was clicked from: a click among the exporters (or an exporters table row) shows the economy's exports by chain and by segment; a click among the importers shows its imports. Clicking the same economy from the other side switches the side; clicking it again on the same side, the clear button, or Escape returns to the world view. The pivot is available for the 39 economies that appear in any chain's country list; panel titles, notes, and downloads always state the economy and the side.
With an economy pinned, the opposite country panel turns bilateral: pin an exporter and "Who buys it" shows the top destinations of that economy's exports in the selected chain, as shares of its total; pin an importer and "Who ships it" shows its top suppliers. Bilateral flows come from BACI on the Lab taxonomy, 2012 to 2024, and load on first use. The panel you clicked in keeps the world ranking so a different economy can always be chosen.
The table follows the same logic. With a chain selected, its second mode (relabeled Segments) disaggregates the chain's downstream into individual HS-6 products, each with its code, segment, growth, and path, with midstream and upstream aggregated as context rows so shares account for the whole chain (world exports, 2012 to 2024); with an economy also pinned it shows that economy's three tiers within the chain. With no chain selected it ranks the ten chains, or the pinned economy's ten-chain ledger. Two statistical residual codes (US Miscellaneous Pacific Islands and the pre-1999 Southern African Customs Union) are excluded from rankings but kept inside world totals. Taiwan's trade reports under BACI's "Other Asia, nes" code and is labeled Taiwan on the page.
Known caveats
- Nominal values. No deflation is applied. Solar module prices fell more than 80 percent over the window, and lithium-ion cell prices fell by a comparable magnitude. Dollar trade understates volume growth wherever prices collapsed.
- Dual-use inflation. The Wind component basket sweeps generic bearings, towers, gearboxes, and motors at full split weight; Heat Pumps include reversible air-conditioning units (HS 841581); Geothermal and Electrolyzers are mostly generic process equipment. Treat those chains' levels as upper bounds. Batteries is the cleanest of the ten baskets.
- Two lenses on one page. Panels 01, 03, and 04 (CVCE baskets, 2005 to 2024) and the segments panel (diversification taxonomy, HS12, 2012 to 2024) measure different code sets. The battery chain is the visible case: the segments panel includes electric vehicles, so its downstream total exceeds the batteries basket in the other panels.
- Nuclear's apparent top exporter. Indonesia leads the nuclear-chain export ranking because ferronickel (HS 720260) maps into the chain's Processed Material role at full weight. This is a dictionary artifact, not reactor exports, and it clears when the input-output recompute lands. The dashboard flags it wherever it is visible.
- Trade is not production. Export shares miss domestic production consumed at home. China's solar export share of about 24 percent coexists with a production share near 80 percent.
Reproduction
cd story-stations/clean-trade-pulse
python3 scripts/build_pulse_data.py # rebuild data/pulse.json (QA gates inside)
python3 scripts/extract_taxonomy.py # refresh the segment taxonomy from the workbook
python3 scripts/build_segments_data.py # rebuild data/segments.json from BACI HS12
python3 scripts/render_method_appendices.py # re-render this page
The build scripts exit non-zero if the technology set changes, the export-import identity breaks, role sums stop matching world totals, the all-chain aggregate stops matching the sum of chains, any series is incomplete, or downstream components stop summing to their tier total.
Markdown source on GitHub