IMF Indicator β Article Type Mapping
May 15, 2026 Β· View on GitHub
π Document Owner: CEO | π Version: 1.1 | π
Last Updated: 2026-04-25 (UTC)
π Review Cycle: Quarterly | β° Next Review: 2026-07-31
π’ Owner: Hack23 AB (Org.nr 5595347807) | π·οΈ Classification: Public
π Mirror file: worldbank-indicator-mapping.md (non-economic domains)
π₯ Feeds artifact: economic-context.md (Stage B.6, strategic-extensions-methodology.md Β§Economic Context)
π gate (April 2026): A policy-required article passes the economic-context gate when every economic / fiscal / monetary / trade / FDI / exchange-rate / banking-soundness claim cites an IMF indicator from this mapping (with SDMX code + vintage prose + data-vintage HTML attribute + forecast marker within 30 words of any projected number). The Admiralty grade is A1/A2 for IMF WEO/FM actuals and B2 for IMF staff estimates. The legacy IMF requirement ("WB or IMF satisfies the gate") is retired.
Purpose: Canonical reference that maps European Parliament Monitor
article types to the most-relevant IMF indicators sourced from WEO,
Fiscal Monitor, IFS, BOP, ER, PCPS, GFSR, EREO, FSI, GFS, DOT via the
native TypeScript IMF SDMX 3.0 REST client in
src/mcp/imf-mcp-client.ts
(base URL https://dataservices.imf.org/REST/SDMX_3.0/).
Scope: The sole authoritative source for all economic context
macro / fiscal / trade / monetary / exchange-rate / debt / FDI / banking
β under the (April 2026). Social / health / education /
environment / defence / agriculture / innovation / governance indicators
remain on World Bank β see
worldbank-indicator-mapping.md.
Cross-reference: IMF is the exclusive source for any economic /
fiscal / monetary / trade metric because (a) IMF WEO publishes April +
October each year with full actuals + 5-year forecasts, (b) IMF
aggregate codes EU, EA, G7, G20 are accepted by the IMF API
whereas the equivalent EUU, EMU are rejected by
worldbank-mcp@1.0.1, (c) IMF provides a single "IMF, World Economic Outlook, April 2026" provenance line with no vintage patching, and (d)
IMF is the only source that ships multi-year forecasts at EU-member-
state granularity.
Enforcement: IMF is the required primary source for every economic
claim in policy-required articles. Enforcement is editorial at Stage-C
completeness review of the markdown analysis artifacts β see
.github/prompts/04-article-generation.md Β§5.
The fingerprint surface (product names, tool identifiers, SDMX
indicator codes) is documented in
../imf/indicator-catalog.md Β§6
as the editorial fingerprint list.
1. Indicator Codes (reference)
The IMF MCP tool imf-fetch-data expects the database ID + SDMX
indicator code in the filters map. Canonical EU-Parliament-relevant
codes:
World Economic Outlook (annual + forecasts)
| Code | Description |
|---|---|
NGDPD | GDP, current USD |
NGDP_RPCH | Real GDP growth, annual % |
NGDPDPC | GDP per capita, current USD |
PCPIPCH | CPI inflation, annual % |
LUR | Unemployment rate, % of labour force |
LP | Population, millions |
BCA_NGDPD | Current account balance, % of GDP |
TX_RPCH | Export volume growth, annual % |
Fiscal Monitor (annual + forecasts)
| Code | Description |
|---|---|
GGXWDG_NGDP | General government gross debt, % of GDP |
GGXONLB_NGDP | Primary balance, % of GDP |
GGSB_NPGDP | Structural balance, % of potential GDP |
International Financial Statistics
| Code | Description | Frequency |
|---|---|---|
FPOLM_PA | Monetary policy rate | Monthly |
Balance of Payments (BOP_AGG)
| Code | Description | Frequency |
|---|---|---|
BFD_BP6_USD | FDI inflow, current USD | Quarterly |
Exchange Rates
| Code | Description | Frequency |
|---|---|---|
EREER_IX | Real effective exchange rate | Monthly |
For the complete 80-indicator inventory across 10 EP policy domains,
including FSI banking soundness, GFS revenue structure, DOT bilateral
trade, and GFSR financial-stability metrics, see
../imf/indicator-catalog.md. Full
database enumeration in
../imf/database-directory.md.
2. Policy Article Types β IMF Primary Source
| Article type | Primary IMF indicators | Database | Min IMF indicators | Stakeholders |
|---|---|---|---|---|
committee-reports (ECON) | NGDP_RPCH, PCPIPCH, LUR, BCA_NGDPD, FPOLM_PA | WEO + IFS + GFSR + FSI | β₯ 4 | ECB, Commission, MEPs |
committee-reports (BUDG) | GGXWDG_NGDP, GGXONLB_NGDP, GGSB_NPGDP | FM + GFS | β₯ 3 | Member-state finance ministries, Commission |
committee-reports (AFET / SEDE) | NGDPD, BCA_NGDPD, DOT bilateral | WEO + DOT + EREO | β₯ 2 | Defence ministries, Council |
committee-reports (INTA) | TX_RPCH, BFD_BP6_USD, EREER_IX | WEO + BOP_AGG + DOT + ER | β₯ 3 | DG TRADE, member states |
week-ahead | NGDP_RPCH, PCPIPCH (forecasts) | WEO | β₯ 2 | Editors, MEPs |
month-ahead | NGDP_RPCH, PCPIPCH, LUR, GGXWDG_NGDP (forecasts) | WEO + FM | β₯ 2 | Editors, policy analysts |
breaking | PCPIPCH, LUR (latest actual / Q1-Q2 proxy) | IFS / CPI | β₯ 1 | Editors |
week-in-review | Period-over-period deltas for WEO + IFS | WEO + IFS + CPI | β₯ 1 | Analysts |
month-in-review | Period-over-period deltas + monthly PCPS/ER | WEO + IFS + PCPS + ER | β₯ 2 | Analysts |
motions | Macro backdrop for legislative risk-assessment SWOT | WEO | β₯ 1 | Analysts |
propositions | As motions | WEO | β₯ 1 | Analysts |
These per-type indicator floors are enforced at Stage-C completeness
gate by editorial review of analysis/daily/<run>/intelligence/economic-context.md
β the agent counts distinct SDMX indicator codes cited against the
article-type's floor. The legacy runtime constant
IMF_PER_ARTICLE_INDICATOR_FLOORS in src/utils/imf-data.ts was
purged in the April-2026 aggregator-pipeline migration.
3. World Bank β non-economic domains
IMF does not cover these domains β the World Bank remains the authoritative source:
- Social: life expectancy, birth/death rates, internet users
- Health: physicians, hospital beds, immunisation, disease prevalence
- Education: enrolment, literacy, completion, teachers
- Environment: COβ, renewable energy, air quality
- Innovation: R&D, high-tech exports, ICT imports
- Demographics: population structure, migration
- Defence: military expenditure (MS.MIL.XPND.GD.ZS β cross-reference with IMF general-government expenditure where needed)
- Agriculture: agricultural value added, arable land
- Governance: regulatory quality, rule of law, voice/accountability
Articles combining economic + non-economic context cite IMF first for
the economic claim and WB additively for the non-economic one β see
../imf/use-cases.md Β§5 for the canonical
citation pattern.
4. Stage-C Editorial Fingerprints
The fingerprint surface that Stage-C reviewers use to confirm "IMF is cited" in an article is:
| Fingerprint class | Canonical source |
|---|---|
IMF product names (IMF, WEO, Fiscal Monitor, International Monetary Fund, data.imf.org, dataservices.imf.org) | ../imf/indicator-catalog.md Β§6 |
Virtual tool names (imf-list-databases, imf-search-databases, imf-get-parameter-defs, imf-get-parameter-codes, imf-fetch-data) | IMF_MCP_TOOLS in src/mcp/imf-mcp-client.ts (drift-guarded by test/integration/mcp/imf-mcp.test.js) |
| SDMX indicator codes | Section 1 of this document + ../imf/indicator-catalog.md Β§2 |
| World Bank equivalents (for non-economic domains) | worldbank-indicator-mapping.md |
Stage-C confirms intelligence/economic-context.md contains β₯ 1 IMF product
name and enough distinct SDMX indicator codes to satisfy the
per-article-type floor in Β§2 / Β§8. The same IMF-backed facts may inform
manifest.title and manifest.description, but only when the artifact also
contains the EP policy bridge described in economic-context.md and
Article-Generation.md's SEO metadata contract.
5. Forecast Labelling Rule
Articles citing an IMF forecast MUST:
-
Forecast marker (Stage-C editorial check): include at least one of the following within 30 words of the number
/\b(forecast|forecasts|forecasted|projection|projections|projected|IMF\s+projects?|IMF\s+expects?|expected\s+to\s+(reach|rise|fall|grow|shrink|contract|expand))\b/i -
Vintage citation: cite the vintage inline (
WEO April 2026,Fiscal Monitor April 2026) and setdata-vintage="WEO-April-2026"on the enclosing<section class="economic-context imf-economic-context">block, if that wrapper is authored explicitly inintelligence/economic-context.md; otherwise set it on the artifact's top-level section element. -
Optimism-bias acknowledgement: for horizons β₯3 years, include one sentence sized per the MAE bands in
../imf/forecast-accuracy-baseline.md.
All three rules are enforced at Stage-C completeness review of the
markdown artifact. The legacy regex helper
(validateIMFForecastMarker) and the metadata helper
(validateIMFVintageMetadata) in src/utils/imf-data.ts were purged
in the April-2026 aggregator-pipeline migration.
6. Country Code Conventions
IMF uses ISO-3166-1 alpha-3 codes for every EU member state (same as
World Bank). Aggregates: EU (27 members), EA (current Euro Area),
G7, G20. See ../imf/eu-country-mapping.md.
EA membership drift: Croatia joined the Euro Area on 2023-01-01.
WEO EA timeseries use the current membership throughout history
β articles covering pre-2023 timeseries cite "EA current membership"
in the chart caption.
7. Vintage Tracking
Every article citing an IMF number MUST embed the vintage in HTML metadata for auditability:
<section class="economic-context imf-economic-context"
data-vintage="WEO-April-2026">
...
</section>
The aggregator (src/aggregator/**) strips YAML front-matter, so
data-vintage="β¦" MUST be emitted in the Markdown body as explicit
HTML on the rendered container in intelligence/economic-context.md
(for example, the <section> shown above). Stage-C review confirms
its presence for any article matching the forecast-marker regex in
Β§5.
The earlier
buildIMFEconomicContextHTMLutility and thevalidateIMFVintageMetadata(html)check insrc/utils/imf-data.ts/src/utils/content-validator.tswere purged in the April-2026 aggregator-pipeline migration. The editorial requirement is unchanged.
8. Per-Article-Type Indicator Minimums
The editorial floors applied at Stage-C completeness review:
| Article type | Floor | Committee overrides |
|---|---|---|
committee-reports | 3 | ECON β₯ 4, BUDG β₯ 3, INTA β₯ 3, AFET/SEDE β₯ 2 |
week-ahead | 2 | β |
month-ahead | 2 | β |
week-in-review | 1 | β |
month-in-review | 2 | β |
breaking | 1 | β |
motions | 1 | β |
propositions | 1 | β |
Committee-specific overrides (ECON β₯ 4, BUDG β₯ 3, INTA β₯ 3) are
applied at Stage-C completeness gate based on the committee tag in
the manifest. The legacy runtime constant
IMF_PER_ARTICLE_INDICATOR_FLOORS in src/utils/imf-data.ts was
purged in the April-2026 aggregator-pipeline migration.
9. Triangulation Escalation (Tier-1 articles)
When an IMF claim sits in a Tier-1 significance article AND cites
a high-sensitivity indicator (real GDP growth, HICP inflation, gov
debt, ECB policy rate, current account), the article MUST cross-check
against ECB SDW / Eurostat / OECD β see
../imf/cross-source-triangulation.md.
Log the triangulation outcome in
manifest.crossSourceTriangulation[]. A material delta (β₯0.2 pp or
β₯2% relative) requires a reconciliation sentence in prose.
10. Worked vintage-selection scenarios
The vintage decision is the most error-prone part of IMF integration. Below are six EP-domain scenarios showing how to pick the right vintage for the article date.
Scenario 10.1 β week-in-review published 2026-04-25
Required: WEO NGDP_RPCH real GDP growth EU/EA, PCPI_PCH headline
inflation, IFS FPOLM_PA ECB policy rate.
Latest IMF vintages on 2026-04-25:
| Series | Latest data | Latest forecast | Vintage tag |
|---|---|---|---|
| WEO 2026-04 | 2025 actual | 2026, 2027, 2028, 2029, 2030, 2031 | "WEO Apr 2026" |
| FM 2025-10 | 2024 actual | 2025-2030 | "FM Oct 2025" |
| IFS monthly | 2026-03 actual | n/a | "IFS Mar 2026" |
| BOP quarterly | 2025-Q4 | n/a | "BOP 2025-Q4" |
Decision: cite WEO Apr 2026 for growth/inflation forecasts; explicitly distinguish 2025 actual from 2026 projection. IFS Mar 2026 for the ECB policy rate sequence.
Scenario 10.2 β month-ahead for May 2026 plenary
Required: forward-looking IMF projections to anchor the policy outlook.
Decision: WEO Apr 2026 forecasts dominate. Use fan-chart language
("IMF projects 1.4% real growth Β± 0.4 pp"); do NOT present projections as
hard numbers. Cite the WEO database release date in manifest.dataVintage[].
Scenario 10.3 β breaking on ECON committee push for fiscal-rule reform
Required: Member-state fiscal headroom; gross debt; primary balance.
Decision: FM Oct 2025 vintages OK because Apr 2026 FM not yet published (next FM release is October). Mention this constraint in the data-source footer; cite both the IMF FM and Eurostat MIP scoreboard for triangulation per Β§9.
Scenario 10.4 β committee-reports on ECB independence
Required: ECB policy-rate path, monetary aggregates, REER.
Decision: IFS monthly is authoritative; WEO and FM lag. IFS Mar 2026 vintage acceptable. Cross-check vs ECB SDW because IMF mirrors ECB with a 1-week lag for euro-area policy-rate changes.
Scenario 10.5 β propositions on EU enlargement (UKR, MDA, GEO)
Required: candidate-country macro context.
Decision: WEO Apr 2026 covers all three. Note that UKR data has a
* suffix in the WEO indicating staff estimates rather than national
authorities β this counts as Admiralty B2 (usually reliable, fairly
likely) rather than A2.
Scenario 10.6 β propositions on common defence financing
Required: Defence expenditure + fiscal capacity per MS.
Decision: For defence-as-percent-of-GDP use WB (MS.MIL.XPND.GD.ZS,
SIPRI mirror); for fiscal capacity use IMF FM
G_XWDG_G01_GDP_PT (general government gross debt). Combined view in
economic-context.md references both source files.
11. Anti-patterns (Stage-C editorial blocks)
| Anti-pattern | Why blocked | Correct approach |
|---|---|---|
| Citing IMF without vintage | Vintage is mandatory per Β§7 | "IMF WEO Apr 2026" |
| Mixing actual + projection without tagging | Misleads reader | Use "actual" vs "projection" labels |
| Citing WEO for monthly inflation | WEO is annual | Use IFS for monthly data |
| Single-year point comparison | Loses context | Show 5-year trend or 3-year forecast horizon |
| Stale FM data when newer publication exists | Outdated context | FM is semi-annual; check release calendar |
| Ignoring confidence band on forecasts | Treats forecasts as facts | Add "Β± X pp" or fan-chart language |
EUU aggregate (WB code) used for IMF call | Incompatible code system | Use EU or EA IMF aggregates |
| Missing Admiralty grade on IMF citation | Stage-C tradecraft fail | Default A2 for IMF-source EU-27, B2 for staff estimates |
| Using deprecated WEO codes | Codes change between vintages | Use the SDMX 3.0 canonical codes (e.g. NGDP_RPCH not NGDP_R) |
| Ratio computed inline without sourcing | Reproducibility fail | Cite numerator + denominator IMF series separately |
12. MCP tool quick-reference
| Tool | Purpose | Key parameter |
|---|---|---|
imf-mcp/imf-fetch-data | Generic SDMX REST | dataflow=WEO|FM|IFS|BOP|ER|PCPS, key= |
imf-mcp/imf-list-dataflows | Catalogue SDMX dataflows | n/a |
imf-mcp/imf-data-availability | Vintage check | dataflow, country |
imf-mcp/imf-vintage | Get current vintage label | dataflow |
imf-mcp/imf-mcp-probe | Stage A health check | n/a |
worldbank-mcp/raw-rest | Defence (SIPRI mirror), other non-economic | indicator |
Each tool call must record the SDMX dataflow, indicator key, vintage
year/release, country panel, and Admiralty grade in
manifest.dataSources[].
13. See also
../imf/README.mdβ directory overview../imf/database-directory.mdβ all ~155 SDMX dataflows../imf/indicator-catalog.mdβ ~80 indicators by domain../imf/sdmx-dimensions-reference.mdβ SDMX 3.0 dimensions../imf/release-calendar.mdβ vintage calendar../imf/forecast-accuracy-baseline.mdβ optimism-bias bands../imf/cross-source-triangulation.mdβ cross-source checks../imf/chart-integration-guide.mdβ Chart.js patternsworldbank-indicator-mapping.mdβ non-economic WB scope