Loading workbench page
Fetching primary parquet sources and computing exhibits.
Fetching primary parquet sources and computing exhibits.
Which economies embed the most productive knowledge in their exports, and which products require the most? The Economic Complexity Index (ECI) of Hidalgo & Hausmann (2009) extracts productive capability from the structure of what countries export: economies that export many products, and whose products are exported by few others, score high. The Product Complexity Index (PCI) scores goods by the capabilities needed to make them.
Hausmann, Hwang & Rodrik (2007) and Hausmann, Hidalgo et al.(2011) argue that what a country exports matters for the growth it can sustain. A country's ECI correlates strongly with log GDP per capita, and deviations from that relationship predict subsequent growth: economies with ECI above what their current income would suggest tend to grow faster. The scatter below reproduces Fig. 5 of Hausmann & Hidalgo (2011) The Atlas of Economic Complexity for 2024.
The ECI captures diversity (how many products a country exports with comparative advantage) weighted by ubiquity (how many others also export those products). Countries at the top export a wide set of goods, including those that few others can make. The values used here are from the eigenvalue (second-eigenvector) construction of the Atlas of Economic Complexity (Hausmann et al. 2011, building on Hidalgo & Hausmann 2009), standardised to mean ≈ 0, σ ≈ 1 across the cross-section each year, so negative values are not missing data but below-cross-section-mean complexity. The chart drops non-ISO3 BACI special codes (S19 'Other Asia, nes', S02, SCG) and economies with less than US$1B in total 2024 exports so that numerical ECI artefacts from micro-states (Niue, Andorra, Gibraltar) do not crowd out the frontier.
ECI is not fixed. Hidalgo & Hausmann (2009) showed that economies accumulate productive capabilities along paths defined by their existing basket, moving toward goods that share capabilities with what they already make (the 'product space'). The trajectories below pair three frontier economies (USA, Germany, Korea) with three that climbed fastest: China and Vietnam expanded into machinery and electronics from light manufacturing, while Bangladesh remains a textiles-heavy exporter.
The Product Complexity Index (PCI) inverts the calculation: a product scores high when few countries export it, and the countries that do are diversified. High-PCI goods tend to be in HS sections 16 (machinery & electronics), 18 (precision instruments), and 6 (specialty chemicals). Low-PCI goods are unprocessed commodities that many countries produce. The ranking below is for 2024.
Complexity is not evenly distributed across the product classification. Averaging PCI within each of the 21 HS sections gives a compact summary of where productive knowledge concentrates. Machinery, instruments, and chemicals lead; vegetable, mineral, and footwear products trail. Several sections have negative mean PCI in the spectral-eigenvector construction, those are not missing or filtered out, they are genuinely below-mean-complexity sections and are rendered as left-pointing bars from the zero line.
The ECI cross-section snapshot hides movement. Comparing each economy's rank in 1996with its rank in 2024 separates genuine upgrading from standing still. A positive 'delta' below means the country's rank improved (lower numeric rank value); negative means it fell. Sample restricted to economies with at least US$1B in 2024 total exports to suppress micro-state noise, and to BACI ISO3 codes (dropping S19, S02, SCG).
Method note.ECI is standardised each year to mean 0, unit variance across the cross-section (Hidalgo & Hausmann 2009), so a level drop can reflect other economies climbing. Rank mobility is the cleaner mobility statistic because it uses only the ordinal position within each year, which is invariant to the standardisation.
The rank-mover bars (Figs 6a, 6b) are ordinal: they tell you who climbed or fell, but not by how much in capability units. The level-on-level scatter below makes the persistence visible. Each dot is one economy with both a 1996 and a 2024 ECI; the 45-degree line marks 'no change'. Quah (1996, European Economic Review40(6-8): 1353-1375; 1997, JEG2(1): 27-59) calls this the cross-section transition view of mobility, the natural complement to a rank-change list. Distance above the 45-degree line is climb in raw ECI units (relative to peers); distance below is slip. Because ECI is re-standardised within year (Hidalgo & Hausmann 2009), the OLS slope tells you how much the cross-section shape itself persists, net of the within-year recentring.
The cross-section snapshots above hide the regional dynamics. Pooling economies into five UN M.49-style blocs and tracking the regional mean ECI across 1996-2024 asks a different question: has the productive-knowledge gap across regionsnarrowed? This is the ECI analogue of the income-convergence debate (Sala-i-Martin 1996; Johnson & Papageorgiou 2020, JEL): β-convergence is the regression of change on level, σ-convergence is the fall in cross-sectional dispersion over time. ECI is standardised within year (Hidalgo & Hausmann 2009), so regional means measure relative position. Their cross-region dispersion is the cleanest σ-convergence statistic available on a within-year standardised panel.
Figure 7 tracks the mean ECI per region. A sharper question, out of the Theil (1967, Economics and Information Theory, North-Holland, Ch. 4) decomposition of inequality, is how much of the cross-country ECI spread in a given year is within regions versus betweenthem. Because ECI is re-standardised each year to variance 1 across the full cross-section (Hidalgo & Hausmann 2009), the total regional-sample variance is bounded and the within/between split is directly interpretable as a percentage of that bound. We use the variance-based analogue, Vtotal = Vwithin + Vbetween, evaluated on the union of the five regional blocs already plotted in Figure 7, and report the between-region share. A rising between-share means regional baskets are pulling apart: complexity is increasingly a regional-club phenomenon, not a within-region dispersion story.
Figure 1 plots ECI against income. A separate question, flagged by Felipe et al.(2012, SCED 23(1): 36-68) and Mealy, Farmer & Teytelboym (2019, Science Advances 5(1)), is whether ECI mechanically rewards export volume: a country with more HS6 lines has more chances to score RCA ≥ 1, hence more opportunities to be counted as diversified. To read a country's ECI as capability, not raw size, we regress ECI on log10(total exports, USD) across the 2024 cross-section and report the residual. Positive residuals are the complexity premium: basket sophistication exceeding what export volume alone would predict. Negative residuals are the opposite: large exporters whose baskets are surprisingly commoditised.
Complexity is a description of productive knowledge implied by what a country already sells. The figures above deliver four operational points. (1) Income and complexity are tightly linked cross-sectionally (r = 0.79 in 2024), but the residual is informative: economies that punch above their income on ECI tend to grow faster over the next decade (Hausmann et al. 2011, Ch. 3). (2) The frontier is a small club dominated by East Asian and West European manufacturing hubs; non-club entry is rare and slow. (3) High- PCI products concentrate in machinery, instruments, and specialty chemicals; these are the capabilities structural-transformation policy has to build. (4) Rank mobility is concrete: PHL has moved 73 places since 1996, while IRQ has lost 173. For industrial policy, the useful question is not 'what is our ECI?' but 'which adjacent products in the product space (Hidalgo et al. 2007) can our existing capabilities unlock next?'
References. Hidalgo, C. A. & Hausmann, R. (2009). 'The Building Blocks of Economic Complexity.' PNAS 106(26): 10570-10575. Hausmann, R., Hidalgo, C. A., Bustos, S., Coscia, M., Simoes, A. & Yildirim, M. A. (2011). The Atlas of Economic Complexity: Mapping Paths to Prosperity. MIT Press (2nd expanded edition). Hausmann, R., Hwang, J. & Rodrik, D. (2007). 'What You Export Matters.' Journal of Economic Growth 12(1): 1-25. Hidalgo, C. A., Klinger, B., Barabási, A.-L. & Hausmann, R. (2007). 'The Product Space Conditions the Development of Nations.' Science 317(5837): 482-487. Hausmann, R. & Klinger, B. (2007). 'The Structure of the Product Space and the Evolution of Comparative Advantage.' CID Working Paper 146. Imbs, J. & Wacziarg, R. (2003). 'Stages of Diversification.' American Economic Review 93(1): 63-86. Johnson, P. & Papageorgiou, C. (2020). 'What Remains of Cross-Country Convergence?' Journal of Economic Literature 58(1): 129-175. Mealy, P., Farmer, J. D. & Teytelboym, A. (2019). 'Interpreting economic complexity.' Science Advances 5(1): eaau1705. Felipe, J., Kumar, U., Abdon, A. & Bacate, M. (2012). 'Product complexity and economic development.' Structural Change and Economic Dynamics 23(1): 36-68. Sala-i-Martin, X. X. (1996). 'The Classical Approach to Convergence Analysis.' Economic Journal 106(437): 1019-1036.
WITH paired AS (
SELECT country_code,
MAX(CASE WHEN year=1996 THEN eci END) AS eci_first,
MAX(CASE WHEN year=2024 THEN eci END) AS eci_latest
FROM 'data/parquet/eci_rankings.parquet'
WHERE year IN (1996, 2024) GROUP BY country_code
)
SELECT c.iso3, p.eci_first, p.eci_latest
FROM paired p
JOIN 'data/parquet/countries.parquet' c ON c.code = p.country_code
WHERE p.eci_first IS NOT NULL AND p.eci_latest IS NOT NULL
AND regexp_matches(c.iso3, '^[A-Z0-9]{3}$');WITH cmap AS (SELECT MIN(code) AS code, iso3
FROM 'data/parquet/countries.parquet' GROUP BY iso3)
SELECT c.iso3, e.year, e.eci
FROM 'data/parquet/eci_rankings.parquet' e
JOIN cmap c ON c.code = e.country_code
WHERE c.iso3 IN ('CHN','JPN','KOR','HKG','MNG','PRK','IDN','MYS','PHL','SGP','THA','VNM','KHM','LAO','MMR','BRN','IND','PAK','BGD','LKA','NPL','BTN','AFG','MDV','AUT','BEL','CHE','DEU','DNK','ESP','FIN','FRA','GBR','IRL','ITA','LUX','NLD','NOR','PRT','SWE','NGA','ZAF','KEN','ETH','GHA','CIV','SEN','TZA','UGA','CMR','AGO','ZMB','MOZ','ZWE','MDG')
AND e.year BETWEEN 1996 AND 2024;WITH cmap AS (SELECT MIN(code) AS code, iso3 FROM 'data/parquet/countries.parquet' GROUP BY iso3),
totals AS (SELECT country_code, total_exports*1000 AS tot_usd
FROM 'data/parquet/country_year_totals.parquet' WHERE year=2024)
SELECT c.iso3, e.eci, t.tot_usd
FROM 'data/parquet/eci_rankings.parquet' e
JOIN cmap c ON c.code = e.country_code
JOIN totals t ON t.country_code = e.country_code
WHERE e.year=2024 AND t.tot_usd >= 1e9 AND regexp_matches(c.iso3, '^[A-Z0-9]{3}$');