Loading workbench page
Fetching primary parquet sources and computing exhibits.
Fetching primary parquet sources and computing exhibits.
In 2024, the top twenty fossil-fuel exporters shipped a combined $2.18T of coal, crude oil, refined petroleum and natural gas (BACI HS 2701-2704, 2706, 2709, 2710, 2711). The leader, USA, booked $330.8B of that total, of which 18% of its entire export book is fossil. 9 of the top twenty depend on fossil products for more than half their goods-export earnings. Under the IEA World Energy Outlook 2024 Announced Pledges Scenario envelope, a -30% demand path by 2040 erases $652.9B of annual revenue from top-20 fossil exporters combined; a -70% Net-Zero-style path erases $1.52T. Mercure et al. (2018) and Semieniuk et al. (2022) call this the macro-financial stranded-asset problem; for high-debt, high-fossil-share sovereigns it is a solvency problem.
The top-twenty exporters of coal, oil, refined petroleum and gas in 2024, ranked by gross export revenue. Values are CEPII BACI export_value multiplied by 1,000 to convert from BACI's thousands-USD convention to USD.
WITH ctry AS (
SELECT iso3, MIN(code) AS code, COALESCE(ANY_VALUE(name) FILTER (WHERE name NOT LIKE '%(...%'), MIN(name)) AS name
FROM 'countries.parquet' GROUP BY iso3
),
fossil AS (
SELECT country_code, SUM(export_value) * 1000 AS v
FROM 'country_year_product/year=2024/*.parquet'
WHERE product_code IN ('270111','270112','270119','270120','270210','270220','270300','270400','270600','270900','271000','271011','271012','271013','271019','271091','271099','271111','271112','271113','271114','271119','271121','271129')
GROUP BY country_code
)
SELECT c.iso3, c.name, f.v AS fossil_usd
FROM fossil f JOIN ctry c ON c.code = f.country_code
ORDER BY f.v DESC LIMIT 20;Share of total merchandise exports coming from fossil HS6 products. Countries at the top of this bar are macro-fragile under transition: every one percentage point of demand decline translates almost one-for-one into national export receipts. This is the classic Dutch disease diagnostic reframed for the transition, following Corden and Neary (1982) and the stranded-asset exposure framework of Semieniuk et al. (2022, Nature Climate Change, 'Stranded fossil-fuel assets translate to major losses for investors in advanced economies'). The 40% and 60% bands below are qualitative fragility tiers; most single-resource-commodity IMF Article IV reviews flag any above 30%.
The International Energy Agency's World Energy Outlook 2024 publishes three reference scenarios for global fossil demand: Stated Policies (STEPS), Announced Pledges (APS), and Net Zero Emissions by 2050 (NZE). Aggregated across coal, oil and gas, the WEO 2024 (Tables A.2, A.3, A.4 and Figure 3.1) shows STEPS leaving fossil demand 3-20% below current levels by 2040, APS around 30% below, and NZE 60-75% below (IEA, World Energy Outlook 2024, Paris, October 2024). We hardcode two transition endpoints at 2040 as stylised anchors of that envelope: -30% (APS-like) and -70% (NZE-like deep transition). The flat path is the no-transition counterfactual. Implied revenue loss equals fossil_revenue × (1 - multiplier) and assumes world prices move one-for-one with demand, which is a first-order approximation; Mercure et al. (2018, Nature Climate Change 8: 588-593) model the richer price-quantity interaction and generally find losses of the same order.
Plot each fossil exporter at (fossil_revenue / GDP, public_debt / GDP). The upper-right quadrant, above about 15% fossil-to-GDP and 60% debt-to-GDP, is the stranded-asset sovereign-debt danger zone flagged by Semieniuk et al. (2022, Nature Climate Change12: 532-538) and by the Bank of England CBES climate stress-test scenario analysis (Bank of England, 2022, Results of the 2021 Climate Biennial Exploratory Scenario). The Principles for Responsible Investment and the Net Zero Asset Owner Alliance have applied similar two-axis screens to sovereign-bond portfolios (PRI, 2021, Sovereign Climate Risk Engagement Guide). Bubble area scales with fossil export revenue in 2024.
The stranded-asset story is a forward-looking claim, but the revenue base is visible in the BACI panel. Figure 5 plots real fossil-export revenue for the top ten exporters from 1996 to 2024. Carbon Tracker (2011, Unburnable Carbon) and Caldecott (2017, 'Stranded assets and the environment', Journal of Sustainable Finance & Investment 7(1): 1-13) framed the valuation mismatch problem: the Net Present Value implied by current reserves is substantially higher than the NPV implied by a 1.5 C carbon budget. A simple present-value calculation for the top-10 exporters at a 5% real discount rate, holding 2024 revenue flat to 2050, is $32.08T as a perpetuity; the NZE-style -70% glide path cuts that to roughly a third.
The stranded-asset literature (Carbon Tracker 2011; McGlade and Ekins 2015, 'The geographical distribution of fossil fuels unused when limiting global warming to 2 degrees C', Nature 517: 187-190) benchmarks exposure at the reserve-to-production (R/P) ratio: how many years of run-rate output the booked reserves support. Since the BACI trade panel does not carry proven-reserve volumes, Figure 6 uses a revenue-space proxy: the ratio of cumulative 10-year fossil-export revenue (LATEST-9 through LATEST) to the most recent single-year value. Under the assumption that production rates are roughly stable within the 10-year window, this ratio approximates an R/P-style longevity read-out on the revenue side. The y-axis is a composite climate risk score constructed as fossil share of exports (%) + public debt / GDP (%), following the two-axis screen in the Bank of England CBES (Bank of England 2022) and the Network for Greening the Financial System (NGFS, 2023, Climate Scenarios for Central Banks and Supervisors, Phase IV). The composite penalises countries that are both carbon-revenue-concentrated and fiscally constrained: they have less headroom to absorb a transition-driven revenue hit.
Figure 4 plotted fossil-exports/GDP against debt/GDP in two dimensions; Figure 7 collapses to the single fossil-exports-to-GDP axis and isolates the set above the 15% vulnerability threshold used by the IMF External Sector Report 2024 (Washington DC, Box 1.3 on commodity-exporter external adjustment) and by the World Bank Commodity Markets Outlookmethodology note for resource-dependence flagging. Countries above this line have a first-order fiscal and current-account exposure to the transition: a 1 percentage-point fall in fossil demand shaves at least 15 basis points off GDP directly, before any multiplier effects through the non-traded sector documented in Corden & Neary (1982).
Figure 8 collapses the 25-year fossil-export trajectory for each of the top-10 exporters into a single summary statistic: the coefficient of variation (standard deviation divided by mean) of annual revenue over 2000-2024. This is the classic measure of commodity-price-driven revenue instability used in the IMF External Sector Reportand by Cashin, Liang & McDermott (2000, How Persistent Are Shocks to World Commodity Prices?, IMF Working Paper 99/80). A high CV means the fossil revenue line runs as much fiscal-policy risk through the price-volatility channel as through the stranded-asset channel; for sovereigns with shallow stabilisation funds, it compounds the upper-right-quadrant vulnerability flagged in Figure 4.
The stranded-asset story is told from the producer balance sheet, but the demand side determines whether the IEA scenarios bind. Figure 9 ranks the top-15 fossil importers in 2024 by gross fossil import value (HS scope 2701-2704, 2706, 2709, 2710, 2711). Concentration on the buy side is the leverage channel for energy-policy coordination: if a small set of importers absorbs most of the world fossil trade, then their domestic transition policies (the EU Fit for 55 package, China's 14th Five-Year Plan renewables targets, the US Inflation Reduction Act, India's production-linked solar incentives) are what set the global revenue glide path in Figure 3. Mercure et al. (2018, Nature Climate Change 8: 588-593) show this importer-policy channel dominates the macro stranded-asset transmission.
The stranded-asset conversation has pivoted from a speculative claim about reserve valuation to a contested line item in sovereign and corporate balance sheets. Four policy drivers tighten the 2024-2026 outlook. COP29 in Baku (November 2024) finalised Article 6.2 and 6.4 rules, which allow cross-border transfer of mitigation outcomes and could in principle pay fossil exporters to strand reserves rather than produce them; the new Collective Quantified Goal also raises developed-country climate finance to USD 300 bn/year by 2035, a fraction of the transition-revenue losses in Figure 3. The EU Fit for 55 package(COM(2021) 550), together with the Methane Regulation (Reg 2024/1787), prices imported methane leakage from 2027 and raises the effective carbon cost for gas exporters above Brent-linked indifference. The US Inflation Reduction Act (Public Law 117-169, 2022) subsidises domestic clean-energy supply at roughly USD 390 bn over a decade, which depresses global fossil demand at the margin even without an explicit US carbon price. WTO-relevant constraints: fossil-exporter retaliation via the 2023 review of the Agreement on Subsidies and Countervailing Measures is the main litigation channel, with Brazil-EU and India-EU consultations on CBAM and fuel-related border measures under way in 2025-2026 (Mercure et al. 2018; IEA 2024, World Energy Outlook).
?iso3=SAU, ?iso3=RUS or any other ISO3 in Figure 1 to see the country-specific projection.WITH ctry AS (
SELECT iso3, MIN(code) AS code, COALESCE(ANY_VALUE(name) FILTER (WHERE name NOT LIKE '%(...%'), MIN(name)) AS name
FROM 'countries.parquet' GROUP BY iso3
),
fossil_imp AS (
SELECT country_code, SUM(import_value)*1000 AS v
FROM 'country_year_product/year=2024/*.parquet'
WHERE product_code IN ('270111','270112','270119','270120','270210','270220','270300','270400','270600','270900','271000','271011','271012','271013','271019','271091','271099','271111','271112','271113','271114','271119','271121','271129') AND import_value > 0
GROUP BY country_code
),
tot_imp AS (
SELECT country_code, SUM(import_value)*1000 AS v
FROM 'country_year_product/year=2024/*.parquet'
WHERE import_value > 0 GROUP BY country_code
)
SELECT c.iso3, f.v AS fossil_imp_usd, t.v AS total_imp_usd,
f.v/NULLIF(t.v,0)*100 AS imp_share_pct
FROM fossil_imp f JOIN ctry c ON c.code = f.country_code
LEFT JOIN tot_imp t ON t.country_code = f.country_code
ORDER BY f.v DESC LIMIT 15;