How this site knows where things come from
A reference site is only worth reading if you can check it. This post explains how every number on Commodity Origins is produced, so that any figure on any page can be traced back to a public dataset and reproduced.
The rule
No number on this site is typed by a human. Production, trade, price, stocks and reserves figures are computed by a pipeline from a named upstream dataset, stored with the unit the source used, and injected into the prose at build time through placeholders. A writer working on the coffee page writes “In {{prod.year}} {{prod.top1.name}} produced {{prod.top1.value}}” and the build fills it in. If a placeholder does not exist for that commodity, the build fails rather than shipping a hole. That is why the pages do not go stale between data releases and why they never say “currently” or “last year”.
Where the numbers come from
Crops and livestock production comes from FAOSTAT, minerals from the annual USGS Mineral Commodity Summaries, and oil, gas and coal from the Energy Institute Statistical Review. Trade comes from CEPII’s BACI, a reconciled version of UN Comtrade at the six-digit product level. Prices come from the World Bank Pink Sheet, which has published monthly benchmark averages since January 1960, and from the IMF’s Primary Commodity Price System for commodities the Pink Sheet does not cover. Stocks come from the USDA. Every one of these is public and free; the exact files, licenses and citation forms are listed on the sources page, and each table on each page names the source that produced it.
The three things that go wrong
Countries are not standard. FAOSTAT uses its own area codes, UN Comtrade uses reporter codes that are not ISO numbers, USGS writes “Congo (Kinshasa)” and the Energy Institute writes “DR Congo”. One crosswalk maps all of them to ISO three-letter codes. An identifier that does not map stops the pipeline with the offending name printed; nothing is silently dropped, because a silently dropped country is a wrong world total.
Aggregates masquerade as countries. FAOSTAT publishes rows for “World”, “Africa” and “Least Developed Countries” alongside real countries, and a “China” row that includes Hong Kong, Macao and Taiwan on top of the mainland row. Summing the file naively double-counts China and inflates the world total. Those codes are listed explicitly and removed, and China on this site means mainland China.
Sources estimate. FAOSTAT flags each figure as official, estimated, imputed or supplied by an international organization. Its imputed figures are model output for countries that did not report, and some are implausible: the coffee page lists the Central African Republic ninth among producers because FAOSTAT imputes a figure far above what national statistics suggest. Rather than quietly delete rows we dislike, the flag travels through to the table, marked with a superscript and a legend. You can see which figures a country actually reported.
What checks run before anything publishes
Freshness against each source’s publication schedule. Row counts within twenty percent of the last successful run. Country shares summing to 100 for every commodity and year. No negatives, no duplicate country-years, one unit per series, no regional aggregate in a country table. Any month-on-month price move beyond five standard deviations of a series’ own history is held for a human to sign off. A source that fails its checks does not publish: the site keeps the previous snapshot and says so on the data status page, which also carries the vintage and last fetch time of every dataset.
Reproducing it
The pipeline and the site are one repository. make all fetches every source, builds the tables, runs the checks and builds the pages. Every page has a JSON twin at /data/commodities/{slug}.json and a plain-Markdown twin at /commodities/{slug}.md, both documented on the developers page. The derived tables and prose are published under CC BY 4.0; the upstream data keeps its own license.
What this cannot tell you
The prices here are monthly averages of published benchmarks. They lag the physical market, they describe one grade at one delivery point, and they are not what any particular buyer paid. Production figures arrive one to two years after the harvest or the mining year. Trade data is annual and reconciled, which makes it consistent but not timely. If you need today’s price, go to the exchange; if you need bilateral flows, go to the Observatory of Economic Complexity. This site answers a slower question: where does the stuff come from, and why there.
Commodities in this post
Prices are monthly benchmark averages that lag the market; informational only, not investment advice.