Knowledge base / Data 7 min read

Primary Data Series Catalogue

This is the show your work page. Every number the site renders or cites traces back to a named primary series from a public statistical office. This catalogue lists each one: its series ID, its provider, what it measures, its units, its date range, how often it updates, and where on the site it is used. A skeptic can take any ID below, pull the same raw file from the same public endpoint, and check the site against the source.

1. Data honesty policy

The site follows five rules for data, and this page exists so a reader can hold it to them.

  1. Primary sources only. Every series comes from an official statistical office or a central bank: the Federal Reserve Bank of St Louis (FRED), the US Census Bureau, Eurostat, the London Bullion Market Association, and the Cato Institute working paper for hyperinflation. No aggregator, no secondary blog number, no hand keyed figure that cannot be traced to a public file.

  2. Static embedding, no live calls. The pages do not call any external API at view time. The data ships as versioned JSON inside the site build. A visitor loads a static file from the same webroot as the page. Nothing on the site contacts FRED, Eurostat, or any third party while a reader is viewing it. This keeps the site fast, private, and reproducible: the number you see is the number that was committed to the repository, not a value that could shift under you mid read.

  3. A monthly fetch script. A script (site/scripts/fetch-data.mjs) pulls each loaded series from the FRED public CSV endpoint and writes it to site/public/data/<ID>.json. It runs on a monthly cadence. It uses no API key, because the CSV endpoint is public.

  4. A freshness gate that fails loudly. The fetcher refuses to overwrite a good file with a worse one. A series that returns an HTTP error, an empty body, fewer rows than the file already on disk, a last date no newer than the file on disk, or a last data point older than its staleness budget is treated as a failure. The existing file is kept and the process exits non zero. A second script (site/scripts/check-data.mjs) runs in the deploy path, reads only the files on disk, and blocks a deploy whose data has gone stale. This is not theoretical: the OECD German consumer price series went silent for roughly fifteen months and shipped a truncated chart. The gate is what caught it and forced the switch to the Eurostat replacement documented in section 3.

  5. Every figure links to its source. Player facing copy links each cited number to the public page that produced it. This catalogue is the index of those sources.

2. Series the site loads and renders

These four series ship as JSON in the build and drive live charts and the calculators. Each is pulled from the FRED public CSV endpoint by the monthly fetch script.

Series IDProviderMeasuresUnitsRangeCadenceWhere used on the site
M2SLFederal Reserve (H.6), via FREDUS M2 money supply, seasonally adjustedBillions of USDJan 1959 to presentMonthly (budget 130 days)Money supply charts, the “how much money was created” scenes
CPIAUCSLUS Bureau of Labor Statistics, via FREDUS Consumer Price Index for All Urban Consumers, All Items, seasonally adjusted (the CPI-U)Index, 1982 to 1984 = 100Jan 1947 to presentMonthly (budget 120 days)CPI charts, purchasing power decay, wage deflation
MSPUSUS Census Bureau and HUD, via FREDMedian sales price of houses sold in the United StatesUSDQ1 1963 to presentQuarterly (budget 220 days)Housing affordability charts, the price to income comparison
CP0000DEM086NESTEurostat (HICP), via FREDGermany, Harmonised Index of Consumer Prices, All ItemsIndex, 2015 = 100Jan 1996 to presentMonthly (budget 120 days)German language CPI chart at /de

M2SL currently holds 808 monthly points, CPIAUCSL 952 monthly points, MSPUS 253 quarterly points, and CP0000DEM086NEST 365 monthly points.

2.1 Why the German series is Eurostat HICP and not OECD CPI

The German consumer price chart originally used DEUCPIALLMINMEI, an OECD sourced index of German consumer prices carried on FRED. FRED stopped updating that series: its last data point is dated March 2025 and it has not moved since. A chart built on a dead series silently truncates and misleads, so the site switched to CP0000DEM086NEST, the Eurostat Harmonised Index of Consumer Prices for Germany, which begins in January 1996 and continues to update monthly. The freshness gate described in section 1 is exactly what surfaced the discontinued OECD series in the first place.

The trade off is transparency: the Eurostat HICP begins in 1996 rather than reaching further back, and it is the harmonised European measure rather than the national German CPI. Both are stated on the chart. The site prefers a shorter series that is alive and honest to a longer series that has stopped breathing.

3. Series cited in the prose but not shipped

The following series are named in the site text as sources for specific claims, but their JSON is not shipped and no page renders them as a chart. Citing a number by name and linking its source does not require embedding the whole series. These are listed here so a reader knows where each cited figure comes from and can verify it, and so the catalogue is honest about what is charted versus what is quoted.

Series IDProviderMeasuresUnitsStatus on the site
WALCLFederal Reserve (H.4.1), via FREDTotal assets on the Federal Reserve balance sheetMillions of USDCited by name for the balance sheet expansion. JSON not shipped or rendered.
FEDFUNDSFederal Reserve, via FREDEffective federal funds ratePercentCited by name for the rate history. JSON not shipped or rendered.
GFDEBTNUS Treasury, via FREDTotal public debt outstanding of the US federal governmentMillions of USDCited by name for the federal debt total. JSON not shipped or rendered.
SP500S and P Dow Jones Indices, via FREDS and P 500 index levelIndex pointsCited by name for the equity comparison. JSON not shipped or rendered.

These four were fetched at an earlier stage of the project but never consumed by any page. They were removed from the fetch list so the build stops shipping unvalidated and unused data. Any of them can be re added the moment a page renders its JSON.

4. The gold price basis

Gold appears across the site as the fixed weight yardstick against which the fiat unit is measured: the wage to gold comparisons and the salary machine both price a wage against a troy ounce.

The basis is the LBMA Gold Price, specifically the afternoon (PM) auction. The LBMA Gold Price is the globally referenced benchmark, set twice daily in a physically settled auction operated on behalf of the London Bullion Market Association. The site uses the PM auction print.

For the mid 2026 comparisons the site uses a round figure of about 4,080 USD per troy ounce. The underlying reference is the LBMA PM auction of 30 June 2026 at 4,026 USD. The round figure and the exact auction print are both stated wherever the number appears, so the reader can see the rounding.

5. The hyperinflation table

The /hyperinflations page is built on the Hanke and Krus World Hyperinflation Table, published as a Cato Institute working paper (Steve H. Hanke and Nicholas Krus, “World Hyperinflations”, 2012). It is the definitive catalogue of confirmed hyperinflation episodes: for each episode it lists the country, the month of peak monthly inflation, the peak monthly inflation rate, the implied daily rate, and the time it took for prices to double. Its threshold for a hyperinflation is Cagan’s: a monthly inflation rate of 50 percent or more.

The table is a fixed historical dataset, not a live series, so it is embedded directly. Source: Cato Institute, Hyperinflation research.

6. How to reproduce the data

Every loaded series can be pulled by anyone, with no account and no API key, from the FRED public CSV endpoint. The URL pattern is:

https://fred.stlouisfed.org/graph/fredgraph.csv?id=<ID>

So M2 money supply is https://fred.stlouisfed.org/graph/fredgraph.csv?id=M2SL, US CPI is ?id=CPIAUCSL, the median house price is ?id=MSPUS, and the German HICP is ?id=CP0000DEM086NEST. The response is a two column CSV of date and value. That is the exact call the fetch script makes.

To reproduce the whole loaded dataset from the repository, run npm run fetch from site/, which invokes scripts/fetch-data.mjs for every series in scripts/series.mjs, writes the JSON to site/public/data/, and fails loudly on any stale or shrunken series. The committed JSON files carry the same values the site renders, so a reader can diff a fresh pull against the committed file and confirm nothing was altered in between.


Sources

[1] FRED, Federal Reserve Bank of St. Louis, M2SL, M2 Money Stock (Seasonally Adjusted). https://fred.stlouisfed.org/series/M2SL

[2] FRED, CPIAUCSL, Consumer Price Index for All Urban Consumers: All Items in U.S. City Average (Seasonally Adjusted). https://fred.stlouisfed.org/series/CPIAUCSL

[3] FRED, MSPUS, Median Sales Price of Houses Sold for the United States. https://fred.stlouisfed.org/series/MSPUS

[4] FRED, CP0000DEM086NEST, Harmonized Index of Consumer Prices: All Items for Germany. https://fred.stlouisfed.org/series/CP0000DEM086NEST

[5] FRED, DEUCPIALLMINMEI, Consumer Price Index: All Items for Germany (discontinued on FRED, last point March 2025). https://fred.stlouisfed.org/series/DEUCPIALLMINMEI

[6] FRED, WALCL, Assets: Total Assets: Total Assets (Less Eliminations from Consolidation): Wednesday Level. https://fred.stlouisfed.org/series/WALCL

[7] FRED, FEDFUNDS, Federal Funds Effective Rate. https://fred.stlouisfed.org/series/FEDFUNDS

[8] FRED, GFDEBTN, Federal Debt: Total Public Debt. https://fred.stlouisfed.org/series/GFDEBTN

[9] FRED, SP500, S&P 500. https://fred.stlouisfed.org/series/SP500

[10] London Bullion Market Association, LBMA Gold Price (PM auction). https://www.lbma.org.uk/prices-and-data/lbma-gold-price

[11] Steve H. Hanke and Nicholas Krus, World Hyperinflations, Cato Institute Working Paper, 2012. https://www.cato.org/research/hyperinflation

[12] FRED public CSV endpoint, fredgraph.csv download pattern. https://fred.stlouisfed.org/graph/fredgraph.csv?id=M2SL

Cite this article

Since 1971. (2026). Primary Data Series Catalogue. https://since1971.org/read/04-data/01-primary-series-catalogue