Skip to content

united-nations/transparency

Repository files navigation

UN Transparency Portal

open.unfck.org

The UN Transparency Portal makes financial data from across the UN System accessible through interactive visualizations. Explore who contributes, which organizations receive funding, where resources are deployed, and which Sustainable Development Goals they support.

Features

  • Contributors — Treemaps and trends showing government and donor contributions by financing instrument
  • Entities — Spending breakdowns for 48+ UN organizations
  • Countries — Interactive world map with geographic spending data
  • SDGs — Grid visualization of spending by Sustainable Development Goal

Data Sources

Source Coverage Description
CEB Financial Statistics 2011–2024 Audited financial data from 48+ UN System organizations
UN Secretariat Spending 2019–2023 Granular breakdown into 150+ departments and missions
UNINFO 2022–2024 Cooperation Framework data for 127 countries

Tech Stack

Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS 4, Recharts, UNDP Data Visualization Library (for map component)

Data Processing: Python 3.13+, pandas, requests

Project Structure

src/
├── app/                 # Next.js app router (single-page app)
├── components/          # React components
│   ├── *Treemap.tsx     #   Interactive treemap visualizations
│   ├── *Sidebar.tsx     #   Detail panels for selections
│   ├── *TrendsChart.tsx #   Time series charts
│   ├── charts/          #   Reusable chart primitives
│   └── ui/              #   Base UI components (shadcn)
├── lib/                 # Data loading, entity/SDG/region mappings
├── hooks/               # Custom React hooks
└── types/               # TypeScript interfaces

python/                  # Data pipeline scripts (numbered, run in order)

public/data/             # Processed JSON served to frontend
├── {view}-{year}.json   #   Year-specific data per visualization
├── uninfo-countries/    #   Per-country UNINFO data (127 files)
└── manifest.json        #   Data availability metadata

data/                    # Raw/intermediate data (gitignored)
├── ceb/{raw,clean,fused}/ # CEB data processing stages
└── uninfo/raw/          #   Cached UNINFO API responses

docs/                    # Methodology documentation
└── research/            # Data source research notes

Getting Started

npm install
npm run dev

Open http://localhost:3000

Data Pipeline

Python scripts in python/ fetch and process raw data into JSON. Run them in numbered order with uv run <script>.py.

Documentation

See docs/ for detailed documentation:

License

MIT