Loading workbench page
Fetching primary parquet sources and computing exhibits.
Fetching primary parquet sources and computing exhibits.
Food self-sufficiency is a nineteenth-century policy goal that keeps returning to the political foreground whenever grain prices spike. This page lays out the distribution of self-sufficiency across staples, the food import bill in developing economies, the structural growth of global food trade, the classic producer-consumer axis, and one concentrated case study: rice in South Asia.
Clapp (2015) argues that 'food self-sufficiency' is a slippery construct: a 100% ratio at the national level can hide severe regional deficits, and below-100% ratios do not imply food insecurity when export revenues reliably pay for imports. Fader, Gerten, Krause, Lucht & Cramer (2013) use biophysical constraints rather than prices to show that, globally, roughly a sixth of the world's population already lives in countries that cannot feed themselves from their own land and water. The chart below averages FAOSTAT's country-level self-sufficiency ratios across the four staples that dominate global calorie flows.
SELECT iso3, AVG(value) AS ssr
FROM 'data/parquet/fao_trade_indicators.parquet'
WHERE indicator = 'Self-sufficiency ratio'
AND item IN ('Wheat','Rice','Maize (corn)','Soya beans')
AND year = 2022
GROUP BY iso3 ORDER BY ssr DESC LIMIT 15;Headey (2011) and Ivanic & Martin (2008) estimated that the 2007-08 price spike pushed tens of millions of households into poverty, with the incidence concentrated in countries where food absorbs a large share of both household budgets and national import bills. The indicator below, World Bank TM.VAL.FOOD.ZS.UN, scales food imports by total merchandise imports, a rough proxy for a country's exposure to world food prices.
Global food trade grew roughly 4.5× in nominal USD terms between 1995 and 2024; deflated by a world food-price or GDP deflator the real expansion is roughly 2-2.5× (i.e. the nominal figure overstates physical growth). The composition shifted: cereals still anchor the system, but oilseeds (driven by soya and palm-oil demand) and meat & preparations grew faster in value, reflecting dietary transition and the rising embodied feed-conversion burden in livestock production (Smil 2000, Feeding the World; see also Smil 2013).
The world food system has few producer hubs and many consumers. The next two figures rank countries by aggregate export and import value across the same five commodity categories as Figure 3 (all values in current USD, 2022).
Rice is the archetypal 'thin market' of global food trade: only about 8-9% of world production crosses a border in a normal year (Dawe 2010; Dawe & Slayton, 2010). That thinness is precisely what makes rice prices so reactive to policy shocks in a handful of producers. Dorosh & Shahabuddin (2004) showed that Bangladesh's private trade liberalization in the 1990s turned rice prices into a bilateral function of Indian supply, a pattern that re-appeared in the 2007-08 and 2022-23 episodes. The figure traces HS-1006 rice imports (all four subheadings: paddy, husked, milled, broken) for six South and Southeast Asian consumers from BACI.
The FAO Food Price Index (FFPI), first published in 1996, is the canonical monthly benchmark for international food commodity prices (FAO Agricultural Market Information System, 2024, Food Price Index Methodology Note). The official FFPI (2014-2016 = 100) composites five sub-indices, weighted by average 2014-2016 export shares of world food trade: Cereals 27.2%, Vegetable Oils 13.5%, Dairy 17.3%, Meat 34.8%, Sugar 7.2% (source: FAO Food Outlook June 2020 revision of the FFPI base period). The workbench does not carry FAO's monthly FFPI directly; Figure 6 therefore reconstructs an annual FFPI proxy from the World Bank Pink Sheet, using the cereals-oils-meat-sugar sub-baskets (dairy is omitted because the Pink Sheet does not quote a dairy benchmark) with weights rescaled proportionally to sum to 1.0 (Cereals 32.9%, Oils 16.3%, Meat 42.1%, Sugar 8.7% after dropping dairy and renormalising). The Arab Spring of 2010-2012 (Lagi, Bertrand & Bar-Yam, 2011, 'The food crises and political instability in North Africa and the Middle East', SSRN Working Paper) and the 2022-2023 post-invasion cereals-and-fertiliser spike are the two episodes that define the modern FFPI record.
Cereals (HS chapter 10: wheat, barley, maize, rice, sorghum and others) are the calorie base of the basket for low-income populations, and unlike oils or meat they are difficult to substitute on the demand side over a single season. For the 45 Least Developed Countries on the UN-OHRLLS list (UN Committee for Development Policy, Triennial Review 2024), Figure 7 ranks the cereal import bill as a share of GDP in 2022. A ratio above 2-3%of GDP is the zone where a world-price shock of the kind documented in Figure 6 translates directly into a current-account shock and a sovereign foreign-exchange constraint; Ivanic & Martin (2008) and Wodon & Zaman (2010, 'Higher Food Prices in Sub-Saharan Africa', World Bank Research Observer 25(1): 157-176) trace the transmission from that macro shock to household food poverty.
Figure 8 pairs the Pink Sheet-reconstructed FAO-style food price index from Figure 6 against the headline count of people in IPC / CH Phase 3 or worse (acute food insecurity, 'crisis' level or above) published annually by the Food Security Information Network (FSIN & Global Network Against Food Crises, 2024, Global Report on Food Crises 2024, Rome). The IPC (Integrated Food Security Phase Classification) and its West African sibling the Cadre Harmonisé (CH) are the UN-endorsed standards for classifying acute food insecurity (IPC Global Partners, 2019, IPC Technical Manual Version 3.1, FAO). Phase 3 is the policy-relevant trigger: households are classified 'in crisis' with significant food consumption gaps or only covering minimum needs through asset depletion. The scatter tests whether the 2010-2011 and 2022-2023 FFPI spikes are visible in the IPC series; Brown, Backer & Billing (2020, 'The impact of COVID-19 on food insecurity', Food Policy95: 101925) argue the transmission is contemporaneous but geographically concentrated in conflict- and climate-exposed low-income countries.
The step from a world food-price spike to food-insecurity outcomes is governed by two elasticities. The first is the pass-through elasticity from world price to domestic retail price, which Headey and Ruel (2020, 'Economic Shocks and Child Wasting', NBER wp) and Headey and Fan (2010, Reflections on the Global Food Crisis, IFPRI Research Monograph) estimate at 0.2 to 0.7 for cereal-importing low-income countries depending on trade-policy buffers (export bans, tariff suspensions, public-stock releases). The second is the demand elasticity of staple consumption with respect to household income and retail price; FAOSTAT and the FAO-UNICEF-WFP-IFAD-WHO State of Food Security and Nutrition in the World (SOFI) 2024 report uses income elasticities around 0.4-0.6 for staple calories at low-income levels. A 30% world-price shock with pass-through 0.5 and demand elasticity 0.5 therefore translates into roughly a 7-8% reduction in staple calorie intake for the poorest income decile, the mechanism behind the SOFI 2024 headline that 733 million people faced hunger in 2023.
Food-security policy in 2024-2026 sits at the intersection of four frames. COP29 in Baku (November 2024) adopted a work programme on sustainable agriculture and food systems (Decision 3/CP.29), linking climate finance to food-system transformation and explicitly mentioning the 2008 and 2022 price spikes as motivating episodes. The EU Fit for 55 packagerewrote the Common Agricultural Policy (2023-2027 Strategic Plans) to tighten fertiliser-use conditionality, which is forecast to raise EU grain prices modestly and shift the export-share distribution in Figure 4a. US Farm Bill reauthorisation, repeatedly extended through 2024 and pending in 2026, preserves the domestic commodity-support architecture while signalling no retreat from export-oriented grain production; combined with the US IRA climate agriculture provisions (Public Law 117-169, Title II) this anchors US supply at current levels. WTOdiscipline is the binding constraint on export bans: the Agreement on Agriculture Article 12 requires consultation before imposing food-export restrictions, an obligation India invoked during Ministerial Conference MC13 (Abu Dhabi, 2024) to defend its 2022-2023 rice and wheat export bans. The 2007-08 and 2022-23 episodes show that AoA Article 12 is under-enforced in practice; Dawe (2010,The Rice Crisis) argues that predictable rules for export restrictions would be worth more to food-security than the current subsidy-focused negotiations.
WITH canonical AS (
SELECT iso3, MIN(code) AS code
FROM read_parquet('data/parquet/countries.parquet')
GROUP BY iso3
)
SELECT CAST(cyp.year AS INTEGER) AS year,
c.iso3 AS iso3,
SUM(cyp.import_value) * 1000 AS value
FROM read_parquet('data/parquet/country_year_product/**/*.parquet') cyp
JOIN canonical c ON c.code = cyp.country_code
WHERE c.iso3 IN ('BGD','PHL','IDN','NPL','LKA','IND')
AND cyp.product_code LIKE '1006%'
GROUP BY cyp.year, c.iso3
ORDER BY year, iso3;-- Rescaled FFPI weights (no dairy): cereals 0.329, oils 0.163,
-- meat 0.421, sugar 0.087. Sub-index = geometric mean of member
-- price_nominal ratios to 2015 base, times 100.
SELECT year, commodity, price_nominal
FROM 'data/parquet/pink_sheet_annual.parquet'
WHERE commodity IN ('Wheat, US HRW','Maize','Rice, Thai 5%',
'Palm oil','Soybean oil','Coconut oil',
'Beef','Chicken','Lamb','Sugar, world')
AND year BETWEEN 2000 AND 2024;
-- Aggregate in app layer: geometric mean within sub-index,
-- weighted geometric aggregation across sub-indices.SELECT c.iso3, c.name,
SUM(cyp.import_value) * 1000.0 AS cereal_usd,
g.value AS gdp_usd
FROM 'country_year_product/year=2022/*.parquet' cyp
JOIN (SELECT iso3, MIN(code) AS code, COALESCE(ANY_VALUE(name) FILTER (WHERE name NOT LIKE '%(...%'), MIN(name)) AS name
FROM 'countries.parquet'
WHERE iso3 IN (<LDC list>) GROUP BY iso3) c ON c.code = cyp.country_code
LEFT JOIN 'wdi_data.parquet' g
ON g.iso3 = c.iso3 AND g.indicator = 'NY.GDP.MKTP.CD'
AND g.year = 2022
WHERE cyp.product_code LIKE '10%'
GROUP BY c.iso3, g.value
ORDER BY cereal_usd / gdp_usd DESC;-- FFPI proxy from Figure 6, 2016-2023 subset. -- IPC Phase 3+ hardcoded from GRFC 2017-2024 (public annual report). -- Pearson correlation on paired (FFPI_y, IPC_y) observations.
WITH ex AS ( SELECT cyp.year, cyp.country_code, SUM(cyp.export_value) AS x FROM 'data/parquet/country_year_product/**/*.parquet' cyp WHERE cyp.product_code LIKE '1001%' AND cyp.export_value > 0 GROUP BY cyp.year, cyp.country_code ), tot AS ( SELECT year, SUM(x) AS total_x FROM ex GROUP BY year ) SELECT ex.year, SUM(POWER(ex.x / tot.total_x, 2)) AS hhi, COUNT(*) AS n_exporters FROM ex JOIN tot USING (year) GROUP BY ex.year ORDER BY ex.year;
WITH yearly AS (
SELECT c.iso3, cyp.year, SUM(cyp.import_value) * 1000.0 AS cereal_usd
FROM 'country_year_product/**/*.parquet' cyp
JOIN (SELECT iso3, MIN(code) AS code FROM 'countries.parquet'
WHERE iso3 IN (<LDC list>) GROUP BY iso3) c ON c.code = cyp.country_code
WHERE cyp.product_code LIKE '10%' AND cyp.import_value > 0
AND cyp.year BETWEEN 2010 AND 2022
GROUP BY c.iso3, cyp.year
)
SELECT iso3,
STDDEV_SAMP(cereal_usd) / AVG(cereal_usd) AS cv,
AVG(cereal_usd) AS mean_usd
FROM yearly
GROUP BY iso3
HAVING COUNT(*) >= 10 AND AVG(cereal_usd) > 1e6
ORDER BY cv DESC LIMIT 20;