World Bank Indicator → Article Type Mapping (Riksdagsmonitor)

May 15, 2026 · View on GitHub

Scope — Riksdagsmonitor uses World Bank Open Data for non-economic context. Companion docs cover the rest of the data stack: imf-indicator-mapping.md for economic context (macro, fiscal, monetary, external sector, trade, commodity, FX, interest rates) and SCB tables for Swedish-specific ground truth.

Domains covered by this document:

  • Governance (WGI, source=75) — CC.EST, RL.EST, VA.EST, GE.EST, RQ.EST, PV.EST
  • Environment — EN.ATM.CO2E.PC, EG.FEC.RNEW.ZS, AG.LND.FRST.ZS, ER.H2O.FWTL.ZS
  • Social / demographics — SP.POP.TOTL, SP.DYN.LE00.IN, SP.DYN.CBRT.IN, IT.NET.USER.ZS
  • Health (detail) — SH.XPD.CHEX.GD.ZS, SH.MED.PHYS.ZS, SH.MED.BEDS.ZS, SH.IMM.MEAS
  • Education — SE.XPD.TOTL.GD.ZS, SE.PRM.ENRR, SE.TER.ENRR, SE.PRM.CMPT.ZS
  • Defence historicals — MS.MIL.XPND.GD.ZS, MS.MIL.TOTL.P1
  • Agriculture — AG.PRD.CREL.MT, AG.LND.ARBL.ZS, NV.AGR.TOTL.ZS
  • Innovation — GB.XPD.RSDV.GD.ZS, IP.PAT.RESD
  • Crime / justice — VC.IHR.PSRC.P5

Scope referencescripts/world-bank-client.ts INDICATOR_IDS and analysis/worldbank/indicators-inventory.json v4.0 catalogue the WB indicators documented here. Economic context (macro, fiscal, monetary, external, trade, commodity, FX, interest rates) is sourced from IMF via scripts/imf-fetch.ts.


🎯 AI-FIRST Methodology Card

🚦 Read this card before writing a single paragraph. It names the artifact this methodology owns, the gate check it satisfies, the evidence-density target it must hit, and the Pass-1 / Pass-2 discipline required by .github/copilot-instructions.md §5 (AI-FIRST Quality Principle).

FieldValue
PurposeWorld Bank indicator catalogue for non-economic context only — governance (WGI source=75), environment, social/demographics, health, education, defence historicals, agriculture, innovation, crime/justice.
Inputsscripts/world-bank-client.ts INDICATOR_IDS; analysis/worldbank/indicators-inventory.json v4.0; world-bank MCP server
Outputscomparative-international.md non-economic rows; voter-segmentation.md; implementation-feasibility.md; session-baseline.md non-economic rows
Owning artifact(s)Every artifact making a non-economic comparator claim
Owning gate checkProvider-precedence enforcement: economic codes are FORBIDDEN here — cross-check against imf-indicator-mapping.md and analysis/imf/indicators-inventory.json (scope boundary)
Citation density targetEvery non-economic indicator row carries provider=worldbank, indicator-code, retrieved_at
Banned phrasesEnforced via political-style-guide.md §Machine-readable banned-phrase list
Threshold sourcereference-quality-thresholds.jsonthresholds[articleType][artifact] (fallback defaults.coreArtifactFloor)

✅ Pass-1 checklist (creation — minimal viable artifact)

  • Confirm every indicator used is on the documented non-economic list
  • Use IMF (not WB) for any macro / fiscal / monetary / external / trade / commodity / FX claim
  • Tag governance rows with source=75 (WGI)
  • Produce every required sub-section listed in the owning template
  • Add ≥ 1 evidence anchor (dok_id, vote id, named MP, or primary-source URL) per analytical claim
  • Apply the correct WEP confidence band for the run's horizon (72h / week / month / quarter / year / cycle)
  • Include ≥ 1 themed Mermaid diagram with style … or themeVariables config (where structurally meaningful)
  • Cross-link the relevant template under analysis/templates/ and the gate check it satisfies

🔁 Pass-2 checklist (read-back & improve — AI-FIRST mandatory)

  • Detect & remove any deprecated economic codes from analysis/worldbank/indicators-inventory.json (indicator list)
  • Reconcile WB freshness vs IMF/SCB: WB usually annual lag → flag if > 18 mo old
  • Re-read the file end-to-end; flag every claim that lacks an evidence anchor and add one
  • Replace every banned phrase listed in political-style-guide.md §Machine-readable banned-phrase list with an evidence-anchored alternative
  • Tighten WEP language: never above likely without ≥ 3 cycle-aged sources for year/cycle horizons
  • Strengthen Mermaid (color-coded style … directives, themeVariables, ≥ 5 nodes where the structure admits it)
  • Add ≥ 1 second-order effect, cui-bono note, or counterfactual where the artifact admits one
  • Verify citation density meets the per-file target below and the gate's evidence-density rules

🟢 Exemplar (good — pattern-match this)

(WB row) "WGI Control of Corruption (CC.EST, source=75): Sweden 2.13 (2024); Denmark 2.17; Norway 2.04; Finland 2.16. Source: api.worldbank.org, retrieved 2026-04-25 ([A1])."

🔴 Anti-exemplar (failure mode — never ship this)

(failure mode) "WB GDP per capita SWE 2024 = USD 56,302." — provider violation: GDP is IMF-canonical, not WB.


Purpose — canonical reference that maps Riksdagsmonitor news workflow article types to the most-relevant non-economic World Bank Open Data indicators used in comparative-international.md, voter-segmentation.md, implementation-feasibility.md and the session-baseline.md domain tables.

Data access — via the world-bank MCP server (local container, worldbank-mcp@1.0.1) using get-social-data, get-health-data, get-education-data, and the raw-REST passthrough for environment / defence / agriculture / innovation / governance codes. See .github/copilot-mcp.json and .github/prompts/02-mcp-access.md.

Scope referenceINDICATOR_IDS in scripts/world-bank-client.ts and analysis/worldbank/indicators-inventory.json v4.0 catalogue the indicators documented here (governance, environment, social, demographics, health, education, defence historicals, innovation, infrastructure, inequality, gender, energy, agriculture, crime/justice). Companion routing for economic context lives in imf-indicator-mapping.md and .github/aw/ECONOMIC_DATA_CONTRACT.md.


1. Retained WB Domains

DomainPrimary toolExample indicator codesTypical article types
Social / demographicsget-social-data + raw SP.POP.*SP.POP.TOTL, SP.DYN.LE00.IN, SP.DYN.CBRT.IN, SP.DYN.CDRT.IN, IT.NET.USER.ZScommittee-reports (SoU), evening-analysis, month-ahead
Healthget-health-dataSH.XPD.CHEX.GD.ZS, SH.MED.PHYS.ZS, SH.MED.BEDS.ZS, SH.IMM.MEAS, SH.DYN.AIDS.ZS, SH.STA.MALN.ZS, SH.TBS.INCDcommittee-reports (SoU, Sjukvård), propositions
Educationget-education-dataSE.ADT.LITR.ZS, SE.PRM.ENRR, SE.PRM.CMPT.ZS, SE.PRM.TCHR, SE.XPD.TOTL.GD.ZScommittee-reports (UbU), motions on skola
Environmentraw EN.*, EG.FEC.RNEW.ZSEN.ATM.CO2E.PC, EG.FEC.RNEW.ZS, AG.LND.FRST.ZS, ER.H2O.FWTL.ZScommittee-reports (MjU, NU), evening-analysis
Defenceraw MS.MIL.*MS.MIL.XPND.GD.ZS, MS.MIL.TOTL.P1committee-reports (FöU), propositions on försvar
Agricultureraw AG.*, NV.AGR.TOTL.ZSAG.PRD.CREL.MT, AG.LND.ARBL.ZS, NV.AGR.TOTL.ZScommittee-reports (MJU), motions on landsbygd
Innovationraw GB.XPD.RSDV.GD.ZS, IT.NET.USER.ZSGB.XPD.RSDV.GD.ZS, IT.NET.USER.ZS, IP.PAT.RESDcommittee-reports (UbU, NU), propositions on forskning
Governanceraw SG.*, IC.*SG.GEN.PARL.ZS, IC.BUS.EASE.XQ, WGI via governance.worldbank.orgintelligence-assessment, methodology-reflection

2. Sweden Country Code & Regional Aggregates

PurposeCodeNotes
SwedenSWEISO-3
EU (World Bank aggregate)EUUaccepted by world-bank MCP
Euro areaEMUaccepted by WB (Sweden is non-Euro)
Nordic baseline (manual)DNK, FIN, NOR, ISLfetched in parallel for comparative-international
OECDOEDWB aggregate
High incomeHICincome-level aggregate

Note on IMF aggregates — use EU, EA, G7, G20 instead of EUU/EMU when calling IMF; the two MCPs use incompatible aggregate codes.


3. Article-Type → Domain Map

Article typeRequired WB domainsOptional
propositions— (economic → IMF)health, education, environment per committee
motionssocial, innovationenvironment, defence
committee-reportsdomain of the committee (UbU→education, MjU→environment, SoU→health, FöU→defence)demographics
interpellationssocial (when demographic framing present)
evening-analysissocial, health (if day's theme warrants)governance
realtime-monitorwhatever the breaking topic demands
week-ahead / month-ahead— (forward-looking)social baseline
weekly-review / monthly-reviewsocial, health, education, environment trend linesinnovation

4. Citation Pattern

Every WB figure cited in an artifact must appear as:

World Bank, "{indicator name}" ({indicator code}), Sweden, {year}, {URL or "WDI via world-bank MCP"}. Admiralty: B2.

Example:

World Bank, "Total health expenditure (% of GDP)" (SH.XPD.CHEX.GD.ZS),
Sweden, 2023, WDI via world-bank MCP. Admiralty: B2.

5. Anti-Patterns (gate failures)

  • Citing the raw indicator code without the human-readable name.
  • Quoting a single year without trend context (min. 5-year series).
  • Using SWE alongside a non-matching regional aggregate (e.g. mixing EUU with an IMF EU figure for the same chart).
  • Failing to flag indicators with known data quality issues (Sweden's SH.DYN.AIDS.ZS is aggregated to suppress small counts — annotate).

6. Changelog

  • v1.3 (2026-05-15) — Added changelog entry for consistency with companion methodology files.
  • v1.2 (2026-04-28) — Document scoped to non-economic indicators (governance, environment, social, defence historicals, demographics, health, education, innovation, infrastructure, inequality, gender, energy, agriculture, crime). Economic context routes through imf-indicator-mapping.md.
  • v1.1 (2026-04-24) — Scope tightened: full IMF integration across methodologies/templates/prompts.
  • v1.0 (2026-04-23) — Initial Riksdagsmonitor mapping; adapted from EU Parliament Monitor worldbank-indicator-mapping.md Wave-2 scope.

7. Detailed Indicator Reference — Retained Domains

7a. Governance (WGI, source=75)

IndicatorWB CodeRangeSweden 2023Global percentilePublication lagUse in Riksdagsmonitor
Control of CorruptionCC.EST−2.5–+2.5≈ +2.1598th12 monthspestle-analysis.md §Political, risk-assessment.md §Institutional
Rule of LawRL.EST−2.5–+2.5≈ +1.9597th12 monthspestle-analysis.md §Legal
Voice and AccountabilityVA.EST−2.5–+2.5≈ +1.6590th12 monthsrisk-assessment.md §Democratic accountability
Government EffectivenessGE.EST−2.5–+2.5≈ +1.9096th12 monthsexecutive-brief.md §Context
Regulatory QualityRQ.EST−2.5–+2.5≈ +1.7595th12 monthsimplementation-feasibility.md §Institutional capacity
Political Stability / No ViolencePV.EST−2.5–+2.5≈ +0.8578th12 monthsNote: NATO accession may improve future scores; hybrid threat context may depress

MCP query for governance:

# Source=75 is mandatory for WGI — otherwise WB API returns WDI economic codes
get-economic-data(countryCode="SWE", indicator="CC.EST", years=10)
# Nordic peer comparison (iterate):
for c in ["SWE", "DNK", "FIN", "NOR"]: get-economic-data(countryCode=c, indicator="CC.EST", years=5)

7b. Environmental (WDI)

IndicatorWB CodeUnitSweden ≈WB data lagSwedish myndighet (use first for Sweden)
CO₂ per capitaEN.ATM.CO2E.PCtonne/capita3.5 (2022)18–24 moNaturvårdsverket (NVV)
CO₂ total (kt)EN.ATM.CO2E.KTkilotonnessee NVV18–24 moNaturvårdsverket
Renewable energy shareEG.FEC.RNEW.ZS% total energy≈ 60 % (2022)12–18 moEnergimyndigheten
Forest areaAG.LND.FRST.ZS% land area≈ 69 %12 moSkogsstyrelsen
Freshwater withdrawalsER.H2O.FWTL.ZS% internal resources< 1 %24–36 moSGU / SMHI
PM2.5 exposureEN.ATM.PM25.MC.M3µg/m³≈ 812–18 moNaturvårdsverket

Limitation: WB environmental data sourced from national statistical offices with significant lag. For real-time Swedish policy analysis, cite Naturvårdsverket / Energimyndigheten / SMHI as primary and WB as international context layer only.

7c. Health & Nutrition (WDI)

IndicatorWB CodeMCP tool keyUnitSweden ≈Swedish authority
Health expenditure % GDPSH.XPD.CHEX.GD.ZSHEALTH_EXPENDITURE%10.9 % (2022)Socialstyrelsen; SCB NR
Physicians per 1,000SH.MED.PHYS.ZSPHYSICIANSper 1K4.3 (2022)Socialstyrelsen
Hospital beds per 1,000SH.MED.BEDS.ZSHOSPITAL_BEDSper 1K2.1 (2020)Socialstyrelsen
Measles immunisationSH.IMM.MEASIMMUNIZATION% 1-year-olds97 % (2022)Folkhälsomyndigheten
HIV prevalenceSH.DYN.AIDS.ZSHIV_PREVALENCE% adults 15–49≈ 0.1 %Folkhälsomyndigheten
UndernourishmentSN.ITK.DEFC.ZSMALNUTRITION% population< 2.5 %SCB HEK survey
Tuberculosis incidenceSH.TBS.INCDTUBERCULOSISper 100K≈ 4.0 (2022)Folkhälsomyndigheten

MCP query example:

get-health-data(countryCode="SWE", indicator="HEALTH_EXPENDITURE", years=10)

Limitation: WB health data aggregated from WHO and national sources; may differ from Socialstyrelsen micro-data by ±0.5–1.0 pp. Always cross-reference Socialstyrelsen for Swedish domestic policy analysis.

7d. Education (WDI)

IndicatorWB CodeMCP tool keyUnitSweden ≈Swedish authority
Literacy rate (adult)SE.ADT.LITR.ZSLITERACY_RATE%≈ 99 %SCB PIAAC
Primary enrollmentSE.PRM.ENRRSCHOOL_ENROLLMENTgross %> 100 %Skolverket
Primary completionSE.PRM.CMPT.ZSSCHOOL_COMPLETION%≈ 99 %Skolverket
Primary teachersSE.PRM.TCHRTEACHERS_PRIMARYcount≈ 85,000Skolverket
Gov. education expenditure % GDPSE.XPD.TOTL.GD.ZSEDUCATION_EXPENDITURE%≈ 6.8 %SCB OE0107

8. Limitations Summary

Limitation typeAffected domainsMitigation
Publication lag 18–24 monthsEnvironmental, some healthUse Swedish myndigheter as primary; WB for international comparison
WGI country coverage gapsGovernance (some years)Flag in mcp-reliability-audit.md §7 if year missing
Small-count suppressionHIV, TB, undernourishmentNote in article: "WB suppresses counts below threshold; exact value below X"
WDI aggregation methodology differs from Eurostat / SCBSocial / health / educationWhen citing for EU comparison, note "WB WDI methodology; Eurostat may differ by ±X pp"
WGI annual frequency onlyGovernanceDo not interpolate between years; use "most recent available (YYYY)"

9. Cross-Reference Matrix

Riksdagsmonitor templateRelevant WB domainKey codesAlso cite
pestle-analysis.md §SocialSocial / demographicsSP.POP.TOTL, SP.DYN.LE00.INSCB BE0101 (Sweden primary)
pestle-analysis.md §EnvironmentalEnvironmentalEN.ATM.CO2E.PC, EG.FEC.RNEW.ZSNVV, Energimyndigheten (Sweden primary)
pestle-analysis.md §PoliticalGovernanceCC.EST, VA.EST, PV.ESTStatskontoret, JO, KU betänkande
risk-assessment.md §InstitutionalGovernanceRL.EST, GE.ESTKU annual report
comparative-international.mdAll domainsFull Nordic peer comparisonIMF for economic columns; WB for non-economic
voter-segmentation.md §DemographicSocialSP.POP.TOTL, IT.NET.USER.ZSSCB (Sweden primary)
implementation-feasibility.md §CapacityGovernance / innovationRQ.EST, GB.XPD.RSDV.GD.ZSVinnova for Swedish R&D