Historical Pricing Context
Where a commodity sits against its own recent range, with 25 / 50 / 75 / 90 percentile bands over a chosen lookback.
Example
You enter
- Commodity copper
- Lookback (months) 12
- Shard {source, agency, series_id, units, fetched, cadence, points}
You get
- Latest 536
- Points in window 12
- Series id WPU10250115
- Units Index 1982=100
- Fetched 2026-05-08
Details, formula, and sources
The monthly series is modeled after the named public series (BLS PPI / EIA / USDA NASS / FRED), not copied from it, so read the magnitude and the spread rather than any single month. Reference only; no live fetch.
A MODELED monthly series per commodity, shaped after the named public BLS PPI / EIA / USDA NASS / FRED federal series: a maintainer-committed recent reading, a monthly drift, and a fixed seasonal pattern, materialized over the last 36 months at build time. These are not the published monthly values. Percentile bands (p25 / p50 / p75 / p90) computed via linear-interpolation type-7 quantile over a user-selected lookback window.
Modeled after mixed federal series, built at the date stamped on each shard. Series named: BLS PPI WPU* (industrial commodities); EIA PET.* / NG.* (retail fuel + city-gate gas); USDA NASS / FRED PWHEAMTUSDM / PMAIZMTUSDM / PSOYBUSDM (agricultural).
The series of record are free at bls.gov/data, eia.gov/dnav, fdc.nal.usda.gov, fred.stlouisfed.org. Series IDs are listed verbatim on every shard so the real series can be looked up.
Reference only. Bundled at build time. Confirm against the publishing agency before relying on a number.
Field names used by the API: commodity, lookback_months, shard, latest, points_in_window, series_id, units, fetched
- Quantile method linear-interpolation type-7 (matches NumPy / spreadsheet defaults)Hyndman-Fan 1996
- The points are modeled anchor reading + monthly drift + fixed seasonal pattern; only the magnitude and the spread are meant to be read, never an individual monthscripts/build-data.mjs buildHistoricalShard
- No live fetch true (every datapoint is a same-origin static asset bundled at build time)spec.md no-runtime-fetch rule