Fetching primary parquet sources and computing exhibits.
workbench · methodology & bibliography
Methodology, units, and bibliography
Every page in the /x tree cites the paper behind the method and the data vintage behind the number. This page is the consolidated reference: what we use, where it comes from, how we compute it, what units it is carried in, and which papers the estimators are from.
Nothing on this page queries a database. It is prose and references. The workbench's discipline is that each figure elsewhere in the tree embeds the SQL that produced it, next to the literature behind the method. Readers who want to audit a number can read the SQL, re-run it against the Parquet files, and cross-check the formula against the cited paper.
Data sources
All data is open or redistributable. Upstream URLs and licenses are listed below. Local Parquet mirrors are regenerated from upstream releases on a scheduled cadence.
CEPII BACI, bilateral trade in goods
Release: BACI 202501 (retrieved 2026-04-28). Coverage: 238 reporter/partner territories, 5,022 HS6 product codes, years 1995-2024. Reconciled mirror flows, f.o.b. basis, values in thousands of current USD, quantities in metric tons. Underlying source: UN Comtrade. The reconciliation procedure is documented in Gaulier & Zignago (2010). Used on: world, country, product, bilateral, rankings, complexity, product-space, gravity, tariffs, quality, structural-change, supply-chain, food-security, historical.
Release: V202411. Country pairs with distance (weighted by population), contiguity, common official language, colonial history, RTA dummies, and GDP series. Used on: gravity, bilateral, trade-costs. URL: cepii.fr/CEPII/en/bdd_modele/bdd_modele_item.asp?id=8. License: CEPII open.
CEPII TRADHIST, 200 years of bilateral trade
Release: coverage 1827-2014. Bilateral exports and imports reconstructed from customs records and trade yearbooks, in current USD. Used on: historical, long-run globalization figures. Primary reference: Fouquin & Hugot (2016). URL: cepii.fr/CEPII/en/bdd_modele/bdd_modele_item.asp?id=32.
ESCAP-World Bank Trade Costs
Bilateral ad-valorem trade-cost equivalents derived from Novy's (2013) inverted-gravity identity. Sector breakdown (agriculture, manufacturing) and time series 1995-present. Used on: trade-costs. URL: unescap.org/resources/escap-world-bank-trade-cost-database. License: open data, citation of Arvis, Duval, Shepherd, Utoktham & Raj (2016).
WITS / TRAINS, preferential and MFN tariffs
UNCTAD TRAINS tariff schedules through the World Bank's WITS portal. Simple and trade-weighted averages at HS6 by reporter, partner, year. Used on: tariffs, supply-chain cost decomposition, bilateral margins. URL: wits.worldbank.org. License: WITS terms, citation required.
WTO / UNCTAD NTM, non-tariff measures
UNCTAD MAST-classified non-tariff measures (SPS, TBT, quantitative restrictions, price controls) aggregated to country-product intensity and product-level coverage ratios. Used on: ntm. URL: trains.unctad.org. Primary reference: UNCTAD (2019) MAST handbook.
Monthly and annual international commodity prices, 71 series, 1960-present. Used on: commodities, food-security, terms-of-trade decompositions. URL: worldbank.org/en/research/commodity-markets. License: CC-BY-4.0.
IMF BoP, IFS, WEO, IIP
Balance-of-Payments (BPM6), International Financial Statistics, World Economic Outlook, and International Investment Position. Used on: macro country profiles (current account, REER, NEER, IIP, terms of trade), Feldstein-Horioka tests. URL: data.imf.org. License: IMF open data.
FAOSTAT
FAO trade matrix, food-balance sheets, and production data. Used on: food-security, agricultural trade, SSR calculations. URL: fao.org/faostat. License: CC-BY-4.0. Values in 1,000 USD (multiply by 1000 for display).
OECD TiVA
OECD Trade in Value Added database, 2023 edition. Decomposes gross exports into domestic and foreign value added, backward and forward participation in global value chains, and upstreamness. Reports at the country-industry level for 77 economies and 45 ISIC Rev.4 industries, 1995-2020. Used on: gvc, structural-change, upstreamness computations. URL: oecd.org/sti/ind/measuring-trade-in-value-added.htm. License: OECD terms, free for research with attribution. Primary reference: Koopman, Wang & Wei (2014) AER.
Methods
Each method below is stated as a formula, tagged with the primary paper, and linked to the pages where it appears. Notation: c = country, p = product (HS6), t = year, xcpt = exports of product p by country c in year t.
Figure 1
Methods catalogued on this page, by family
The seventeen methods documented below cluster into six families. Complexity-and-product-structure (RCA, ECI, PCI, proximity, Lall) dominates because the workbench was built around the Hausmann-Hidalgo programme; gravity and trade-cost methods carry the bilateral and pair-level pages; similarity and sophistication (Finger-Kreinin, EXPY/PRODY, Imbs-Wacziarg, upstreamness) carry the basket-comparison and structural-change pages. Causal identification (ADH, tariff pass-through) is the smallest family because public BACI plus CEPII Gravity cannot stand in for the firm-level micro that drives the canonical causal papers.
Source: counted from the method entries listed below on this page.
Revealed Comparative Advantage (RCA)
RCAcp = (xcp / Σp′ xcp′) / (Σc′ xc′p / Σc′p′ xc′p′). A country has revealed comparative advantage in product pwhen RCA > 1. Dimensionless ratio; do not currency-format. Primary reference: Balassa (1965). Appears on: country, product, complexity, product-space, rankings, structural-change.
Economic Complexity Index (ECI)
Build the binary country-product matrix Mcp = 1[RCAcp ≥ 1]. ECI is the second eigenvector of the country-country projection M·diag(1/kp)·MT·diag(1/kc) where kc is country diversification and kpis product ubiquity. Standardized to zero mean, unit variance. Primary reference: Hidalgo & Hausmann (2009) PNAS. Appears on: country, complexity, rankings, structural-change.
Product Complexity Index (PCI)
Product-side analogue of ECI: second eigenvector of the product-product projection of the same M matrix. Zero-centered and routinely negative for low-complexity products. Never filter negatives.Primary reference: Hidalgo & Hausmann (2009). Appears on: product, country basket plots, rankings, quality.
Product proximity
φpp′ = min(P(RCAp | RCAp′), P(RCAp′ | RCAp)). Conditional co-export probability between two products across countries; proxies how similar the underlying productive capabilities are. Stored as a symmetric upper-triangle. Primary reference: Hidalgo, Klinger, Barabási & Hausmann (2007) Science. Appears on: product-space, country basket frontier.
Herfindahl-Hirschman Index (HHI)
HHI = Σi si2, with shares si summing to one. Range [1/N, 1]. The effective number of equally-sized lines is Ne = 1/HHI. US DOJ thresholds (Horizontal Merger Guidelines 2010): unconcentrated < 0.15, moderately concentrated 0.15-0.25, highly concentrated > 0.25. Primary reference: Adelman (1969). Appears on: country (export diversification), product (supplier concentration), supply-chain.
Unit-value quality
Within an HS6 code, dispersion of export unit values (USD per ton or per unit) across exporters is treated as a proxy for vertical differentiation: high unit-value = quality end of the ladder. The quality residual from Khandelwal (2010) orthogonalizes unit values against a demand index to back out unobserved quality. Primary references: Schott (2004) QJE; Khandelwal (2010) RESTUD. Appears on: quality, product.
Gravity of trade
Xij = G · (Yi Yj / Yw) · (tij / (Πi Pj))1−σ. Bilateral trade is proportional to the product of economic masses and inversely proportional to bilateral trade costs, deflated by the outward (Πi) and inward (Pj) multilateral resistance terms. Primary references: Tinbergen (1962); Anderson & van Wincoop (2003) AER. Practitioner guide: Head & Mayer (2014). Appears on: gravity, trade-costs, bilateral.
Gravity PPML estimator
Poisson Pseudo-Maximum Likelihood estimator for gravity. Handles log-of-zero trade flows naturally (does not drop zero observations), is consistent under heteroskedasticity of the multiplicative residual, and gives elasticities directly on the constant-elasticity gravity equation. Primary reference: Santos Silva & Tenreyro (2006) RES. Appears on: gravity, trade-costs, tariff elasticity.
Inverted-gravity trade costs (Novy)
τij = (Xii Xjj / (Xij Xji))1/(2(σ−1)) − 1. Ad-valorem trade-cost equivalent backed out of observed bilateral and domestic trade, under the Anderson-van Wincoop structure. Primary reference: Novy (2013) EI; ESCAP implementation: Arvis et al. (2016). Appears on: trade-costs, bilateral corridor decompositions.
Finger-Kreinin similarity
FKcc′ = Σp min(scp, sc′p) where scp is country c's share of exports in product p. Range [0, 1]. Measures competitive overlap of two export baskets. Primary reference: Finger & Kreinin (1979) EJ. Appears on: rankings (competitor overlap), country.
Feldstein-Horioka
Cross-country regression of investment-to-GDP on saving-to-GDP: a coefficient close to one is read as a low degree of international capital mobility. Primary reference: Feldstein & Horioka (1980) EJ. Appears on: macro.
Lall technology classification
Maps SITC/HS products into five technology tiers: primary products, resource-based manufactures, low-, medium-, and high-technology manufactures. Primary reference: Lall (2000) Oxford Development Studies. Appears on: structural-change.
Sophistication index (EXPY, PRODY)
PRODYp = Σc (RCAcp / Σc′ RCAc′p) · GDPpcc;EXPYc = Σp scp · PRODYp. What the country exports looks like what rich countries export when EXPY is high. Primary reference: Hausmann, Hwang & Rodrik (2007) JEG. Appears on: structural-change, rankings.
Structural transformation (Imbs-Wacziarg)
Concentration-then-diversification U-shape in sectoral value-added shares across development levels. Primary reference: Imbs & Wacziarg (2003) AER. Appears on: structural-change, country composition discussion.
Upstreamness (Antràs-Chor)
Ui = 1 + Σj (dij Yj / Yi) Uj, where dij is the dollar of industry i's output used by industry j per dollar of j's output and Yis gross output. Measures the average number of production stages between an industry and final demand; higher U = further upstream. Closed form follows the Leontief iteration on the inter-industry use matrix. Primary references: Antràs, Chor, Fally & Hillberry (2012) AER P&P; Antràs & Chor (2013) Econometrica. Appears on: gvc, supply-chain, structural-change.
China-shock DiD (ADH)
Exposure-weighted difference-in-differences identifying local-labor-market effects of a trade shock using commuting-zone variation in import exposure. Primary reference: Autor, Dorn & Hanson (2013) AER. Appears on: structural-change narrative.
Tariff pass-through and event studies
Event-study specifications around tariff announcements, with product-level import values and unit values as outcomes. Primary references: Amiti, Redding & Weinstein (2019) JEP; Fajgelbaum, Goldberg, Kennedy & Khandelwal (2020) QJE. Appears on: tariffs, quality, supply-chain narratives.
Unit conventions
BACI/CEPII values
Stored in thousands of current USD. Multiply by 1000 before display. f.o.b. basis for exports, c.i.f. for imports.
BACI quantities
Metric tons. Unit values computed only when quantity is positive; otherwise NULL.
FAOSTAT trade values
Also thousands of USD (same convention as BACI).
Pink Sheet prices
Nominal current USD per physical unit (per barrel for oil, per metric ton for grains, etc.). Units are carried on the series label; never cross-aggregate without checking.
IMF BoP sign convention
BPM6: credits positive, debits negative; current account = goods + services + primary income + secondary income. Financial-account sign convention is the opposite of BPM5; we carry BPM6 throughout.
ISO3 codes
Always UPPERCASE three-letter codes before any database query. Dedupe on iso3 (BACI country codes split some territories across years, e.g. Belgium-Luxembourg, East/West Germany, Sudan/South Sudan).
HS6 codes
Six-character strings, zero-padded (e.g. 010121). Never cast to integer, leading zeros matter.
PCI
Zero-centered, routinely negative. Standardized to unit variance across the global HS6 panel per year. Do not filter negatives.
RCA
Dimensionless ratio. Range (0, ∞). Do not currency-format. Threshold: RCA ≥ 1 for revealed comparative advantage.
ECI
Dimensionless. Standardized (mean 0, variance 1) within each year across the ranked country panel.
HHI
Dimensionless, range [1/N, 1]. Effective-N = 1/HHI.
REER/NEER
Index, base period varies by source. Up = appreciation. Always display the base year.
Reproducibility
All figures on this site are produced by server-side DuckDB queries over ZSTD-compressed Parquet files in data/parquet/. Total footprint: 1.4 GBParquet versus 20 GB SQLite, a 16× reduction on the BACI tables alone. Each figure exposes the SQL that produced it via a <details>element below the chart.
Partitioned tables are shaped as {table}/year={YYYY}/*.parquet so that year-filtered queries prune the partitions rather than scanning the full panel. Partitioned tables: country_year_product, country_year_product_ext, bilateral_year, unit_values, rca_matrix, product_proximity, pref_tariff_hs6, gravity_bilateral. All other tables are single-file Parquet.
Query pattern:
SELECT CAST(year AS INTEGER) AS year,
SUM(export_value) * 1000 AS value_usd
FROM read_parquet('data/parquet/country_year_product/**/*.parquet')
WHERE country_code = $1
GROUP BY year
ORDER BY year;
Cross-year aggregations finish under 100 ms on a laptop with the Parquet files cached. The workbench runs as a Next.js 16 server component tree: no client-side data fetching, no REST hops, no ORM. DuckDB is called in-process via the @/lib/duckdb helper; results are typed through TypeScript interfaces and passed straight into SVG chart components.
Parquet files are regenerated from upstream releases by scripts in data/scripts/. The regeneration commit hash is carried in the file metadata where the upstream source supports it, and the upstream release date is recorded in data/parquet/MANIFEST.md.
Computational notes
Three DuckDB query patterns recur across the workbench. Documenting them here keeps the per-figure SQL short and avoids re-explaining the same idioms on every page.
Window functions for shares and rankings. World-share and within-year-rank calculations use SUM(...) OVER (PARTITION BY year) rather than a self-joined tot subquery. One pass over the partitioned parquet, no join fan-out, and the share column is computed next to the raw value. This is the pattern behind the HHI on the world page and the RCA numerator on country pages:
SELECT year,
country_code,
total_exports,
total_exports / SUM(total_exports) OVER (PARTITION BY year) AS world_share,
ROW_NUMBER() OVER (PARTITION BY year ORDER BY total_exports DESC) AS rank
FROM read_parquet('data/parquet/country_year_totals.parquet');
Self-joins for t−1 lags and growth. Year-on-year growth, export-survival durations, and any lagged regressor on annual panels use a self-join on (iso3, year − 1) against the same table. DuckDB exploits the Parquet min/max statistics to prune partitions on both sides of the join. Window functions (LAG(x) OVER (PARTITION BY iso3 ORDER BY year)) are equivalent and sometimes preferable when the panel is strictly balanced; we use self-joins when the panel has gaps or when the analyst needs two rows side by side:
SELECT t.iso3,
t.year,
t.exports AS x_t,
tm1.exports AS x_tm1,
(t.exports - tm1.exports) / NULLIF(tm1.exports, 0) AS g
FROM totals t
LEFT JOIN totals tm1
ON tm1.iso3 = t.iso3
AND tm1.year = t.year - 1;
GROUP BY iso3 deduplication before joining. The countries.parquet dimension has duplicate ISO3 rows for territories whose UN M.49 numeric code changed across BACI vintages (Belgium-Luxembourg, East/West Germany, Sudan / South Sudan). A naive join on code = country_code fans out those countries by the number of historical codes. Every country-level aggregate on the site aggregates first to iso3, then joins:
SELECT c.iso3,
COALESCE(ANY_VALUE(c.name) FILTER (WHERE c.name NOT LIKE '%(...%'), MIN(c.name)) AS name,
SUM(t.total_exports) * 1000 AS exports_usd
FROM read_parquet('data/parquet/country_year_totals.parquet') t
JOIN read_parquet('data/parquet/countries.parquet') c
ON c.code = t.country_code
WHERE t.year = 2024 AND UPPER(c.iso3) = c.iso3
GROUP BY c.iso3
ORDER BY exports_usd DESC;
Three other conventions worth naming: ISO3 is upper-cased before the join, not after (keeps the comparison on the indexed key); HS6 is carried as VARCHAR(6)to preserve leading zeros; and any figure that shows BACI or FAOSTAT values multiplies by 1,000 at the SELECT level so downstream TypeScript sees USD, not thousands of USD. The unit is asserted in the SQL, not in the chart.
Visualization catalog
Chart types used across the workbench, with the decision rule for each. Every chart is server-rendered SVG from src/x/components/charts.tsx; there is no client chart library on analytical pages. When in doubt, prefer the type whose shape directly encodes the claim being made.
Line chart
Use for continuous time series where the claim is about the trajectory: world trade 1995-2024, trade/GDP ratios, HHI over time, commodity prices. Multiple series stack on one axis when they share units (shares, indices). Never use for categorical data. Appears on: world, commodities, monthly, exchange-rate, historical.
Bar chart (horizontal)
Use for cross-sectional league tables where the claim is about rank: top-15 exporters in a year, top tariff lines, bilateral flows above a threshold. Horizontal bars because country and product names are long. Not for time series. Appears on: world, rankings, country, tariffs.
Scatter plot
Use when the claim is about a relationship between two continuous measures: ECI vs log GDP per capita (Hidalgo-Hausmann), PPML residuals against distance (Silva-Tenreyro), FDI intensity vs trade cost. Points coloured by continent or income group when the third dimension matters. Appears on: complexity, gravity, GVC, replications.
World map (choropleth)
Use when the claim is geographic: where in the world a measure sits. Topology lives at public/data/world-110m.json. Suitable for level variables (exports, tariff averages) and for changes (growth, share-shift). Not for variables with high within-country variance (use sub-national panels instead when available). Appears on: world, rankings, tariffs, supply-chain.
Stacked area
Use when the claim is about composition over time: HS section shares of world exports, export-basket decomposition by Lall tech tier, within-country product concentration. Shares must sum to a meaningful total; do not stack nominal levels. Appears on: world (Fig 3), structural-change, country composition.
Network graph (node-link)
Use when the claim is about bilateral structure: top-30 country pairs by flow, the product-space relatedness graph (Hidalgo, Klinger, Barabási & Hausmann 2007), trade-partner communities. Node positions from country centroids where the geography matters; from a force layout where only relatedness matters. Thickness encodes flow; colour encodes cluster. Appears on: world (Fig 6), product-space, bilateral.
Sankey / flow diagram
Use when the claim is about redirection: Russian oil from EU to India and China post-2022, semiconductor value capture across the production chain, Bangladesh apparel moving up the US importer list. Width proportional to flow; colour bands preserve source identity across the diagram. Appears on: sector monitors, GVC.
Small multiples
Use when the claim is that the same pattern repeats across units: ten sectors each with their own HHI trajectory, twenty research pages each with their own time series. Identical axes across panels so the reader can compare shapes directly. Appears on: monitor, sectors, rankings.
Coefficient plot (forest plot)
Use when the claim is about point estimates with uncertainty: regression coefficients with confidence intervals, event-study lead/lag coefficients, elasticity estimates across specifications. Dots for point estimates, horizontal bars for CIs, a vertical reference line at zero or the null. Appears on: replications, impact, structural-change.
Table
Use when the claim is about a small set of precise numbers the reader is meant to compare row by row: replication vs workbench estimate, country scorecards, tariff schedules. Never use a chart where a four-row table communicates the fact more precisely. Appears on: replications, scorecards, data catalogue.
Caveats we take seriously
Five limitations shape everything on the workbench and are worth naming plainly before the longer catalogue below. They are the places where 'read the SQL' is not enough: the data vintage or the reconciliation logic itself is the binding constraint, and the reader has to carry the caveat in their head for the number to mean what it looks like it means.
Mirror-flow reconciliation
BACI reconciles exporter and importer reports through the Gaulier & Zignago (2010) weighting procedure to recover a single bilateral value per exporter-importer-HS6-year triple. The reconciliation cannot recover flows that neither side reports; it can only down-weight the less reliable report when both exist. Where one side is silent (informal cross-border trade in sub-Saharan Africa, sanctions-era re-routing through opaque intermediaries, misinvoicing of capital-flight-driven trade), the bilateral total is systematically biased downward and the identity of the counterparty is blurred. Read low-income-country totals and sanctions-era Russia flows as lower bounds.
BACI 2-year publication lag
The current release, BACI 202501 (retrieved 2026-04-28), carries reconciled HS6 bilateral trade through 2024. CEPII needs the full year of Comtrade filings plus the reconciliation pass, which together run about 12-18 months after year-end. Any claim about the most recent eight quarters on the workbench is a BACI claim for the year that is now complete, not a real-time reading. For near-real-time moves, the Comtrade-based sector monitor pages (/monitor) and the monthly page (/monthly) are the right entry points; anything on the analytical pages is reconciled annual data.
HS revision breaks
The Harmonized System has been revised in 1996, 2002, 2007, 2012, 2017, and 2022. BACI backcasts products to the HS92 base classification where a concordance exists, but not every product has a clean one-to-one mapping and some categories split or merge across revisions (HS2007 pulled laptops out of office machines; HS2022 added new EV and LED codes; chemicals and plastics were restructured in HS2017). Six-digit time series that cross a revision boundary should be read with caution: a break in 2007 or 2022 can be revision noise, not a real trade shock. Section- and chapter-level aggregates are more robust; HS6 series are reliable within a revision window.
TiVA ending 2020
The OECD Trade in Value Added database is the structural backbone behind every GVC, upstreamness, and domestic-value-added figure on the workbench. The current (2023) edition covers 1995-2020, which means TiVA-based numbers stop five years before BACI does. Any claim about post-2020 global value-chain participation or foreign value-added share is necessarily a projection from the 2020 frame plus the gross-flow trajectory since; the workbench never splices a TiVA-era number onto a post-2020 label. Read upstreamness and FVA shares as 2020 snapshots unless explicitly marked as gross-flow approximations.
IMF WEO forecast vintage dependence
Macro trajectories on the country and macro pages (current-account/GDP, trade/GDP forecasts, growth paths) carry IMF World Economic Outlook projections for years the IMF has not yet observed. WEO is released twice a year (April and October) and each vintage revises all prior projections. A 2026 current-account projection lifted from WEO April 2024 is not the same number as the October 2025 reading, even though both are labeled '2026.' The workbench pins the WEO vintage in the source line of every figure that uses projection years; cross-page comparisons across WEO vintages should not be made without re-fetching from a single release.
Caveats and known limitations
Mirror-flow reconciliation
BACI reconciles exporter and importer reports but cannot recover flows that neither side reports. Low-capacity customs administrations, informal cross-border trade, and misinvoicing all bias totals downward, especially in sub-Saharan Africa and conflict zones.
c.i.f. vs f.o.b. wedge
BACI values are f.o.b.; import-side mirrors are c.i.f. Aggregate world imports exceed world exports by the c.i.f.-f.o.b. margin (historically ~8%). Do not compare export and import totals without accounting for this.
HS revisions
HS has been revised in 1996, 2002, 2007, 2012, 2017, and 2022. BACI backcasts to HS92 concordance where possible, but product-level time series across revisions should be read with caution (e.g. laptops moved chapters in HS2007).
Country coverage breaks
Belgium-Luxembourg split in 1999, East and West Germany reunified in 1990, Sudan split in 2011, Serbia-Montenegro split in 2006. The countries.parquet dimension has duplicate iso3 rows for some of these; always GROUP BY iso3 before joining to avoid double-counting.
Tariff coverage
WITS/TRAINS preferential tariff coverage is patchy before 2000 and uneven across reporters. Tariff-line to HS6 aggregation is via simple and trade-weighted means; both can mask line-level variation.
Pass-through and elasticity estimates
Armington elasticities used in /tariff-lab are drawn from Broda & Weinstein (2006) and Caliendo & Parro (2015). They are industry averages, not event-specific. Do not read them as structural estimates of any particular shock.
ECI/PCI identification
ECI and PCI are second-eigenvector constructs; their sign is arbitrary and pinned by convention. Cross-vintage comparisons require re-standardization. We report values pinned to Hidalgo & Hausmann (2009) sign conventions.
TRADHIST pre-1948
Coverage thin for colonial dependencies, intermittent for Latin America and Asia before 1900. Values in current USD of the day; deflate with period-appropriate price indices before comparing to post-1950 series.
Upstreamness on TiVA
OECD TiVA covers 77 economies only; rest-of-world is lumped. Upstreamness at the country level averages across industries that produce at very different depths, so interpret cross-country U with industry mix in mind.
Bibliography
References cited across the workbench, alphabetically by first author. Volume and issue given where the publication carries them.
Adelman, M. A. (1969). 'Comment on the H Concentration Measure as a Numbers-Equivalent.' Review of Economics and Statistics, 51(1), 99-101.
Amiti, M., Redding, S. J., & Weinstein, D. E. (2019). 'The Impact of the 2018 Tariffs on Prices and Welfare.' Journal of Economic Perspectives, 33(4), 187-210.
Anderson, J. E., & van Wincoop, E. (2003). 'Gravity with Gravitas: A Solution to the Border Puzzle.' American Economic Review, 93(1), 170-192.
Arvis, J.-F., Duval, Y., Shepherd, B., Utoktham, C., & Raj, A. (2016). 'Trade Costs in the Developing World: 1996-2010.' World Trade Review, 15(3), 451-474.
Antràs, P., & Chor, D. (2013). 'Organizing the Global Value Chain.' Econometrica, 81(6), 2127-2204.
Antràs, P., Chor, D., Fally, T., & Hillberry, R. (2012). 'Measuring the Upstreamness of Production and Trade Flows.' American Economic Review Papers & Proceedings, 102(3), 412-416.
Autor, D. H., Dorn, D., & Hanson, G. H. (2013). 'The China Syndrome: Local Labor Market Effects of Import Competition in the United States.' American Economic Review, 103(6), 2121-2168.
Balassa, B. (1965). 'Trade Liberalisation and 'Revealed' Comparative Advantage.' The Manchester School, 33(2), 99-123.
Fajgelbaum, P. D., Goldberg, P. K., Kennedy, P. J., & Khandelwal, A. K. (2020). 'The Return to Protectionism.' Quarterly Journal of Economics, 135(1), 1-55.
Feenstra, R. C. (1994). 'New Product Varieties and the Measurement of International Prices.' American Economic Review, 84(1), 157-177.
Feldstein, M., & Horioka, C. (1980). 'Domestic Saving and International Capital Flows.' Economic Journal, 90(358), 314-329.
Finger, J. M., & Kreinin, M. E. (1979). 'A Measure of 'Export Similarity' and Its Possible Uses.' Economic Journal, 89(356), 905-912.
Fouquin, M., & Hugot, J. (2016). 'Two Centuries of Bilateral Trade and Gravity Data: 1827-2014.' CEPII Working Paper 2016-14.
Gaulier, G., & Zignago, S. (2010). 'BACI: International Trade Database at the Product-Level. The 1994-2007 Version.' CEPII Working Paper 2010-23.
Grossman, G. M., & Rossi-Hansberg, E. (2008). 'Trading Tasks: A Simple Theory of Offshoring.' American Economic Review, 98(5), 1978-1997.
Hausmann, R., Hwang, J., & Rodrik, D. (2007). 'What You Export Matters.' Journal of Economic Growth, 12(1), 1-25.
Head, K., & Mayer, T. (2014). 'Gravity Equations: Workhorse, Toolkit, and Cookbook.' In G. Gopinath, E. Helpman, & K. Rogoff (Eds.), Handbook of International Economics, Vol. 4, 131-195. Elsevier.
Helpman, E., Melitz, M., & Rubinstein, Y. (2008). 'Estimating Trade Flows: Trading Partners and Trading Volumes.' Quarterly Journal of Economics, 123(2), 441-487.
Hidalgo, C. A., & Hausmann, R. (2009). 'The Building Blocks of Economic Complexity.' Proceedings of the National Academy of Sciences, 106(26), 10570-10575.
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.
Imbs, J., & Wacziarg, R. (2003). 'Stages of Diversification.' American Economic Review, 93(1), 63-86.
Khandelwal, A. (2010). 'The Long and Short (of) Quality Ladders.' Review of Economic Studies, 77(4), 1450-1476.
Koopman, R., Wang, Z., & Wei, S.-J. (2014). 'Tracing Value-Added and Double Counting in Gross Exports.' American Economic Review, 104(2), 459-494.
Krugman, P. (1980). 'Scale Economies, Product Differentiation, and the Pattern of Trade.' American Economic Review, 70(5), 950-959.
Lall, S. (2000). 'The Technological Structure and Performance of Developing Country Manufactured Exports, 1985-98.' Oxford Development Studies, 28(3), 337-369.
Melitz, M. J. (2003). 'The Impact of Trade on Intra-Industry Reallocations and Aggregate Industry Productivity.' Econometrica, 71(6), 1695-1725.
Novy, D. (2013). 'Gravity Redux: Measuring International Trade Costs with Panel Data.' Economic Inquiry, 51(1), 101-121.
Santos Silva, J. M. C., & Tenreyro, S. (2006). 'The Log of Gravity.' Review of Economics and Statistics, 88(4), 641-658.
Schott, P. K. (2004). 'Across-Product versus Within-Product Specialization in International Trade.' Quarterly Journal of Economics, 119(2), 647-678.
Tinbergen, J. (1962). Shaping the World Economy: Suggestions for an International Economic Policy. New York: Twentieth Century Fund.
UNCTAD (2019). International Classification of Non-Tariff Measures, 2019 Version. Geneva: United Nations.
US Department of Justice & Federal Trade Commission (2010). Horizontal Merger Guidelines. Washington, DC.
Yotov, Y. V., Piermartini, R., Monteiro, J.-A., & Larch, M. (2016). An Advanced Guide to Trade Policy Analysis: The Structural Gravity Model. Geneva: WTO.
Citation
If this workbench is useful in a paper, policy brief, or report, cite:
Hossen, M. D. (2026). TradeWeave Workbench. tradeweave.org/x. Data: CEPII BACI 202501 (retrieved 2026-04-28) release.