Case Studies

Engagements, constraints and what actually happened

Client names are withheld under NDA. The problems, approaches and numbers are as delivered.

Banking

Teradata to BigQuery migration

Tier-1 commercial bank · Pakistan

Situation

A fifteen-year-old Teradata estate facing a hardware refresh the bank did not want to fund. Over 400 reports depended on it, including SBP regulatory submissions where an error carries real consequences.

Approach

Usage instrumentation showed 41% of objects were dormant and were archived rather than migrated. The remainder moved to BigQuery with dbt-based transformation. A four-month parallel run reconciled every regulatory extract line by line before any cutover.

Result

Full decommissioning eleven months after kickoff. The regulatory pack now runs unattended and completes before the reporting team arrives in the morning.

-58%Run cost
11 moTo cutover
400+Reports moved
Retail

Six ERPs into one Snowflake model

Multi-brand retail group · UAE & KSA

Situation

Growth by acquisition had left six ERP instances across two countries. Group reporting was assembled manually in Excel and arrived three weeks after month end, by which point it informed nothing.

Approach

A conformed Snowflake model with brand-level source adapters, plus a governed metric layer that finally settled arguments about what counted as net sales. Data residency handled with separate KSA and UAE ingestion paths.

Result

Group-level sales, stock and margin visible by 6am daily across 300 stores. Month-end close reporting cycle reduced from three weeks to two days.

6→1ERP sources
4 hrData latency
300Stores live
Telecom

Streaming CDR analytics platform

Mobile network operator · Southeast Asia

Situation

Churn models were refreshed weekly from batch CDR loads. By the time the marketing team acted on a churn signal, the subscriber had usually already ported out.

Approach

Kafka ingestion of live CDR streams into Databricks with Spark Structured Streaming, writing to a Delta lakehouse. Batch and streaming paths share metric definitions so revenue assurance figures reconcile exactly.

Result

Churn signals now reach retention teams within minutes. Revenue leakage detection moved from a monthly exercise to a continuous one.

3.2BEvents/day
<90sEnd-to-end latency
99.9%Pipeline uptime
Insurance

IFRS 17 data foundation

Composite insurer · Saudi Arabia

Situation

IFRS 17 implementation was stalled because the actuarial team could not get consistent, granular policy and claims history out of three legacy administration systems.

Approach

A governed policy and claims data foundation in Azure Synapse with full history reconstruction, cohort grouping logic, and audited feeds into the actuarial engine. Takaful fund separation modelled explicitly.

Result

Actuarial runs that previously took eleven days of data preparation now start from a validated dataset delivered automatically each month.

11d→0Data prep
3Systems unified
12 yrHistory rebuilt
Logistics

Port operations analytics

Container terminal operator · Gulf

Situation

Terminal operating system data, crane telemetry and gate transactions lived in separate silos. Berth productivity disputes with shipping lines were settled by argument rather than evidence.

Approach

An AWS-based lakehouse joining TOS, equipment telemetry and gate data on a common vessel-call and container key, with near-real-time operational dashboards on the terminal floor.

Result

Berth productivity, crane utilisation and truck turnaround now measured consistently and shared with customers as evidence rather than assertion.

+14%Crane utilisation
-22%Truck turnaround
5 minRefresh cycle
Public Sector

Cross-entity data sharing platform

Government authority · GCC

Situation

Seven government entities needed to share datasets for a national programme, but each had different classification rules and none would accept another's access controls.

Approach

An in-country sovereign cloud platform with attribute-based access control, automatic classification propagation, full query auditing, and de-identified views as the default sharing mechanism.

Result

Datasets that had been stuck in eighteen-month bilateral negotiations became available under a single governance framework with entity-level audit trails.

7Entities onboarded
100%In-country
FullQuery audit
Patterns

What these engagements have in common

In nearly every migration, instrumenting the existing estate revealed that a large fraction of objects were unused. Removing them before migrating cut cost and timeline more than any technical optimisation did. The uncomfortable conversation about what to retire is usually the highest-value part of discovery.
Parallel running is expensive and nobody enjoys it. It is also the only thing that gives a finance director genuine confidence to switch off the old system. We budget for it explicitly rather than letting it get squeezed at the end when the timeline is under pressure.
Every engagement that went well had an identified business sponsor who could arbitrate definitional disputes. Where that role was vacant, projects stalled on questions like "what counts as an active customer" that no technical team can answer on its own.
Code in the client's repository, infrastructure in the client's cloud account, runbooks written for the client's engineers. We are happy to keep operating a platform when that is what a client wants, but it should be a choice rather than a consequence of nobody else being able to.

Want the detail behind one of these?

We can walk you through the architecture, the sequencing and the things that went wrong along the way — under NDA where the client requires it.