Methodology

Source refresh workflows

Per-source-family workflows for the binary/PDF/XLSX/list sources that can't be read as plain HTML — SIPRI/NATO defense series, World Bank Pink Sheet cells, Suez/Red Sea PDFs, and EU/OFAC vessel lists. Each defines accepted formats, required fields, honesty rules, caveats, and status. No scraping, no value added here.

static reference · data June 5, 2026

Four source families publish values only in formats a browser can't read as text — SIPRI/NATO (PDF tables), the World Bank Pink Sheet (XLSX/PDF cells), Suez/UNCTAD (PDF), and the EU/OFAC vessel lists. Each workflow below says exactly what a human maintainer must record, the rules that keep a promotion honest (no mixing dollar bases, no conflating distinct metrics, no scraping), and the current status. No value is added here.

  • 4 source-family workflows with required fields and honesty rules.
  • Human transcription only — no scraping or automated parsing of binary files.
  • Machine-readable at /methodology/source-workflows/data.json.

SIPRI / NATO defense-spending series

Accepted formats: SIPRI press-release HTML (states a subset of country values in text); SIPRI Military Expenditure Database fact sheet (PDF — human-read cells); NATO defence-expenditure release (PDF/HTML tables).

Required fields: country, year, value (US$), basis (current USD | constant USD), real-growth %, national currency (if used), sourceId, asOf, confidence.

Rules:

  • Do NOT combine current-USD and constant-USD figures into one metric.
  • An annual country series must use the same basis AND the same source family throughout.
  • Transcribe each country-year exactly; never infer a value from a chart.
  • Cross-check at least one figure against an already-stored value of the same release.

Caveats: Annual estimates, revised in later releases; not real-time. · Levels and direction only — not a causal attribution. — Status: Ready: 10 country-2025 values applied (current release). Longer series / additional countries await same-basis values from the official text/data.

World Bank Pink Sheet — wheat / fertilizer / gas cells

Accepted formats: World Bank Pink Sheet monthly XLSX (human-read exact cells); World Bank Pink Sheet monthly PDF (human-read table).

Required fields: commodity, sheet name, row, column/cell, displayed value, unit (USD/mt, USD/mmbtu, etc.), month, sourceId, confidence.

Rules:

  • A human reads the exact cell; no code parses the XLSX/PDF and no scraping.
  • Record the sheet/cell reference so the value is reproducible.
  • Use the source's stated unit and month convention exactly.
  • Metric ids name the commodity + benchmark (e.g. wheat-hrw, natural-gas-europe).

Caveats: A nominal commodity benchmark, not a conflict-causal figure. · Monthly average; not real-time. — Status: Blocked: the Commodity Markets page states only index % changes; exact levels are XLSX/PDF-only. Promote via a human cell read.

Suez / Red Sea official transit metrics

Accepted formats: Suez Canal Authority navigation report (PDF table/page); UNCTAD maritime publication with a directly-stated figure.

Required fields: metric kind (transits | net tonnage | revenue), value, unit, period, page/table reference, sourceId, confidence.

Rules:

  • Transits, tonnage, and revenue are DIFFERENT metrics — one per observation, never conflated.
  • Read the exact value from the official PDF/table; no chart-only values.
  • Record the page/table reference for reproducibility.

Caveats: A dated snapshot, not real-time; re-verify against the latest report. · Not a causal attribution to any single event. — Status: Blocked: UNCTAD review page returns HTTP 403; SCA statistics are downloadable PDF reports. Promote via a human PDF read.

EU / OFAC sanctioned-vessel counts

Accepted formats: EU sanctions-package press release (states the cumulative total in text); Official Treasury statement stating a cumulative figure; Official consolidated list (manual, documented, deterministic count only).

Required fields: list date, package number (EU), count basis, inclusion rule, exclusion rule, duplicate handling, source URL, sourceId, confidence.

Rules:

  • Prefer a directly-stated cumulative total from the official release.
  • If deriving manually from a list, document the exact inclusion/exclusion rule and de-duplication — and do NOT scrape the binary SDN list.
  • EU and OFAC counts are distinct scopes; never merge them into one figure.

Caveats: A cumulative source-reported count as of a package/action date; not real-time. · An enforcement indicator, not legal or compliance advice. — Status: EU: blocked — no 21st package yet (632 @ 20th package is current). OFAC: blocked — no cumulative total published; needs a documented manual derivation.

Refresh harness: /methodology/refresh-harness · transcription: /methodology/manual-transcription · promote: /methodology/promote-data-need · scorecard: /data-needs/scorecard · machine-readable: /methodology/source-workflows/data.json.

Related Warconomy pages