Data Sources

Public government, court, statement, and market sources — each category with a defined role in the index

PEPIndex combines four kinds of public sources: threat-detection feeds that define each event (Federal Register executive orders, proclamations, presidential memoranda and determinations, agency notices such as USTR Section 301 actions, and a public archive of presidential statements), outcome-resolution sources that determine how a threat actually resolved (USITC applied tariff rates, federal court opinions, Congress.gov bill actions, the eCFR, and independent-reporting reconciliation for non-trade outcomes), economic-impact measurement sources (BLS, FRED, and equity market data), and a small set of static calibration references drawn from published research. Threat classification and non-trade outcome reconciliation use large language models with human review, described below. No commercial aggregators, licensed market terminals, or third-party scrapers are used; provenance is tracked per event and exposed in the API.

Source catalogue

Every source category and the role it plays in building the index.

SourceTypeRole in the indexCadenceAccess basis
Federal RegisterGovernment publicationThreat detection (executive orders, proclamations, presidential memoranda & determinations) + outcome resolution (the documents that implement or withdraw a threat)Daily (incremental)Public API
Agency notices (USTR Section 301)Government agency noticeThreat detection and resolution for Section 301 actions, which publish as Federal Register notices rather than presidential documentsDaily (via Federal Register)Public API
Presidential statementsPublic archiveThreat detection — primary statement feed; feeds the repetition-pattern dimensionContinuousPublic archive
USITC DataWebGovernment tariff dataOutcome resolution + economic measurement (the statutory-vs-applied gap drives reversal magnitude)Monthly (rolling)Public, registration
Federal court opinionsFederal court recordsOutcome resolution — the trade courts, the Supreme Court, and the district and circuit courts where executive orders are challenged and first enjoinedSeveral times a dayPublic API
Congress.govGovernment legislative dataOutcome resolution (bill actions for legislation-linked events)Per bill-linked eventPublic, free key
Independent-reporting reconciliationGrounded web researchOutcome resolution for overdue non-trade events (independent reporting weighted above self-reported posts)Per overdue eventModel API
eCFRGovernment regulatory textOutcome verification (regulatory diffs compared against each recorded outcome; disagreements flagged for operator review)Per resolved eventPublic API
Census Bureau imports (duty/value)Government trade dataIndependent applied-rate backstop — monthly cross-check of live USITC rates per country and HS chapter (report-only; publication-lag-aware)MonthlyPublic API, free key
BLSGovernment price and employment indicesEconomic-impact measurement (four-group CPI model, pass-through, import prices, employment)Monthly, with the agency's release — three release schedules, reported separatelyPublic, free key
FRED (St. Louis Fed)Government macro seriesEconomic-impact measurement + macro contextDaily / monthlyPublic, free key
Equity market dataMarket data feedMarket reaction around threat/outcome dates (context only — not used in behavioral scoring)Several times a dayPublic
Published pass-through researchStatic calibrationCalibration only (superseded by live USITC rates each run)Static referencePublished research

Automated pipeline sources

Source ingestion runs several times a day. The public composite index is published daily after validation; per-source freshness is exposed live at /api/v1/sources/status (human-readable view: source freshness status). Each source updates on its own official release schedule.

SourceDataOfficial cadence
Federal Register
PUBLIC
Executive orders, presidential proclamations, memoranda and determinations, tariff schedules, and agency notices. Primary source for executive-order event classification and for the documents that resolve a threat. Daily (incremental)
Presidential statements
PUBLIC
A public archive of the president's posts and remarks. Used for statement detection and threat classification. Continuous
USITC DataWeb
PUBLIC
Applied tariff rates at HS-chapter × country level for the major U.S. trading partners: customs-collected duties relative to import value. Core input to Reversal Magnitude scoring. Monthly (rolling window)
BLS Public Data API
PUBLIC
CPI component series behind the four-group tariff pass-through model, producer prices, import prices, and manufacturing/retail employment. Reported as three separate sources because BLS publishes them on different schedules — in the first half of a month they legitimately show different reference months. Monthly, with the agency's release; history re-read each run so revisions are absorbed
FRED (St. Louis Fed)
PUBLIC
Headline and core CPI, S&P 500, VIX, goods trade balance, imports, producer prices, the broad dollar index, and Treasury yields. Daily / monthly (series-specific)
Federal court opinions
PUBLIC
Rulings affecting tariff validity and executive-order legality, across three layers: the trade courts, the Supreme Court, and the executive-order litigation courts — the district and circuit courts where challenges to executive orders are filed and first enjoined. Relevance is judged per court, and a matched ruling resolves the event it concerns. Several times a day
Equity market data
PUBLIC
S&P 500, VIX, and sector-ETF daily closes around threat/outcome dates. Market reaction signal only — not used in behavioral scoring. Several times a day
eCFR
PUBLIC
Electronic Code of Federal Regulations — point-in-time snapshots for regulatory outcome verification against resolved events. Per resolved event
Congress.gov
PUBLIC
Authoritative congressional bill actions and enactment status. Reconciles the outcome of monitoring events tied to legislation: bill death → abandoned, passage/enactment → full_implementation. Per bill-linked event
Independent-reporting reconciliation
AI
Foreign-policy / domestic outcome reconciliation. For overdue, still-pending non-trade events the Federal Register / court / Congress resolvers can't reach, a grounded web-research step determines whether the threatened action was carried out, de-escalated, or abandoned — weighting independent reporting above the president's own posts, and recording which kind of evidence the outcome rests on in outcome_evidence_source. Per overdue non-trade event, with a bounded per-run budget

Data vintage and statistical revisions

Government statistical series are revised after publication. PEPI's economic layer therefore tracks latest vintage, not point-in-time: each surface reports the currently published value for a reference period, not the value that was published when we first read it. That is stated here because it determines what a figure means when you cite it.

No revision schedule is assumed. BLS documents typical revision windows, but those are practices rather than guarantees — benchmark and seasonal-factor revisions reach further back than the routine one, corrections land off-cycle, and the calendar itself slips (the 2025 appropriations lapse removed October 2025 from the annual import/export price review). So no fetch window, comparison window, or rebuild trigger is keyed off an expected revision date. The full history is re-fetched every run and every observation compared against the stored value, which means a restatement is caught wherever and whenever it lands. Restatements update automatically on the next cycle; each one is recorded so the change stays auditable afterwards.

What a revision moves is bounded. It updates the price-impact measures and the per-event economic columns derived from them. It does not move any event's composite score — the scorer's only economic inputs are the announced and applied tariff rates, which come from USITC, not BLS — and it does not move the daily index, which reads the economic series only for the day's S&P 500 close. The behavioural index is stable against statistical revision by construction. The principle is set out in the methodology overview.

Source outages do not create gaps. Every source is polled on a schedule, but a failed poll writes nothing and deletes nothing — the stored history keeps serving, and the next successful poll re-reads the source's full window rather than only what is new. An observation published or revised while a source was unreachable is therefore picked up on recovery, not skipped. This is why the ingest deliberately re-reads full history instead of fetching only the latest period: a narrow window would make an outage permanently lossy.

Analysis & classification layer

Two model-driven steps sit between ingestion and scoring. They interpret public-source text into structured events and outcomes; they are not themselves data sources.

StepRoleNotes
Threat classifier Tags each ingested statement and Federal Register document against the four PEPI criteria, distinguishes a new forward-looking threat from restatements, de-escalations and claims about an existing threat, and produces the structured event record published through the API with a confidence score. Only a new forward-looking threat creates an event; follow-up statements are attached as evidence to the event they concern. Low-confidence detections are held for human review before they are confirmed.
Non-trade outcome resolver Reconciles overdue foreign-policy / domestic outcomes the documentary resolvers can't reach, using grounded web research and weighting independent reporting above self-reported posts. An outcome the resolver cannot establish with confidence leaves the event monitoring rather than guessing.

Calibration data (static reference)

These references are loaded once during initialization and are not automatically refreshed.

SourceDataUsed for
Retail price pass-through research Published, freely-citable aggregate estimates of retail pass-through, CPI contribution and consumer incidence for the 2025 tariffs, from peer-reviewed research built on a large retail-scanner sample. Used only to verify methodology alignment — a published reference, not a live or proprietary input. Economic-impact calibration for trade events; superseded by live USITC applied rates each pipeline run.
First-term trade-war rate references First-term trade events: Section 232 (March 2018), Section 301 China tariff lists, Phase One deal terms, Canada/Mexico exemption timeline. Historical event calibration for the 2018 benchmark events.

Manual verification references

These sources have no public API. They are used for manual event verification and calibration audits — not for automated ingest.

SourceScopeHow used
Atlantic Council Trump Tariff Tracker Second-term (2025+) tariff events, court ruling timeline, statutory authority (IEEPA, Section 232, Section 301, Section 122) Verify event dates, confirm court rulings, cross-check statutory authority
First-term trade-war rate reference First-term (2018–2021) Section 232/301 events; Phase One deal terms Source authority for first-term calibration events
Federal Register (historical) Full presidential documents since 1994 Manual verification of seed events predating the 2025-01-20 automated ingest start date
USTR Press Releases Official tariff-action announcements; Section 301/232 investigations Cross-check announced rates and dates. The formal USTR actions behind them auto-ingest as Federal Register notices; the press page remains a manual reference.
Yale Budget Lab — Tariff Tracker Monthly effective tariff rate, customs revenue, PCE goods/durables price deviation Independent cross-validation of the USITC applied rates and BEA PCE series; pass-through range for the economic-impact calibration
Federal court dockets (manual) High-stakes tariff and executive-order dockets Manual spot-checks of rulings ahead of, or in addition to, the automated court ingest

What we do not use