Scattered indicators → harmonized dataset → cross-country trade-off explorer.
Public
OECD Pensions Explorer
An interactive explorer of OECD pension-system trade-offs: it connects replacement rates, spending, retirement age, and old-age poverty over a reproducible dataset. Won the Chief Viber prize at the Plotly Analytics Vibe-a-Thon and was published in Plotly’s official examples.
★ Chief Viber · Plotly Analytics Vibe-a-Thon
- 4 views
- one per question
- 3 sources
- OECD harmonized
- Featured
- Plotly official examples
Constraints
- Solo project, built within a hackathon deadline.
- The data is a curated snapshot of OECD sources; it does not update live.
TL;DR
- Brings pension indicators that usually live in separate reports into one comparable interface.
- Four views, each answering a distinct question: generosity, cost, retirement age, and old-age poverty.
- Reproducible dataset harmonized from three OECD sources (Pensions at a Glance, SOCX, LFS).
Reusable patterns
- Start from the policy question, not the indicator at hand: each chart exists to show one concrete trade-off.
- Harmonize several official sources into a single reproducible dataset before visualizing.
- Pick the chart type by the question —choropleth, line, scatter, radar—, not for visual variety.
Context
Pension debates usually lean on isolated metrics: a spending figure here, a replacement rate there, a retirement age in yet another report.
That fragmentation hides the core trade-off: a system can be generous, fiscally sustainable, or equitable in old age, but rarely all three at once.
The explorer puts those indicators on a single surface so that comparing countries no longer means jumping between PDFs.
Decisions
- Design each view around a policy question, not around an available table.
- Harmonize Pensions at a Glance, SOCX, and LFS into a reproducible dataset instead of hard-coding figures.
- Map the chart to the question: choropleth for generosity, lines for cost and retirement age, scatter for poverty, radar for country comparison.
- Keep the dataset under the contest cap (75 MB) so the app loads fast.
Architecture
- The three OECD sources are cleaned and merged in pandas into a single dataset.
- Dash orchestrates the callbacks; Plotly provides default interaction (hover, zoom, selection).
- It deploys to plotly.app as a public app, with no backend of its own to maintain.
Outcome
- Won the Chief Viber prize, the top award at the Plotly Analytics Vibe-a-Thon (October 2025).
- Plotly selected it for its official finance examples: external editorial validation, not a self-assessment.
- It stands as a public, verifiable piece —live demo— and as a trade-off narrative reusable across other policy domains.