Loading workbench page
Fetching primary parquet sources and computing exhibits.
Fetching primary parquet sources and computing exhibits.
This page measures the trade footprint that surrounds individuals and entities on the UK OFSI Consolidated List and the UN Security Council Consolidated List. Sanctions lists match entities, not countries. Country-level aggregation is a coarse proxy: a Russian national on a UK list does not make Russia-UK bilateral trade sanctioned, and a London real-estate holding by a listed oligarch is not a sanctioned goods flow. Treat the figures as a pointer to jurisdictions that warrant further due diligence, not a measurement of illicit trade volume. Hufbauer, Schott, Elliott & Oegg (2007, PIIE, Economic Sanctions Reconsidered, 3rd ed.) catalogue the 20th-century shift from comprehensive embargoes to targeted smart designations; Drezner (2003, Int'l Studies Quarterly47(3): 643-659) and Gaibulloev, Oyun & Younas (2020, Public Choice 183: 247-268) model the signalling and coercion mechanics. Source lists: UK OFSI Consolidated (HM Treasury), UN SC Consolidated (scsanctions.un.org), and the aggregated OFAC SDN + EU consolidated counts at sanctions/country_flags.parquet. Live OFAC/OFSI/EU/UN updates through Q1 2026 are reflected in the ingest snapshot.
Data not yet ingested. The sanctions entities_snapshots partition directory exists but is empty on this deployment. The ingest scripts at scripts/ingest/sanctions/ (uk_ofsi.py, un_consolidated.py, eu_financial.py, ofac_sdn.py, ofac_sectoral.py, ofac_oilcap.py, bis_ccl.py, bis_lists.py, dhs_uflpa.py, eu_dualuse.py) write to that partition; the figures below will populate once those scripts run and their outputs land in data/parquet/sanctions/entities_snapshots/. The auxiliary ECCN control-reason figure at the bottom of the page is grounded in the eccn_catalog.parquet file that is already present.
For every sanctioned entity whose countries field resolves to a known ISO3, we count unique entities per home country and pair that count with the country's total goods exports in 2024 from CEPII BACI. The export volume is nota measure of sanctioned trade: it is the legitimate-plus-illicit universe of exports from a jurisdiction that has at least one listed party. The caveat matters most for jurisdictions with broad legitimate trade (UK, UAE, China, Hong Kong) where a single listed individual stands alongside a large licit export base. See Felbermayr, Kirilakha, Syropoulos, Yalcin & Yotov (2020) on the identification problem in quantifying sanctions effects, and Ahn & Ludema (2020) on entity-level, smart sanctions targeting in the Russia programs.
For USA, EU27 (summed across all 27 member states), Japan, and the United Kingdom, total 2024 goods imports from any ISO3 that appears as the home or address country of at least one listed entity, split by the list that put them there. Repeat caveat: this is the legitimate import base from those jurisdictions, not an estimate of sanctioned-goods imports. The same importer will appear under multiple list_ids when a jurisdiction is present in more than one list universe, e.g. Russia appears in both UK OFSI and the UN 1533 DRC line because individuals with Russian nationality are listed under both regimes for different reasons.
Entity listings in the current UK OFSI and UN SC feeds do not tag specific HS6 product lines, so this figure cannot isolate sanctioned trade at the product level. What we can do with SQL: for the set of countries that host at least one listed entity, rank their HS6 export lines by 2024value, and annotate each with the single largest origin country on that line. Use this to identify HS6 categories where any targeted enforcement action would cover a large underlying trade volume, not as a claim that the trade itself is sanctioned. See Crozet & Hinz (2020) on quantifying sanctions pass-through at the sectoral level for the 2014 Crimea/Donbass measures.
| HS6 | Description | Export USD (2024) | Top origin |
|---|
Set aside the UK OFSI and UN SC snapshots for this panel and look instead at the fully aggregated sanctions/country_flags.parquettable, which tallies US OFAC SDN and EU consolidated financial sanctions designations by listing address-country. Hufbauer, Schott, Elliott & Oegg (2007, PIIE, Economic Sanctions Reconsidered, 3rd ed.) argue that the empirical incidence of sanctions has shifted from broad trade embargoes to targeted 'smart' designations since the 1990s; that shift shows up sharply in the distribution of SDN listings by address-country, which concentrates most listings in a few high-risk jurisdictions while leaving hundreds of countries with single- or double-digit counts. Recent OFAC/OFSI/EU updates through Q1 2026 preserve this pattern. Address-country is a coarse proxy (a listed person can reside in a third country) so treat the ranking as enforcement-presence, not national guilt.
Separate from entity-based sanctions, the US Bureau of Industry and Security maintains the Commerce Control List (CCL), which classifies dual-use items by Export Control Classification Number. Each ECCN carries one or more reasons for control under 15 CFR 738.2: NS national security, AT anti-terrorism, MT missile technology, NP nuclear nonproliferation, CB chemical and biological, RS regional stability, FC firearms convention, CC crime control, SI significant items, SS short supply, UN UN embargo, CW chemical weapons convention. The distribution below is computed directly from the eccn_catalog.parquet ingested into the workbench (0 ECCN rows). This is the only sanctions-adjacent table currently loaded and is included so the page is not empty while entity snapshots are still being ingested.
A cumulative-by-year trajectory of designations by regime (OFAC, EU, UK OFSI, UN SC) is the natural way to read the modern shift Hufbauer, Schott, Elliott & Oegg (2007) describe, but the ingested country_flags.parquet carries only the current point-in-time tallies for OFAC SDN and EU consolidated financial sanctions. UK and UN listings are entity-level in the entities_snapshots partition without a reliable designation-date field once normalised across feeds. So we adapt: among the top-20 address-countries by combined OFAC + EU count, how is the stack composed? A country that scores heavily on OFAC but near-zero on EU is under a primarily US program (Mexico, Colombia cartel listings); balanced stacks (Russia, Iran, DPRK, Belarus, Syria) indicate transatlantic co-ordination; EU-dominant stacks are rare in the ingest because the EU program roster is smaller than SDN.
The cleanest empirical signal of sanctions leakage is the bilateral export series from nearby or hub jurisdictions into the sanctioned importer. CEPII BACI carries this for every year through 2024. We plot the eight jurisdictions most commonly cited in the 2022-2023 re-export literature: Armenia, Kazakhstan, Kyrgyzstan, Azerbaijan, Georgia (Caucasus and Central Asia), plus Turkey, the UAE, and China (third-party hubs). Chupilkin, Javorcik, Plekhanov & Peeva (2023, EBRD Working Paper 280, 'Decoupling in a Globalized World') document that CN8 HS lines with the largest Russia sanctions in the EU 2022 packages show the largest 2022-2023 surges from these same origins. Crozet & Hinz (2020, Economic Policy 35(101): 97-146, on the 2014 Russia-Ukraine measures) model the same mechanism: a share of sanctioned trade re-routes via lightly-controlled jurisdictions rather than disappearing.
A canonical stylised fact in the sanctions literature: after the 1990s Iraq and Yugoslavia episodes, the 'comprehensive embargo' instrument fell out of favour and was replaced by 'targeted smart sanctions' against named individuals, entities, and sectors (Hufbauer, Schott, Elliott & Oegg 2007, PIIE, Economic Sanctions Reconsidered, 3rd ed.; Drezner 2011, International Studies Review 13(1): 96-108, 'Sanctions Sometimes Smart'). The ingest carries no reliable listing-date field to trace the annual shift, but the current point-in-time distribution in country_flags.parquet encodes the legacy cleanly. We split the 173 flagged ISO3 rows into a comprehensive-regime bucket (CUB, IRN, PRK, SYR, RUS, BLR, MMR, VEN, per OFAC country-program pages and EU Official Journal comprehensive-program decisions) and a targeted-designation bucket (every other country in the flag table). The count gap per country is the size of the regime-type asymmetry.
Absolute counts in Figure 4 reward jurisdictions with large legitimate trade. Russia heads the listing tally, but so does Mexico (a narcotics-program artefact) and China (a BIS / OFAC sectoral artefact). Normalising by the country's export base flips the ranking onto the regime-intensity axis: economies with thin licit exports and three-digit designation counts (DPRK, Syria, Yemen, Somalia) sit at the top because the numerator is unusually large relative to a tiny denominator, the empirical signature of a comprehensive embargo per Hufbauer, Schott, Elliott & Oegg (2007, PIIE, Economic Sanctions Reconsidered, 3rd ed.) and Felbermayr, Kirilakha, Syropoulos, Yalcin & Yotov (2020, European Economic Review 129: 103561) on the Global Sanctions Data Base. Restricted to is_flagged countries (100+ combined OFAC + EU listings) with at least $100M in 2024 exports to keep the ratio defined.
The 2022 Russia program and the Iran, DPRK, and Myanmar regimes have re-established sanctions as a primary foreign-policy tool, but the entity-targeting structure of the modern system means the binding constraint is compliance-screening capacity at private firms, not the formal roster size. The address-country heat-map in Figure 4 is where a bank's MLRO allocates transaction monitoring spend; the jurisdictional shortlist in Figure 1 is where a supply-chain compliance lead opens enhanced due-diligence files. An outright origin ban (sectoral sanctions, a la the 2022 G7 Russia oil price cap) needs Figures 2 and 3: without a read on the underlying HS6 trade base, sanctions designers cannot anticipate substitution, pass-through to third countries, or the price-cap enforcement cost.
ofsistorage.blob.core.windows.net/publishlive/2022format/ConList.csv. Ingest: scripts/ingest/sanctions/uk_ofsi.py.scsanctions.un.org/resources/xml/en/consolidated.xml. Ingest: scripts/ingest/sanctions/un_consolidated.py.data/parquet/sanctions/country_flags.parquet as per-ISO3 counts (ofac_count, eu_count, total_count, is_flagged at 100-combined threshold). Drives Figure 4. The entity-level SDN and EU FSF XML feeds are a separate ingest task (per-entity names, addresses, DOBs, aliases) for the entities_snapshots partition.data/parquet/sanctions/eccn_catalog.parquet (0 rows). Supplements entity lists with dual-use product controls. is_flagged = true threshold (100+ combined listings). The count is a point-in-time read of the OFAC SDN enhanced XML and the EU consolidated XML feeds; counts will jump materially the day a new program is announced.