Methodology
Every number on Commodity Origins is computed from a named upstream source by an open pipeline, carries its unit and vintage, and is not typed by hand: a figure in a data table is computed, and a figure taken from a published document, such as a tariff notice, is cited to it in the sentence. This page explains each calculation so that any figure can be checked or reproduced.
Production by country
Crops and livestock come from FAOSTAT's production domain (element 5510, tonnes). Minerals come from the USGS Mineral Commodity Summaries world tables (mine, refinery or smelter production as labeled), converted to tonnes. Oil, gas and coal come from the Energy Institute Statistical Review (or the US EIA when its API key is configured). Regional aggregates and the FAO "China" aggregate are removed; China means mainland China. A country's share is its value divided by the world total from the same source; where the source publishes no world row, the world total is the sum of reporting countries and the page says so. "Rest of world" is the world total minus the countries shown.
Exporters and importers
Trade rankings use CEPII BACI, a reconciled version of UN Comtrade at the HS6 level. For each HS line in a commodity's registry entry we sum every country's exports to all partners (and imports from all partners) in the latest year, in US dollars and tonnes. Share is of the world total for that line. Raw and processed forms are separate lines so that a country's rank as a bean exporter is never confused with its rank as a processor.
Prices
Monthly benchmark prices come from the World Bank Commodity Price Data (the Pink Sheet) since January 1960 and, for commodities the Pink Sheet does not cover, from the IMF Primary Commodity Price System. Values are stored in the source's unit and never converted for charts. Changes over 1, 12, 60, 120 and 240 months are ratios of monthly averages. The all-time high is the highest monthly average. Real prices divide by the US consumer price index (BLS CPIAUCSL via FRED) and rebase to 2024 dollars. A month-on-month move beyond five standard deviations of the series' history is flagged for human review before publication.
Stocks-to-use
From USDA's Production, Supply and Distribution database: ending stocks divided by domestic consumption for the world, by marketing year. The latest year is USDA's projection and changes monthly.
Reserves
USGS reserves by country for the latest year, in the statistic USGS uses for that mineral (crude ore for iron ore, bauxite for aluminum, metal content for copper).
Consumption
Who uses a commodity comes from the FAOSTAT Food Balance Sheets (2010 onward). Only FAO items that match one commodity here one-to-one are used, and each page says what FAO's item covers (for example, oranges include mandarins and milk is all milk in whole-milk equivalent). Domestic supply is production plus imports minus exports; self-sufficiency is production divided by that total and import dependency is imports divided by it, as FAO defines them. Per-person food supply is FAO's own figure. Rankings per person include only countries of at least one million people. FAO-imputed negative supplies are dropped.
El Niño and La Niña years
A calendar year is labelled El Niño if the mean of its twelve three-month values of NOAA's Oceanic Niño Index is +0.5 or higher, La Niña if it is -0.5 or lower, and neutral otherwise. The report compares real annual price changes across those labels and tests each result against 2,000 random shuffles of the labels across years.
Harvest calendars
Compiled for the top producers of each crop from USDA Foreign Agricultural Service crop calendars and FAO GIEWS country briefs, with a source per country. They show typical months, not a forecast for any season.
Country harmonization
One crosswalk maps FAO area codes, UN M49 codes, ISO 3166 alpha-3 codes, UN Comtrade reporter codes and every spelling used by USGS, the Energy Institute and USDA. An identifier that cannot be mapped stops the pipeline; nothing is dropped silently. Countries are shown by their common English name with the official name on first use.
What we do not do
No forecasts, no daily or live prices, no bilateral trade-flow explorer (see the Observatory of Economic Complexity), no scraping of Wikipedia or paywalled bulletins, no investment advice.
How the text is produced
The numbers come from the pipeline described above; the words around them are drafted with AI assistance and checked against the published data, as set out on the About page. Figures that come from the data tables are inserted when the site is built, so a figure and its source cannot drift apart; figures taken from a published document, such as a tariff notice, are cited to it in the sentence. Charts are drawn by code from the same tables.
Reproducibility
The pipeline (Python) and the site (Astro) are one repository; make all fetches every source, builds the tables, runs the checks and builds the site. Vintages and check results are published at /data-status/. Last run: 22 October 2026.