The Supply Map/Methodology

Where this comes from

How The Supply Map works

The Supply Map is built on primary government sources: FDA, USDA, EIA, NHTSA, CPSC, and others. This page documents what we ingest, how we connect it to goods and inputs, and what we deliberately do not do.

Authors: Jon Ragsdale (CIPO) & David Duley (CEO)Last updated Apr 17, 2026

01 — Overview

What The Supply Map is

What changed (May 2026): The Supply Map has retired its composite 0–100 risk score. The score conflated structural vulnerability (slow, editorial) with current pressure (fast, factual) into a single number that wasn't rigorous enough to defend as journalism. We now surface the underlying facts directly: active signals, named scenarios, recalls, and the supply graph itself. A calibrated quantitative index may return later as its own clearly-scoped research output.

The Supply Map is a connected encyclopedia of how the world supplies America. It covers 36 essential goods, the inputs they depend on, the countries those inputs come from, and (as our extraction pipeline runs) the companies and facilities that produce them. Every signal we surface is traceable to a U.S. federal government API or database.

We do not use news articles, social media, or third-party aggregators as primary signal inputs. Each source has a defined ingestion cadence and a staleness threshold; data older than the threshold is flagged stale and excluded from the live surface.

02 — Data sources

Primary sources and cadence

All signals originate from U.S. federal government APIs and databases. We do not use news articles, social media, or third-party aggregators as primary signal inputs. Each source has a defined ingestion cadence and a staleness threshold — data older than the threshold is flagged as stale and excluded from live scoring.

FDA Drug Shortages

U.S. Food and Drug Administration

Daily — 10:30 AM ET

Active and resolved drug shortage records from the FDA Drug Shortage database. Each shortage record is normalized to a severity score based on shortage status and whether the drug appears in FDA's medically necessary category.

Primary source

FDA Enforcement Reports

U.S. Food and Drug Administration

Daily — 10:45 AM ET

Drug and food recalls from the FDA openFDA enforcement API. Each record includes recall classification (Class I–III), reason, recalling firm, distribution pattern, and lot information. Class I recalls carry highest severity.

Primary source

USDA FSIS Recalls

USDA Food Safety and Inspection Service

Daily (pending recovery)

Meat, poultry, and egg product recalls from the USDA FSIS recall API. Ingestion is live; the USDA FSIS server experienced a 503 outage during initial setup and will contribute to scores once confirmed stable.

Primary source

EIA Petroleum Prices

U.S. Energy Information Administration

Weekly series (52 weeks)

Weekly U.S. average retail gasoline and diesel prices from the EIA API. 52-week trailing window. Price deviation from baseline drives the severity score for gasoline and diesel tiles.

Primary source

EIA Natural Gas Prices

U.S. Energy Information Administration

Monthly series

Monthly U.S. residential natural gas price series from the EIA API. Price deviation from prior-year baseline drives severity for the natural gas tile.

Primary source

03 — Ingestion pipeline

How raw data becomes signals

Each source runs through a four-stage pipeline:

  1. 01
    Fetch. The ingestion task calls the source API and pages through all available records. Raw API responses are stored as-is in risk_raw_observations with a content hash. Unchanged records are detected by hash comparison and skipped — only changed or new records proceed.
  2. 02
    Normalize. Each source has a dedicated normalizer that converts the raw record into a canonical signal schema: severity (0–100), confidence (0–100), subject name, signal type, risk vector, observed date, and evidence URL. Normalization logic is source-specific but outputs a uniform structure.
  3. 03
    Upsert. Normalized signals are upserted to risk_normalized_signals using the source's external ID as the deduplication key. Existing records are updated if content has changed; new records are inserted. Signal status (active / historical) is preserved across runs.
  4. 04
    Match + score. After upsert, the matching engine runs deterministic matching to link signals to essential goods. After matching, new risk score snapshots are written for all goods using the formulas below.

04 — Signal matching

Linking signals to essential goods

Each normalized signal is matched against the 39 essential goods catalog using deterministic rules — not embeddings or fuzzy NLP. This makes matches auditable and correctable.

Each good has a curated list of matching terms and optional category rules. For example, the Beef & Ground Beef good matches signals whose subject name contains “beef”, “ground beef”, “hamburger”, “bison”, “veal”, or “steak”. USDA FSIS signals are additionally filtered by the product category field in the recall record.

A signal can match multiple goods. Matching is one-to-many: a ground beef recall can simultaneously contribute to the Beef good and the Grocery Staples good if both term lists match.

Each match produces a match_score (0–100) used in scoring. Match score reflects the strength of the association: a direct product-name match scores higher than a category-only match. Matches are stored in essential_good_signal_matches and are re-run on every ingest to pick up new goods added to the catalog.

05 — Limitations

What this does not measure

The Supply Map scores are informational. They are not financial advice, investment guidance, or a recommendation to buy, sell, or stockpile any good. PRIA is not responsible for decisions made in reliance on these scores.
  • Coverage gaps: only goods with at least one active data source are shown. Many essential goods (water infrastructure, housing materials, grid reliability) are not yet covered.
  • Lag: scores reflect data as of the last successful ingestion. Government APIs may themselves lag behind real-world conditions by hours to days.
  • False negatives: the absence of a government signal does not mean a good is safe. Shortages and disruptions sometimes precede official reports.
  • Geographic granularity: national scores do not reflect regional variation. Gasoline in Houston may behave differently than gasoline in rural Maine. State and metro views are a future priority.
  • Substitutes: scoring does not model cross-good substitution. If insulin is at severe risk and metformin is at low risk, the dashboard does not reflect that households may switch.
  • Structural factor calibration: vulnerability factor ratings are set at catalog creation and updated periodically — not in real time. They reflect informed editorial judgment, not econometric estimation.

06 — Contact

Journalists, researchers, and corrections

We want this data to be cited, challenged, and improved. If you find an error in a score, a recall record, or the methodology itself, please reach out. We will investigate and correct publicly.

Press & media

Embed requests, methodology questions, interview requests.

press@policyrisk.com

Corrections & research

Data errors, coverage requests, academic collaboration.

research@policyrisk.com

Jon Ragsdale is a FINRA-registered investment adviser representative (CRD# 8129537, verifiable on FINRA BrokerCheck). The Supply Map scores are supply risk assessments, not investment or financial advice.