Fetching primary parquet sources and computing exhibits.
industrial policy · product space
What is next door to Viet Nam's export basket?
Countries do not diversify at random. They jump into products that share capabilities with what they already make, tracing a walk on the Hausmann-Hidalgo product space (Hidalgo, Klinger, Barabási & Hausmann 2007). For Viet Nam in 2024, this page isolates the HS6 products the country does notyet export with revealed comparative advantage (RCA ≥ 1) but which sit closest to the basket it already has. These are the candidate entries for export strategy and targeted industrial policy.
countryVNM · Viet Nam
year2024
RCA ≥ 1 basket1,043 HS6
candidate products3,972
basket export value$445.4B
weighted PCI (current)-0.26
The basket today
Revealed comparative advantage is Balassa's (1965) classic: RCA(c, p) = (Xcp / Xc) / (Xwp / Xw). A country has RCA in a product when the product's share of its export basket exceeds the product's share of the world export basket. We flag every HS6 with RCA ≥ 1 in 2024 as in the country's current competitive basket, and size each by current export value (BACI values are stored in thousands USD and multiplied by 1,000 for display). The top 20 lines carry most of the basket mass.
Figure 1
Viet Nam: current RCA >= 1 basket, top 20 by export value (2024)
Scroll horizontally to view the full chart.
Adjacency density on the product space
Density ω(c, p) = Σp′φ(p, p′) × M(c, p′) / Σp′φ(p, p′), where M(c, p′) = 1 if RCA(c, p′) ≥ 1 and 0 otherwise (Hausmann & Hidalgo 2011, Atlas of Economic Complexity, chapter 2). Proximity φ is the minimum conditional probability that a country with RCA in one product also has RCA in the other (Hidalgo et al. 2007). Density runs from 0 to 1: high means the product's capability neighbourhood is already largely occupied by Viet Nam's basket. The 30 highest-density non-RCA products in 2024 are shown below.
Figure 2
Viet Nam: top 30 adjacent HS6 products by density, 2024
Scroll horizontally to view the full chart.
Recommended entry candidates
The density ranking by itself says nothing about market size, complexity, or who the current competitors are. The table below adds the missing columns. Global market size is the sum of BACI world imports for the HS6 in 2024 (multiplied by 1,000 for USD). PCIis the product complexity index (Hidalgo & Hausmann 2009, PNAS 106: 10570), which is zero-centred and routinely negative; higher means more complex and more associated with high-income, high-capability exporters. Top exporters are the three countries with the largest export value on the HS6 in 2024, which is who a new entrant would be contesting the market against.
Figure 3
Viet Nam: top 20 adjacent-product entry candidates, 2024
#
HS6
Product
Section
Density
PCI
Global market
Top exporters
1
180200
Cocoa: shells, husks, skins and other cocoa waste
Food, beverages, tobacco
0.585
-3.51
$607.4M
CIV, FRA, DEU
2
630222
Bed linen: of man-made fibres, printed, not knitted or crocheted
Textiles
0.485
-2.39
$1.2B
CHN, PAK, DEU
3
420212
Luggage and cases with plastic or textile exteriors
Leather
0.462
How does basket complexity move if the top-10 are adopted?
The Economic Complexity Index (ECI) of a country is closely tied to the weighted mean PCI of its RCA basket (Hidalgo & Hausmann 2009; Hausmann & Hidalgo 2011). A counterfactual re-weighting gives a simple order-of-magnitude read on how much basket complexity would shift if Viet Nam displaced its ten lowest-PCI RCA lines with the top-ten density-ranked adjacent products at constant aggregate basket weight.
Figure 4
Viet Nam: weighted basket PCI, current vs. top-10 adoption counterfactual (2024)
Scroll horizontally to view the full chart.
Current export-weighted basket PCI is -0.26. Adopting the top-10 density-ranked adjacent products (replacing the 10 lowest-PCI RCA lines at the same aggregate weight) moves it to -0.24, a shift of +0.01. Zero-centred PCI means a +0.5 shift places the basket roughly half a standard deviation higher in the complexity ordering of all HS6 lines (Hidalgo & Hausmann 2009). This is a bounding read, not a policy forecast: actual adoption depends on investment, institutions, and proximity details not captured by the single density statistic.
Method: weighted basket PCI = Σ (X_p × PCI_p) / Σ X_p over the country's RCA >= 1 basket, where X_p is the country's export value of HS6 p. Counterfactual drops the 10 lowest-PCI basket products and adds the top-10 density-ranked adjacent products at the mean weight of the dropped bucket; total basket weight is preserved. Citations: Hidalgo & Hausmann (2009), 'The building blocks of economic complexity,' PNAS 106: 10570; Hausmann, Hidalgo, Bustos, Coscia, Simoes & Yildirim (2011/2014), The Atlas of Economic Complexity, CID/MIT Press, chapter 2.
Where on the product space are the candidates clustered?
The Hausmann-Klinger (2007, CID Working Paper 146) reading of the product space is that capabilities cluster by sector: countries successfully add products that share inputs, skills, and logistics with what they already make. Aggregating the top-30 density-ranked adjacent products by HS Section gives a one-glance read on which parts of the product space the next-door candidates sit in. Section counts below are taken from the HS 21-section classification (WCO, Harmonized System).
Figure 5
Viet Nam: top-30 adjacent candidates by HS Section, 2024
Scroll horizontally to view the full chart.
The density-complexity quadrant: where are the 'best jumps'?
Hausmann & Klinger (2007, CID WP 146) and Hausmann & Hidalgo (2011, J. Econ. Growth16: 309-342) argue that desirable diversification targets are high on two axes at once: high density (capability-feasible given the existing basket) AND high PCI (complex enough to pull basket complexity up). The scatter below places each non-RCA candidate product in the density × PCI plane. The top-right quadrant, high density, high PCI, is the 'best jumps' zone: feasible upgrades. The top-left is feasible but complexity-flat; the bottom-right is aspirational but capability-distant; the bottom-left is neither. The top-10 density-ranked candidates from Figure 3 are marked in orange so the reader can see how the density-only ranking maps onto both axes.
Figure 6
Viet Nam: adjacent HS6 products in the density-PCI plane (2024)
Scroll horizontally to view the full chart.
Feasibility floor plus complexity upgrade: the top-10 shortlist
The density-only ranking in Figure 3 is capability-proximity biased: a product very close to the existing basket can sit on that list even when its PCI is below the basket's own weighted mean, adding no complexity. Conversely, the density-PCI scatter in Figure 6 is visual-only. A cleaner industrial-policy shortlist answers a specific question: among products that clear a minimum density threshold (a feasibility floor), which ten have PCI furthest above the country's current basket-weighted PCI? That is the list of complexity upgrades with existing capability. Hausmann, Hidalgo et al. (2014, Atlas of Economic Complexity, 2nd ed.) describe exactly this construct as the 'strategic bets' quadrant, and note that the minimum density floor is an application choice: 0.20 is a conventional lower bound in the CID working-paper series (Hausmann & Klinger 2007, CID WP 146).
Figure 7
Viet Nam: top-10 complexity upgrades with density >= 0.20, 2024
#
HS6
Product
Density
PCI
PCI - basket
1
853229
Electrical capacitors: fixed, n.e.s. in heading no. 8532
0.201
0.69
+0.95
2
851511
Brazing or soldering machines and apparatus: soldering irons and guns, whether or not capable of cutting
0.205
0.45
+0.71
3
853340
Electrical resistors: variable, including rheostats and potentiometers (excluding heating)
0.243
0.28
+0.54
4
854890
Other electrical machinery or apparatus parts
What did Viet Nam actually jump into since 2010?
The adjacency density in Figures 2-7 is a forward-looking feasibility signal. A backward-looking companion is the set of HS6 products in which the country genuinely crossed the RCA ≥ 1 threshold between 2010 and 2024: products that started below revealed comparative advantage and ended above it. Hausmann, Hidalgo et al. (2014, Atlas of Economic Complexity, 2nd ed.) call these realized product-space jumps, and show that they typically occur to HS6 lines that sat at high adjacency density in the base year, i.e. the density-predicted pattern repeats itself ex post. The bars below rank the largest realized RCA gains (ΔRCA = RCA2024 - RCA2010), filtered to products that were below RCA = 1 in 2010 and at or above RCA = 1 in 2024. These are the products where the country actually added revealed comparative advantage over the window.
Figure 8
Viet Nam: top-20 realized RCA jumps (RCA<1 in 2010 → RCA≥1 in 2024)
Scroll horizontally to view the full chart.
Which sections are the most feasible to enter on average?
Figure 5 ranked sections by their share of the top-30 density-ranked candidates, which is a top-of-list view. The complementary read is the average adjacency density across every non-RCA candidate in a given section: this answers the section-level feasibility question, not the rank-cutoff question. A section with a high mean density is one where the country's existing capabilities sit close to most products in that part of the WCO classification, even if no single product makes the top-30. Hausmann and Klinger (2007, CID WP 146) note that diversifying into a section with a uniformly high mean density is structurally easier than diversifying into a section where one or two outliers sit near the basket but the bulk of the section is far away.
Figure 9
Viet Nam: mean adjacency density across non-RCA candidates by HS Section, 2024
Scroll horizontally to view the full chart.
How to read and not mis-read this
Density is a capability-proximity statistic, not a guarantee. Hausmann and Klinger (2007, CID WP 146) and Hausmann & Hidalgo (2011) show that density predicts diversification probabilities in the aggregate; for any individual country-product pair, institutions, tariffs, logistics, and sunk costs can still block entry.
PCI is zero-centred by construction. A negative PCI on a recommendation row is a reading, not a filter: the product is simply less complex than the HS6 mean. Many feasible industrial upgrades for lower-income countries sit at slightly-below-zero PCI, not far above.
Global market size reads BACI world imports at HS6, which undercounts where bilateral trade is reported only by one side of the pair. For order-of-magnitude sizing it is correct; for litigation-grade numbers, cross-check against the importer's own customs filing.
References
Balassa, B. (1965). 'Trade Liberalisation and Revealed Comparative Advantage.' Manchester School 33(2): 99-123.
Hausmann, R., & Hidalgo, C. A. (2011). 'The network structure of economic output.' Journal of Economic Growth 16: 309-342.
Hausmann, R., Hidalgo, C. A., Bustos, S., Coscia, M., Simoes, A., & Yildirim, M. A. (2014). The Atlas of Economic Complexity: Mapping Paths to Prosperity. CID/MIT Press. First edition 2011.
Hausmann, R., & Klinger, B. (2007). 'The Structure of the Product Space and the Evolution of Comparative Advantage.' CID Working Paper No. 146.
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: 482-487.
Viet Nam has RCA ≥ 1 in 1,043 HS6 products in 2024. The top 20 account for 57% of the RCA basket's export value. This is the capability base that the adjacency computation in Figure 2 reads from.
Method: RCA from Balassa (1965), 'Trade Liberalisation and Revealed Comparative Advantage,' Manchester School 33: 99-123. Source: CEPII BACI 202601 (retrieved 2026-06-01). Authors calcs. Values displayed as USD (BACI x 1000).Query
WITH rca_c AS (
SELECT product_code FROM 'rca_matrix/year=2024/*.parquet'
WHERE country_code IN (704) AND rca >= 1.0
)
SELECT r.product_code, SUM(e.export_value)*1000 AS export_usd
FROM rca_c r
JOIN 'country_year_product/year=2024/*.parquet' e
ON e.product_code = r.product_code AND e.country_code IN (704)
GROUP BY r.product_code ORDER BY export_usd DESC LIMIT 20;
Density at the top of the list reaches 0.585. The 30th product sits at 0.379. Products near the top are the ones for which most capability neighbours are already in Viet Nam's basket - the low-hanging structural-transformation candidates.
Method: density per Hausmann & Hidalgo (2011) Atlas of Economic Complexity. Proximity per Hidalgo, Klinger, Barabasi & Hausmann (2007), Science 317: 482-487. Source: CEPII BACI 202601 (retrieved 2026-06-01) product_proximity + rca_matrix. Authors calcs.Query
WITH rca_c AS (
SELECT product_code FROM 'rca_matrix/year=2024/*.parquet'
WHERE country_code IN (704) AND rca >= 1.0
),
prox_sym AS (
SELECT product_a AS src, product_b AS dst, proximity FROM 'product_proximity/year=2024/*.parquet'
UNION ALL
SELECT product_b AS src, product_a AS dst, proximity FROM 'product_proximity/year=2024/*.parquet'
)
SELECT dst,
SUM(CASE WHEN src IN rca_c THEN proximity ELSE 0 END) / NULLIF(SUM(proximity), 0) AS density
FROM prox_sym GROUP BY dst
ORDER BY density DESC LIMIT 30;
-0.68
$10.8B
CHN, FRA, THA
4
611710
Shawls, scarves, mufflers, mantillas, veils and the like: knitted or crocheted
Textiles
0.457
-1.94
$1.1B
CHN, ITA, TUR
5
670411
Wigs: complete, of synthetic textile materials
Footwear
0.456
-2.11
$343.1M
CHN, IDN, BGD
6
030349
Fish: tuna, frozen, n.e.s. in item no. 0303.4 (excluding fillets, livers, roes and other fish meat of heading no. 0304)
Animal products
0.454
-1.85
$744.9M
S19, ESP, FRA
7
130190
Natural gums, resins, gum-resins and oleoresins, n.e.s. in heading no. 1301
Vegetable products
0.454
-2.54
$569.8M
AFG, IND, IDN
8
030343
Fish: skipjack or stripe-bellied bonito, frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)
Animal products
0.449
-2.00
$2.0B
FSM, S19, KOR
9
030799
Other molluscs and aquatic invertebrates, frozen, dried, salted or brined
Animal products
0.438
-1.69
$8.4B
CHN, IDN, IND
10
030614
Crustaceans: crabs, frozen (whether in shell or not, whether or not cooked by steaming or by boiling in water)
Animal products
0.432
-1.97
$2.5B
CAN, RUS, NOR
11
650691
Headgear: (other than safety headgear), of rubber or plastics, whether or not lined or trimmed
Footwear
0.427
-1.38
$223.7M
CHN, MYS, USA
12
080290
Nuts, edible: n.e.s. in heading no. 0801 and 0802, fresh or dried, whether or not shelled or peeled
Vegetable products
0.422
-2.28
$3.1B
MEX, USA, ZAF
13
550810
Sewing thread: of synthetic staple fibres, whether or not put up for retail sale
Textiles
0.416
-1.32
$575.3M
CHN, EGY, TUR
14
610332
Jackets and blazers: men's or boys', of cotton, knitted or crocheted
Textiles
0.412
-1.61
$519.6M
CHN, TUR, ITA
15
610422
Ensembles: women's or girls', of cotton, knitted or crocheted
Textiles
0.411
-2.06
$437.7M
CHN, TUR, BGD
16
121299
Vegetable products (including unroasted chicory roots, chicorium intybus sativum variety): n.e.s. in chapter 12, fresh, chilled, frozen or dried, ground or unground, primarily for human consumption
Vegetable products
0.406
-2.32
$1.4B
CHN, IDN, MMR
17
620322
Ensembles: men's or boys', of cotton (not knitted or crocheted)
Textiles
0.406
-1.79
$342.7M
PAK, CHN, TUR
18
610729
Nightshirts and pyjamas: men's or boys', of textile materials (other than cotton or man-made fibres), knitted or crocheted
Textiles
0.406
-1.96
$58.7M
IND, CHN, PAK
19
650400
Hats and other headgear: plaited or made by assembling strips of any material, whether or not lined or trimmed
Footwear
0.401
-1.51
$454.2M
CHN, MEX, ITA
20
610423
Ensembles: women's or girls', of synthetic fibres, knitted or crocheted
Textiles
0.400
-2.37
$509.0M
CHN, TUR, BGD
Density-ranked top 20. PCI is zero-centred by construction (Hausmann & Hidalgo 2009): negative PCI is not a filter, it is a reading. Global market size is BACI world imports (BACI values x 1,000 for USD). Top-three current exporters flag the competitive field. Missing values mean the HS6 is absent from PCI rankings in 2024 or from BACI world imports.
WITH rca_c AS (
SELECT product_code FROM 'rca_matrix/year=2024/*.parquet'
WHERE country_code IN (704) AND rca >= 1.0
),
exp_c AS (
SELECT product_code, SUM(export_value)*1000 AS w
FROM 'country_year_product/year=2024/*.parquet'
WHERE country_code IN (704) GROUP BY product_code
)
SELECT SUM(pci.pci * e.w) / NULLIF(SUM(e.w), 0) AS weighted_pci
FROM rca_c r
JOIN exp_c e ON e.product_code = r.product_code
JOIN 'pci_rankings.parquet' pci
ON pci.product_code = r.product_code AND pci.year = 2024;
The top-30 candidates cluster most heavily in Sec 11 Textiles (11products of 30). Section-level clustering matches Hausmann & Klinger's (2007) core finding: capabilities transfer across neighbouring products within a section before they jump to distant sections. A concentrated distribution signals a deep local capability base in one corner of the space; a spread across many sections signals broader but shallower capability.
Source: HS Section from CEPII BACI products table (WCO Harmonized System 21-section classification). Interpretation per Hausmann & Klinger (2007, CID WP 146) 'The Structure of the Product Space and the Evolution of Comparative Advantage'; Hausmann, Hidalgo et al. (2014, 2nd ed.) Atlas of Economic Complexity.
3972 non-RCA candidates have both a density and a PCI in 2024. Median density is 0.111; median PCI is 0.26. The top-right quadrant (density ≥ median AND PCI ≥ median, feasible AND complex) contains 553 products. Orange dots mark the top-10 density-only picks from Figure 3; products among them that also sit in the top-right quadrant are the best jumps on both capability and complexity, whereas orange dots that fall in the upper-left (top density, lower PCI) are feasible but add little to basket complexity.
Method: scatter each non-RCA candidate by density (Hausmann-Hidalgo 2011 Atlas of Economic Complexity, ch. 2) and PCI (Hidalgo & Hausmann 2009, PNAS 106: 10570). Medians split the plane into quadrants. Top-right = "best jumps" (feasible AND complex). Sources: CEPII BACI 202601 (retrieved 2026-06-01) (rca_matrix, product_proximity, pci_rankings). Authors calcs.
0.244
0.19
+0.45
5
670210
Flowers, foliage and fruit, artificial, and parts thereof: articles made of artificial flowers, foliage or fruit, of plastics
0.239
0.16
+0.42
6
320411
Dyes: disperse dyes and preparations based thereon
0.203
0.11
+0.37
7
732620
Iron or steel: wire articles
0.201
0.08
+0.34
8
854460
Insulated electric conductors, over 1,000 V
0.203
0.08
+0.34
9
900490
Spectacles and goggles, excluding sunglasses
0.241
0.04
+0.30
10
841810
Combined fridge-freezers with separate external doors
0.217
0.02
+0.28
475 non-RCA candidates clear the density floor of 0.20 and have a defined PCI in 2024. The top-10 by PCI-over-basket deliver a weighted-PCI lift from the current basket mean of -0.26 to a new-product PCI ceiling of 0.69 at density 0.201. These are the 'strategic bets' in the Atlas of Economic Complexity sense: feasible on the capability map, complexity-premium on the product map. Compare with Figure 6's scatter: these ten sit in the upper-right quadrant by construction but are ordered strictly by how far they pull basket PCI up, not just by whether they beat the median.
Method: filter non-RCA candidates to density >= 0.20 (feasibility floor per Hausmann & Klinger 2007, CID WP 146), rank by PCI - basket_weighted_PCI descending, take top 10. Basket-weighted PCI = Σ(export_USD x PCI) / Σ(export_USD) over current RCA >= 1 basket. PCI from Hidalgo & Hausmann (2009), PNAS 106: 10570. Sources: CEPII BACI 202601 (retrieved 2026-06-01) (rca_matrix, product_proximity, pci_rankings). Authors calcs.
Viet Nam crossed into RCA ≥ 1 on 20+ HS6 lines shown here between 2010 and 2024 (ranked list capped at 20). Combined 2024 export value on these lines is $55.2B. Largest jump: 230240 (RCA 2010 0.54 → 17.38). Realized jumps are the ex post companion to the density-ranked feasibility list in Figures 2-3; the overlap between the two sets is the empirical test of whether adjacency density predicted where this country actually moved.
Method: RCA_{y}(c,p) = (X_{cp,y} / X_{c,y}) / (X_{wp,y} / X_{w,y}) per Balassa (1965). Filter: RCA_{2010} < 1 AND RCA_{2024} >= 1. Rank by ΔRCA = RCA_{2024} - RCA_{2010}. Reference on realized product-space jumps: Hausmann, Hidalgo et al. (2014, 2nd ed.) Atlas of Economic Complexity. Sources: CEPII BACI 202601 (retrieved 2026-06-01) rca_matrix for 2010 and 2024; country_year_product for 2024 export values (BACI × 1000 applied).Query
WITH r2010 AS (SELECT product_code, rca FROM 'rca_matrix/year=2010/*.parquet' WHERE country_code IN (704)),
rnow AS (SELECT product_code, rca FROM 'rca_matrix/year=2024/*.parquet' WHERE country_code IN (704))
SELECT rnow.product_code, r2010.rca AS rca_2010, rnow.rca AS rca_now, (rnow.rca - r2010.rca) AS delta
FROM rnow JOIN r2010 USING(product_code)
WHERE r2010.rca < 1.0 AND rnow.rca >= 1.0
ORDER BY delta DESC LIMIT 20;
Across the 21 HS Sections with at least three non-RCA candidates, the highest mean adjacency density is in Footwear at 0.237 across 23 HS6 lines; the lowest is Chemicals at 0.087 (685 HS6). Mean density is the section-wide feasibility floor: a section ranked high here gives the country a deep set of plausible candidates, not just the few that surface in the top-30 of Figure 5. Sections at the bottom of this ranking are capability-distant from Viet Nam's current basket even on average, and require larger structural-transformation steps in the Hausmann-Klinger (2007) sense.
Method: mean over each non-RCA candidate's adjacency density within a HS Section. Density = Hausmann-Hidalgo (2011, Atlas of Economic Complexity ch. 2). Sections with fewer than 3 candidates dropped to suppress noise. Sources: CEPII BACI 202601 (retrieved 2026-06-01) (rca_matrix, product_proximity); WCO Harmonized System 21-section classification. Authors calcs.Query
WITH rca_c AS (
SELECT product_code FROM 'rca_matrix/year=2024/*.parquet'
WHERE country_code IN (704) AND rca >= 1.0
),
prox_sym AS (
SELECT product_a AS src, product_b AS dst, proximity FROM 'product_proximity/year=2024/*.parquet'
UNION ALL
SELECT product_b AS src, product_a AS dst, proximity FROM 'product_proximity/year=2024/*.parquet'
),
density AS (
SELECT dst AS product_code,
SUM(CASE WHEN src IN rca_c THEN proximity ELSE 0 END) / NULLIF(SUM(proximity), 0) AS d
FROM prox_sym GROUP BY dst
)
SELECT pr.section, AVG(density.d) AS mean_density, COUNT(*) AS n
FROM density JOIN products pr ON pr.code = density.product_code
WHERE density.product_code NOT IN rca_c
GROUP BY pr.section HAVING n >= 3 ORDER BY mean_density DESC;