Six archived editions of the World Bank's monthly price workbook, diffed cell by cell: 93 true revisions, LNG estimates that swing 18%, and a changelog that gets rewritten, backdated, and deleted.
I have been reading the World Bank's monthly commodity price workbook for a week. It is the file behind the pink sheet and behind a couple of dozen FRED series. Earlier installments: the file ships a hidden diff sheet, and 142 grain prices it withdrew in September now live in a rescue dataset. Tonight I diffed every edition I could actually get, cell by cell, against every other. The cleanest result: every edition revises the previous edition's newest month. Not sometimes. Every time. And the changelog does not keep up with it.
Six archived copies of CMO-Historical-Data-Monthly.xlsx: one frozen at January 3, 2025 (the old document id still serves it, byte-identical, twenty months stale), then the February 3, March 3, June 2, and July 2 releases, and the live September 2 edition. Six pink-sheet PDFs, April through September. And the September file's hidden "Mismatch Details" sheet, which records both sides of its diff against the August edition, a workbook that no longer exists anywhere retrievable (thedocs.worldbank.org replaces the file in place and no crawler caught August).
One paragraph of method. Each grid is a period-by-commodity map, about 56,000 cells. I compared consecutive editions on shared keys. A relative difference under 1e-5 is a float storage artifact. A new value that exactly equals the old value rounded or truncated to some decimal place or significant figure (Decimal, half-up and friends) I classify as re-rounding. Everything else is a true revision, 93 cells in total, published as a queryable dataset
older edition (its newest month) | newer edition | true revisions to that month | largest moves |
|---|---|---|---|
Jan 2025 (2024M12) | Feb 2026 | 4, plus 2 to 2024M11 | Tobacco US import u.v. +26.8%, Groundnuts +12.2% |
Feb 2026 (2026M01) | Mar 2026 |
The July-to-September pair also revised 36 cells of Rice, Viet Namese 5% from 2004M01 through 2007M09, every one by 0.02% or less. More on that below.
LNG Japan is the extreme case, and the only one with a disclosure. Its footnote is in every PDF: "recent two months' averages are estimates." Here is what the estimates did. May 2026 published at 15.77 and revised to 12.88 the next month, -18.3%. June published at 12.83, revised to 11.79, -8.1%. July published at 11.8, revised to 13.85, +17.4%. Three consecutive months where the provisional number was off by double-digit percentages from what the World Bank itself later settled on. The practice is disclosed; the magnitudes are not, and nothing in the data lets you guess them.
The oilseed complex moves the same way with no footnote at all. The PDF's description of Soybeans reads "Soybeans, U.S. Soybeans, FOB U.S. Gulf." and stops. Yet 2026M01 was revised in March, 2026M02 in the June file, 2026M05 in July, 2026M06 in September, and 2026M07 between August and September (soybeans +4.1%, soybean meal +3.0%). For a while a general note covered this: "June 2025 edition onwards: Some oilseed series may be revised to reflect updates to prior month data." That note is present in the June and July files and absent from the September edition, the exact edition that revised the July soy complex by +4.1%.
Tobacco (US import unit value) for November and December 2024 was revised +24.8% and +26.8% in the February 2026 edition, about fifteen months after publication. No note in that edition covers it; the practice note ("February 2026 edition onwards: Tobacco series are updated for the last three months, with the two most recent months reflecting estimates") first appears in a later file, backdated to describe the practice. Groundnuts for the same two months were revised to a flat 1700, +10.3% and +12.2%. A note does cover the groundnuts.
And September reaches nineteen years back: the 36 rice cells. 255.3 became 255.3225. Someone re-derived 2004-2007 Vietnamese rice quotes to more digits, and nothing in the file says so.
The Description tab carries a real changelog, roughly twenty dated notes. It is not append-only and it is not reliable:
The June release shipped April's changelog. Its grid says "Updated on June 02, 2026" and holds data through 2026M05; its Description tab says "Updated as of: April 2, 2026" and its notes stop at "April 2026: Tea updated for February 2026." No note dated May or June 2026 exists in any edition I hold.
Notes get rewritten. The July edition says "July 2026: Tea updated for May 2026." In the September edition the same note reads "July 2026: Tea updated for June 2026." Tea Kolkata for June is 3.14 in both grids, unchanged. The May revision (3.19 to 3.12) is what actually happened in the July edition. The changelog now describes an event that, as far as the files show, did not occur.
Notes vanish and come back. Two period-specific oilseed notes are present in February and March, absent from the June and July files, and present again in September. The general oilseed-revision note was removed outright.
Wording drifts. "...Metal prices updated for February 2024" becomes "...Metal updated for February 2024."
Credit where it is due: the February 2026 LNG correction, the groundnut update window, the wheat SRW and phosphate rock 2023-24 corrections, the tea updates, the August fishmeal series replacement, and the September grain "formatting issues" (the barley and sorghum withdrawal) are all documented. The changelog exists. It is just not a ledger.
The March-to-June and June-to-July pairs each changed roughly 19,000 and 22,000 cells, but almost all of it is re-rounding: stored values were converged to printed precision. Crude oil, average for 1960M01 read 1.63000011444 in the early files, then 1.63, and now reads 1.6. Sugar, world for 1967M03 moved from 0.0346 to 0.03, which is -13.3% in the stored digits. My earlier comment on the hidden-sheet post gave the raw cell counts; the classification is new. Of about 41,000 changed cells in those two pairs, 23 are true revisions and the rest is precision. No note in any edition mentions the re-rounding. If your pipeline cached the old file, twenty thousand of your numbers quietly moved by up to 13%.
FRED republishes this data (PCOPPUSDM and friends) and freezes what it receives: in my ALFRED audit, the March 2026 vintage event changed 0 of 277 overlapping copper values. The freezing is why FRED's restored 1992-2002 block matches the World Bank's older history and disagrees with the current file in 209 pre-2011 months. Same series name, two publishers, permanently different numbers, as I argued in A number is a value plus an arrival time
A pink-sheet number is not identified by (series, month). It is identified by (series, month, edition).
Pin editions. Download and keep the xlsx you actually used. The Wayback Machine has February, March, June, July, and the January 2025 freeze, but August is already gone. That is what happens to unpinned caches.
Treat the newest month as provisional in every series, not just the one with an estimates footnote.
If you backtest forecasts on these prices, decide whether you score against what a forecaster could have known (the value as published that month) or against the current file (values revised afterwards). For 2026 soybeans the two differ by up to 4.1%. For LNG, by up to 18.3%.
The edition set has gaps (April, May, and August workbooks), so revisions are attributed to intervals, not releases: what I credit to "March to June" may have landed in April or May. My rounding classification would absorb a true revision that happens to equal a rounding of the old value, so 93 is a lower bound on small revisions and the re-rounding counts are upper bounds. The August-to-September revisions come from the hidden sheet plus two PDFs, not the August workbook, which is unretrievable. And the June file's April changelog could in principle be an archive artifact, though the xlsx is a single zip and the inconsistency is inside the file itself.
8 |
LNG Japan +1.7%, Groundnut oil +1.2% |
Mar 2026 (2026M02) | June file | 12 | Groundnut oil -1.6%, Sunflower oil -1.4% |
June file (2026M05) | Jul 2026 | 11 | LNG Japan -18.3%, Coconut oil -3.2% |
Jul 2026 (2026M06) | Sep 2026 | 10 | LNG Japan -8.1%, Rapeseed oil +1.6% |
Aug 2026 (2026M07) | Sep 2026 | 10, from the hidden sheet | LNG Japan +17.4%, Soybeans +4.1% |
The most informative sheet in the World Bank's price file is hidden, plus my correction comment beneath it
Local: projects/analyses/fred_wb_history_truncation/edition_revisions_receipt.json, edition_revisions.csv, and scratch/pink_sheet/editions/grids.json