← Selected projects

Interactive analysis

Commodity Price & Cost Risk

Explore feed-ingredient prices and stress-test a purchasing budget.

USDA ERS · Monthly dataThrough August 2026Released September 14, 2026Sources & methodology ↗

Loading USDA price history…

About the analysis

Sources & methodology

Data preparation, risk analysis, and interactive visualization by Wajdi Belgacem.

Download the data pipeline (ZIP) ↗

Public data and price definitions

Monthly prices come from USDA ERS Feed Grains Yearbook Tables 12 and 16. Corn is No. 2 yellow in Central Illinois. Soybean meal is the Central Illinois high-protein series. Current underlying AMS definitions are delivered truck bids for corn and FOB rail asking prices for soybean meal. These are distinct market benchmarks, not a matched delivered quote for one business.

This release covers January 2000 through August 2026. USDA released the source on September 14, 2026; it was downloaded September 20, 2026. Values are nominal U.S. dollars and can be revised.

The dashboard uses a dated download that works without an API key. It does not update automatically. Refresh the source files and republish to display a new release.

Price comparisons, volatility, and missing data

Corn is converted from dollars per bushel to dollars per U.S. short ton using 56 pounds per bushel and 2,000 pounds per short ton. A metric tonne is 1,000 kilograms; one pound is 0.45359237 kilograms. The indexed chart sets each series to 100 in the first month of the selected period. The benchmark table always uses the most recent common month.

Historical volatility is the sample standard deviation of consecutive monthly log price changes, multiplied by √12 and expressed as a percentage. It changes with the selected history window. It measures past variability, not the probability or size of a future loss.

Soybean meal has no observation in November 2004, September 2019, or October 2019. Those values remain blank. Lines break at missing months, and returns that cross a missing observation are excluded from volatility calculations. No interpolation is used.

Cost scenarios and interpretation

Baseline cost is the sum of quantity × (reference price + freight/handling adjustment). Scenario cost is the sum of quantity × [reference price × (1 + price change / 100) + adjustment]. Quantities are monthly and stay fixed between the baseline and scenario. Changing the quantity unit converts the inputs to preserve the same physical amount and total cost.

The example starts with 1,000 U.S. tons of corn and 300 U.S. tons of soybean meal per month, with a 10% price increase for each and zero added freight. These quantities and price shocks are illustrative, not company records. The sensitivity grid uses the same quantities, reference month, and adjustments, and changes only the two price shocks.

Costs exclude any expense not entered. They do not include production costs, sales revenue, hedging gains or losses, taxes, or financing. The model is not a feed-formulation optimizer, procurement recommendation, causal model, or profit calculation.

Download and reproduce

The Python pipeline selects the two series from the public CSV, rejects duplicate observations, retains missing months, and generates the data used here. All cost calculations run in the browser. The CSV downloads retain more precision than the rounded display.