Does one commodity price move before another?
Of 861 pairs among 42 benchmark prices, 79 show a lagged link (one price's monthly change tracking another's from one to six months later) that is at least 0.20 and beats their same-month link by 0.10. Chance alone produces about 41 such pairs (28 to 50 across 30 shuffled runs), so a real excess exists, and 44 of the 79 hold up in both halves of the window against about 19 in the chance runs.
Method: monthly log changes of each price over the 240 months from September 2006 to August 2026, correlated against every other price at lags from −6 to +6 months. With 861 pairs and twelve lags each, some pairs clear any bar by luck, so the same test was run on copies in which one price was shifted by a random number of months (24 or more), which keeps each series' own pattern but destroys any real timing link. The count from those runs is the benchmark: it is what the real count should be compared with, not zero. Prices are monthly averages, and averaging alone makes neighbouring months' changes correlated, so a one-month lag is the weakest kind of evidence here.
Where the excess is
The lagged links are not spread evenly. Rice appears in 19 of the 79 passing pairs, phosphate fertilizers in 15 and phosphate rock in 9. Passing pairs by the lag at which their link is strongest: 1 month, 9; 2 months, 26; 3 months, 8; 4 months, 7; 5 months, 2; 6 months, 27. The most passing pairs sit at 6 months, the longest lag tested, so the range tested may be cutting off structure that lies beyond it, and the result depends on the window and lag range chosen. Read these as patterns in this window, not as relationships to rely on.
| Moves first | Follows | Months later | Correlation at that lag | Same month | Holds in both halves |
|---|---|---|---|---|---|
| Sawnwood | Phosphate fertilizers | 2 | 0.45 | 0.24 | Yes |
| Logs | Phosphate fertilizers | 2 | 0.43 | 0.22 | Yes |
| Rice | Platinum | 6 | -0.38 | 0.15 | Yes |
| Logs | Rice | 1 | 0.37 | 0.19 | No |
| Phosphate fertilizers | Phosphate rock | 6 | 0.36 | 0.05 | Yes |
| Rice | Palm oil | 6 | -0.34 | 0.11 | No |
| Phosphate rock | Lead | 2 | -0.34 | -0.09 | No |
| Iron ore | Phosphate fertilizers | 2 | 0.34 | 0.10 | Yes |
| Natural rubber | Phosphate fertilizers | 1 | 0.33 | 0.15 | No |
| Soybeans | Phosphate fertilizers | 2 | 0.33 | 0.05 | No |
| Coconut oil | Phosphate fertilizers | 2 | 0.32 | 0.04 | Yes |
| Rice | Nickel | 6 | -0.31 | 0.02 | Yes |
| Palm kernel oil | Phosphate fertilizers | 2 | 0.31 | 0.09 | Yes |
| Sawnwood | Rice | 2 | 0.30 | 0.12 | No |
| Rice | Zinc | 6 | -0.30 | 0.06 | Yes |
| Crude oil | Phosphate fertilizers | 1 | 0.30 | 0.18 | Yes |
| Rice | Coconut oil | 6 | -0.28 | 0.03 | Yes |
| Rice | Corn | 6 | -0.28 | 0.06 | Yes |
| Rice | Copper | 6 | -0.28 | 0.16 | No |
| Tin | Lamb | 2 | 0.28 | 0.13 | Yes |
| Beef | Chicken | 5 | -0.27 | 0.12 | No |
| Rice | Palm kernel oil | 6 | -0.27 | 0.03 | Yes |
| Rice | Silver | 6 | -0.27 | 0.08 | Yes |
| Coal | Gold | 2 | -0.27 | 0.03 | Yes |
| Palm oil | Phosphate fertilizers | 2 | 0.27 | 0.14 | No |
Some pairs people ask about
Each cell is the correlation of the first price's change in month t with the second price's change in month t plus the lag shown (blue positive, orange negative; stronger colour, stronger link). The strongest cell in a row is the one to look at, and a pair is only worth reading as "leading" if a cell off the same-month column is clearly stronger than the one in it.
| Pair | -6 | -5 | -4 | -3 | -2 | -1 | 0 | +1 | +2 | +3 | +4 | +5 | +6 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Crude oil → Urea | -0.13 | -0.02 | -0.00 | -0.01 | -0.05 | 0.06 | 0.25 | 0.27 | 0.11 | 0.02 | -0.07 | -0.03 | 0.12 |
| Natural gas → Urea | 0.01 | 0.06 | -0.00 | 0.04 | 0.08 | -0.03 | 0.06 | 0.14 | 0.09 | 0.13 | 0.13 | -0.03 | 0.02 |
| Urea → Corn | 0.07 | -0.01 | 0.06 | 0.05 | 0.08 | 0.19 | 0.06 | 0.03 | 0.06 | 0.10 | 0.01 | 0.03 | -0.01 |
| Crude oil → Corn | 0.02 | 0.07 | 0.07 | 0.06 | 0.10 | 0.16 | 0.26 | 0.09 | 0.07 | 0.02 | 0.03 | 0.00 | -0.07 |
| Crude oil → Palm oil | 0.07 | 0.10 | 0.08 | 0.05 | 0.17 | 0.33 | 0.44 | 0.14 | -0.06 | -0.15 | -0.12 | -0.11 | -0.11 |
| Crude oil → Sugar | 0.06 | 0.06 | 0.06 | -0.03 | -0.05 | 0.04 | 0.28 | 0.17 | 0.03 | -0.03 | -0.08 | 0.03 | -0.06 |
| Corn → Wheat | 0.17 | 0.10 | 0.13 | 0.03 | 0.05 | 0.21 | 0.54 | 0.07 | -0.02 | 0.01 | 0.05 | -0.08 | -0.09 |
| Copper → Aluminum | -0.15 | -0.05 | -0.07 | 0.00 | 0.08 | 0.30 | 0.66 | 0.30 | 0.24 | 0.12 | 0.16 | 0.04 | -0.10 |
World Bank Pink Sheet primary series for each commodity, monthly averages, 240 months to August 2026; only prices with a value in every month of the window are included. Pass bar: best lagged correlation of at least 0.20 in size and at least 0.10 above the same-month correlation. Chance benchmark: 30 runs with one series circularly shifted by 24 or more months; seeded, so the page is the same on every build. Correlation is not causation, and a shared driver such as energy costs or the dollar can produce a lag between two prices that never affect each other.
More patterns
- Concentration:
- Producer or exporter?:
- Prices in real terms:
- Growth and decline:
- Linked prices and seasons:
- Reserves and mining:
- Supply concentration:
- Land or yield?:
- Supply shocks and prices:
- Category price indices:
- Drawdowns and volatility:
- Stocks and prices:
- Which prices follow oil?:
- How reliable is the data?:
- Net exporters and importers:
- Country leaders:
- Export dependency:
- Concentration over time:
- Import dependency:
- Supplier shifts:
- Trade price against benchmark:
- Prices in other currencies:
- Volatility over time:
- Seasonality:
- Price ratios:
- El Niño and prices:
- Who consumes it:
- Self-sufficiency:
- Trade flows:
Every figure is computed from the same tables as the commodity pages. The full set is in patterns.json, and single facts from it appear each day on the facts page.