Investigate: Tag existing indicators with SDG and ICNPO codes
IMPLEMENTATION RULES: Before implementing this plan, read and follow:
- WORKFLOW.md - The implementation process
- PLANS.md - Plan structure and best practices
Status: Backlog
Goal: Decide whether and how to enrich Atlas's existing demand-side indicators (fact_kommune_indicators and the 17 underlying indicators__* models) with SDG goal numbers and ICNPO category codes, so the same data can be browsed, filtered, and reported under the international/national taxonomies that funders, journalists, researchers, and the NGO sector itself use.
Last Updated: 2026-04-23
Origin: Once PLAN-foundation-reference-tables.md lands ref_un_sdg and ref_brreg_icnpo, the demand-side data Atlas already has gains a natural rollup story: each indicator (FHI mobbing, SSB child poverty, FHI overcrowded housing, etc.) maps to one or more SDGs and to an ICNPO category. That mapping doesn't exist yet. This investigation decides what tagging to do, where the mappings live, and what queries become possible afterwards.
Questions to Answer
- Which indicators in the current 19 sources map to which SDGs (1–17)? How many SDGs typically apply per indicator — 1, 2, or many? Is the mapping subjective or principled?
- Same for ICNPO — does it make sense to tag a demand-side indicator with an ICNPO code (which classifies organisations, not data)? Or is ICNPO only meaningful on the supply side (
dim_ngo)? - Where do the tags live — denormalised columns on
indicators__*(onesdg_codecolumn? array?), a junction table (crosswalk_indicator_to_sdg), or attribute on a higher entity? - How many tags per indicator? SDGs are designed with overlap (e.g. child poverty touches SDG 1 No Poverty + SDG 10 Reduced Inequalities + SDG 4 Education). Do we pick a primary, allow multiple, or rank?
- Who curates the mapping? It's a judgement call (a researcher would say "child poverty maps to SDG 1, 4, 10"; a funder might say "primarily SDG 1"). Is this Atlas-team curation, or pulled from an external source?
- What new queries does this enable, and are they worth the curation cost?
Current state
After PLAN-foundation-reference-tables (when it lands), Atlas has:
marts.ref_un_sdg— 17 rows.marts.ref_brreg_icnpo— 42 rows.marts.fact_kommune_indicators— 135 698 rows from 19 sources, no SDG or ICNPO column.marts.indicators__*— 17 per-source models with their own dim columns; no SDG/ICNPO context.
The supply-side investigation INVESTIGATE-ngo-supply-data-model.md establishes that dim_ngo carries up to 3 ICNPO codes per NGO (from Brreg). But that's about organisations, not indicators. Whether indicators should also be tagged is the open question.