Greenpeace International's data team supports 25 independently run national and regional organizations, each with its own tech stack and BI tool. Speaking at a dbt Summit 2026 breakout session, lead analytics engineer Koen Verburg described how a three-layer dbt package architecture let a roughly ten-person central team serve that federation.
The data itself wasn't especially complex - the organizational structure was. Every organization built its own income and retention reports from scratch, duplicating the same work 25 times. Metric definitions diverged too: "donor" meant anyone who gave in the past year to some organizations and only active, recurring donors to others, making global comparisons unreliable.
Earlier attempts to standardize on one source system worked in some cases but broke down where local context genuinely differed, such as regional payment methods. Rebuilding transformation logic 25 times for each new metric didn't scale either.
After adopting dbt in 2025, the team modeled the business rather than the tools, treating source systems as changeable and business activities as stable. Verburg said the hardest part was linguistic: getting 25 organizations to agree on what a shared term like "donor" meant.
The architecture has three layers: source packages for systems shared across organizations, a thin intermediate layer for each organization's quirks, and a standard data model shipped as a single dbt package carrying shared logic, documentation, tests, macros, governance, and semantic layer definitions. Local teams can define their own metric variants, but global reporting requires one shared definition - consistency over any one definition being "correct," Verburg said.
The stack runs on Fivetran for ingestion, dbt for transformation, BigQuery on GCP for storage and compute, Hex for consumption, and Terraform for deployment across all 25 instances. A full rollout for a new organization takes one to two weeks; 14 of the 25 had completed it as of the talk. About 75 percent of logic now lives in shared packages, with the rest handled as local customization. Greenpeace ships roughly 50 package releases a month, propagating automatically to 170 consuming projects - 120 of which need no human intervention because CI checks approve and merge changes.
Verburg was candid about tradeoffs: change management and re-educating organizations to trust a shared model took significant time, and the package-layered codebase is harder for new contributors to trace than a monolith. His team has spent the past year testing dbt v2 outside production, and the package-heavy setup has surfaced bugs typical projects wouldn't hit. Still, he described the net effect as a shift from multi-month delays on global metrics to daily insights, with new metrics defined once and distributed everywhere.
Source: dbt Labs Blog