How it’s built, and how to read it
I build each material’s directed, value-weighted trade network and rank countries by betweenness (brokerage) and PageRank (recursive flow importance), then classify the top broker against the refining stage: a processing chokepoint is also the top refiner (centrality coincides with refining dominance), a redistribution hub is a big importer that re-distributes, a transit hub is a curated entrepot (re-export, not control). The last column is a resilience test: the share of supply→demand routes that break when that single node is removed.
Read with care: betweenness on a trade network also reflects import size — a big buyer scores high without “controlling” anything — so treat this as trade-routing centrality (exploratory), and “processing chokepoint” as “most-central and the top refiner”, not proof of control. Computed by build_network.py.
Who sits on the trade routes
Weighted tally of top-3 brokerage appearances across all 32 materials, beside how many each leads as exporter. The gap is the point: the most-central nodes are processing and redistribution hubs, not the resource-rich exporters.
| # | Country | broker score | exports #1 |
|---|---|---|---|
| 1 | 🇨🇳 China | 45 | 9 |
| 2 | 🇩🇪 Germany | 40 | 1 |
| 3 | 🇺🇸 United States | 30 | 1 |
| 4 | 🇳🇱 Netherlands entrepot hub | 20 | 0 |
| 5 | 🇬🇧 United Kingdom | 12 | 0 |
| 6 | 🇫🇷 France | 10 | 0 |
| 7 | 🇯🇵 Japan | 6 | 1 |
| 8 | 🇹🇷 Turkey | 5 | 2 |
| 9 | 🇧🇪 Belgium entrepot hub | 4 | 0 |
| 10 | 🇮🇹 Italy | 2 | 0 |
| 11 | 🇪🇸 Spain | 2 | 0 |
| 12 | 🇧🇷 Brazil | 2 | 1 |
Per material — exporter vs network chokepoint
| Material | Top exporter | Network chokepoint | type | fragility |
|---|---|---|---|---|
| Rare-earth permanent magnets | 🇨🇳 China 64% | 🇨🇳 China 64% exp · 33% through | processing chokepoint | 4% |
| Palladium, unwrought | 🇿🇦 South Africa 25% | 🇩🇪 Germany 6% exp · 11% through | redistribution hub | 13% |
| Germanium ⛓ | 🇨🇳 China 32% | 🇩🇪 Germany 19% exp · 15% through | redistribution hub | 10% |
| Gallium ⛓ | 🇨🇳 China 32% | 🇩🇪 Germany 19% exp · 15% through | redistribution hub | 10% |
| Hafnium, unwrought ⛓ | 🇨🇳 China 32% | 🇩🇪 Germany 19% exp · 15% through | redistribution hub | 10% |
| Feldspar | 🇹🇷 Turkey 43% | 🇹🇷 Turkey 43% exp · 22% through | processing chokepoint | 7% |
| Aluminium ores / bauxite | 🇬🇳 Guinea 72% | 🇨🇳 China 2% exp · 44% through | processing chokepoint | 19% |
| Refined copper cathodes | 🇨🇩 Congo [DRC] 24% | 🇩🇪 Germany 1% exp · 3% through | redistribution hub | 5% |
| Tantalum, unwrought | 🇺🇸 United States 22% | 🇺🇸 United States 22% exp · 25% through | exporter chokepoint | 16% |
| Manganese ore | 🇿🇦 South Africa 50% | 🇨🇳 China 1% exp · 31% through | processing chokepoint | 25% |
| Silicon, < 99.99% | 🇨🇳 China 40% | 🇨🇳 China 40% exp · 22% through | processing chokepoint | 11% |
| Nickel, unwrought | 🇳🇴 Norway 18% | 🇳🇱 Netherlands 7% exp · 12% through | transit hub | 10% |
| Titanium, unwrought | 🇯🇵 Japan 34% | 🇺🇸 United States 12% exp · 24% through | redistribution hub | 6% |
| Platinum, unwrought | 🇿🇦 South Africa 37% | 🇬🇧 United Kingdom 9% exp · 8% through | redistribution hub | 3% |
| Cobalt oxides & hydroxides | 🇫🇮 Finland 29% | 🇨🇳 China 19% exp · 10% through | processing chokepoint | 6% |
| Natural graphite | 🇨🇳 China 36% | 🇨🇳 China 36% exp · 30% through | processing chokepoint | 14% |
| Phosphate rock | 🇯🇴 Jordan 24% | 🇨🇳 China 1% exp · 3% through | processing chokepoint | 19% |
| Phosphorus | 🇻🇳 Vietnam 47% | 🇯🇵 Japan 1% exp · 7% through | redistribution hub | 4% |
| Ferro-niobium | 🇧🇷 Brazil 76% | 🇳🇱 Netherlands 8% exp · 12% through | transit hub | 12% |
| Helium | 🇶🇦 Qatar 28% | 🇺🇸 United States 16% exp · 10% through | redistribution hub | 15% |
| Coking coal | 🇦🇺 Australia 39% | 🇬🇧 United Kingdom 0% exp · 0% through | redistribution hub | 8% |
| Baryte | 🇮🇳 India 18% | 🇳🇱 Netherlands 4% exp · 4% through | transit hub | 3% |
| Ferro-vanadium | 🇦🇹 Austria 21% | 🇩🇪 Germany 1% exp · 6% through | redistribution hub | 3% |
| Lithium carbonate | 🇨🇱 Chile 75% | 🇨🇳 China 2% exp · 34% through | processing chokepoint | 18% |
| Tungsten, unwrought | 🇨🇳 China 74% | 🇩🇪 Germany 1% exp · 5% through | redistribution hub | 11% |
| Magnesium, unwrought | 🇨🇳 China 71% | 🇺🇸 United States 0% exp · 8% through | redistribution hub | 11% |
| Fluorspar, >97% CaF2 | 🇲🇽 Mexico 38% | 🇨🇳 China 8% exp · 5% through | processing chokepoint | 23% |
| Antimony, unwrought | 🇹🇯 Tajikistan 31% | 🇯🇵 Japan 0% exp · 6% through | redistribution hub | 3% |
| Strontium carbonate | 🇩🇪 Germany 60% | 🇨🇳 China 11% exp · 17% through | processing chokepoint | 38% |
| Natural borates | 🇹🇷 Turkey 56% | 🇺🇸 United States 1% exp · 3% through | redistribution hub | 16% |
| Arsenic | 🇨🇳 China 34% | 🇩🇪 Germany 13% exp · 14% through | redistribution hub | 18% |
| Beryllium, unwrought | 🇰🇿 Kazakhstan 89% | 🇫🇷 France 6% exp · 3% through | redistribution hub | 32% |
11 of 32 materials have a processing chokepoint — a network broker that is also the dominant refiner. ⛓ gallium/germanium/hafnium share one HS6 code. Computed from flows_2024.json → network.json.
China's network centrality over time
Network centrality captures China as the processing/redistribution hub — importer and broker, not just exporter — so it rises even where China barely exports (it imports the ore). Bold = China's average throughput share across all 32 materials; thin lines = materials where China is the processing hub. Throughput = share of a material's trade value touching China. Measured 2002–2024; same trade-routing-centrality caveat as above.