International NGO · Enterprise data platform

Building a multi-country data platform on Microsoft Fabric

We designed and implemented a governed Microsoft Fabric analytics platform with a medallion architecture (Bronze → Silver → Gold) and separated DEV / TEST / PROD environments, so programme monitoring, organizational KPIs and reporting share one foundation rather than another silo per country or programme area.

The challenge

An international development organization collects operational data across multiple countries and programme areas. Field teams submit forms; leadership needs consistent views of activities, indicators and cross-cutting KPIs.

Without a shared platform, each geography and programme tends to grow its own extracts, spreadsheets and report logic. Definitions drift. Historic files and live submissions disagree. Quality issues surface late. Adding another country or indicator set risks another independent reporting stack.

Why it was complex

Our approach

We treated the work as an enterprise analytics platform, not a set of dashboards:

The solution

Data foundation

Lakehouse landing for files and payloads, plus an analytical warehouse with Bronze, Silver, Gold and infrastructure schemas for keys, watermarks and staging.

Data engineering

Fabric pipelines and notebooks orchestrate ingest, transform and mart builds. Domain schedulers coordinate programme and KPI paths so the estate grows by extension, not by cloning.

Data quality

Rule catalogues drive validation into error outputs, a dedicated quality report surface and an overnight notification path for operators.

Semantic layer and analytics

Power BI semantic models and reports cover programme monitoring, matrices and organizational KPI themes. Shared models prevent indicator logic from being reinvented per workbook.

Governance and distribution

Row-level security patterns on key models and an organizational app with multiple audiences control what each group sees.

Deployment and operations

DEV / TEST / PROD separation, environment configuration, Fabric Git delivery and a structured handover pack for day-2 operations.

Architecture

Platform at a glance

Engineering scale from the as-built estate (approximate where inventories support ranges):

These figures describe platform depth. They are not a substitute for confirmed business impact metrics.

Key engineering decisions

Warehouse medallion as the analytical system of record

Problem

Mixed API payloads, files and evolving form schemas.

Decision

Bronze / Silver / Gold in a Fabric warehouse, with lakehouse landing.

Why

SQL-governed marts, surrogate keys and history fit programme monitoring.

Result

New domains extend the same layers instead of creating new ad-hoc datasets.

Shared semantic model for monitoring and KPIs

Problem

Indicator definitions duplicated per report become inconsistent.

Decision

Consolidated models feeding multiple monitoring and organizational KPI surfaces.

Why

One place to maintain mappings and grain.

Result

Cross-programme comparability without cloning business logic.

Surrogate-key and mapping infrastructure

Problem

Natural identifiers from field tools are incomplete across domains.

Decision

Infrastructure key registry and mapping dictionaries feeding Silver and Gold.

Why

Durable joins when source forms change.

Result

Analytics stay stable as collection tools evolve.

Explicit data-quality layer

Problem

Invalid or empty critical fields silently corrupt management numbers.

Decision

Rule catalogue, error outputs, quality reporting and operator notification.

Why

Quality is an operational process, not a one-off cleanse.

Result

Issues surface before they harden into KPIs.

Environment-separated Fabric estate

Problem

Changing production while developing new programmes is unsafe.

Decision

DEV / TEST / PROD with environment configuration and promotion helpers.

Why

Serious platforms need a change path.

Result

Credible production ownership and handover.

Outcomes

Before

Programme and country reporting logic distributed across independent processes. Historic and live data hard to reconcile. Quality issues discovered late. New geography or programme risked another silo.

After

Shared warehouse and semantic definitions. Controlled ingest into one medallion model. Rule-based data quality with operator-facing feedback. Reusable pipeline patterns and a multi-environment estate ready for handover.

Measured efficiency or adoption percentages are not published here until the organization confirms them for marketing use.

Technology

Full stack used on this engagement (hero tags above highlight the buyer-facing themes; detail sits here):

Platform

Microsoft Fabric, OneLake, data lakehouse, Warehouse, Data Factory, Org App, Delta Lake

Engineering

SQL, Python / PySpark, Fabric Pipelines, Notebooks, Dataflows, medallion (Bronze → Silver → Gold), domain-oriented / data mesh patterns, data quality rules

Analytics & governance

Power BI, semantic models, DAX, row-level security, Entra ID, Microsoft Purview

Delivery

Azure DevOps, Fabric Git / CI-CD, DEV / TEST / PROD environment configuration, operational monitoring and quality feedback

Our role

We designed the architecture, implemented data engineering and semantic modelling, built data-quality and distribution patterns, established environment strategy and prepared operational handover documentation. The engagement demonstrates end-to-end platform delivery, not dashboard-only work.

Building or modernizing a Microsoft Fabric platform?

We help organizations turn fragmented operational data and reporting processes into governed platforms designed for scale.