Data quality & reference data

MDM, golden record, measured quality

A golden record you can trust and quality measured continuously, because data whose reliability nobody knows is data nobody should decide on.

Quality that goes unmeasured degrades silently.

Duplicates, missing fields, inconsistent formats: quality degrades with nothing to signal it. Decisions and models inherit those defects, and generative AI amplifies them instead of revealing them.

Making data reliable comes down to two things. Reconciling reference data into a golden record every domain shares. And turning quality into a continuous measurement rather than an occasional audit, with remediation attached.

What we do

Four workstreams so a figure arrives with a known level of reliability.

WORKSTREAM 01Single reference

MDM and golden record

Scattered records of the same entity are reconciled into a single version. That is what turns a check into a lookup rather than an investigation.

on the entities shared across domains: customer, product, supplier

  • Business key and matching rules
  • Survivorship rule, field by field
  • Human arbitration on doubtful cases
WORKSTREAM 02On every run

Automated checks

Completeness, duplicates, formats and freshness are verified on every run, against thresholds agreed before go-live.

thresholds negotiated with the business, not set by default

  • Completeness, duplicates, formats
  • Freshness measured, never assumed
  • The flow stops rather than passes
WORKSTREAM 03Traced correction

Tooled remediation

A detected gap triggers a traced correction rather than a ticket. What is fixed by hand comes back, what is fixed in the chain does not.

the fix goes back to the source, not to the dashboard

  • Correction carried in the chain
  • Log of every correction
  • Recurrence rate tracked
WORKSTREAM 04Written before use

Data contracts

Sources, freshness, ranges and uniqueness are written before any use. A broken expectation stops the flow rather than letting it move downstream.

one contract per flow, versioned with the code that produces it

  • Sources, freshness, ranges, uniqueness
  • A named owner per domain
  • Breach notified to the consumer

What you get

(01)

Quality audit

A quantified survey by domain: sources inventoried, gaps ranked by value and by risk, and what they cost downstream. Every gap carries its domain, its owner and its place in the queue.

(02)

Single reference

MDM in place and the golden record populated, with the reconciliation rules written down: which source wins on which attribute, how a duplicate is closed, and what happens when two systems disagree.

(03)

Continuous quality

Automated checks in production (sources, freshness, ranges, uniqueness), thresholds set, remediation wired in and a named owner per domain. A breach is no longer discovered in a report: it is notified to the data consumer.

Quality is measured, not assumed

Quality that goes unmeasured degrades silently, and generative AI amplifies the defect instead of revealing it. Here is what the foundation watches continuously, and what fires when something drifts.

thresholdCompletenessDuplicatesFreshness

Quality alerts

Completeness, duplicates, formats and freshness are checked on every run, against thresholds agreed before go-live. Falling below one raises an alert, rather than a discovery three months later.

Anomaly detection

Volume, distribution and latency of each flow are compared with their own history. A reading outside the expected band surfaces before the data reaches a dashboard or a model.

IngestionChecksTransformPublish

Orchestrated pipelines

Ingestion, checks, transformation and publication run in an explicit order. A failing check stops the chain at its step instead of letting the data through downstream.

Three principles we apply

(01)

An alert has to block something

A check that only logs gets ignored within three weeks. For every test, decide what it prevents from moving downstream, or do not write it.

(02)

Freshness before volume

A complete flow that is two days old does more damage than a partial one that is on time, because nothing signals its age. Measure the last update first.

(03)

An owner before a rule

A quality rule with no name against it never gets fixed, only worked around. Name the domain owner before writing the first check.

Reference data that holds

Fraud caught in real time, KYC cut by more than half
BNP ParibasBanking & finance
Data copilot
Case(01)

Fraud caught in real time, KYC cut by more than half

+40% fraud detection · −60% KYC time

The challenge

Detect fraud on massive volumes in real time, shorten a KYC slowed by scattered customer data, and make regulatory data reliable, under heavy compliance and sovereignty constraints.

Our answer

A governed data foundation with MDM for a single customer reference and continuously measured quality, detection models wired into the flows, and a data copilot whose every answer carries its sources.

Read the case study
A data software factory augmented by GenAI agents
B&B HotelsHospitality
Semantic model
Case(02)

A data software factory augmented by GenAI agents

×2 delivery velocity · 100% Row Level Security coverage

The challenge

A rising volume of business requests that data delivery could no longer absorb, and a data estate piling up, with no shared semantic model and no end-to-end security.

Our answer

A structuring semantic model, shared standards and Row Level Security on sensitive domains, with specialised agents across the cycle and skills transfer from the first sprint.

Read the case study
Business rules made readable and testable again
GRDFEnergy & public services
Rules engine
Case(03)

Business rules made readable and testable again

483 rules reimplemented · 53 SAP flows integrated

The challenge

Rebuild the time-management rules engine behind the schedules, planning and payroll of 12,000 employees, with hundreds of inherited rules and dozens of SAP flows whose errors propagate downstream.

Our answer

Every rule specified in executable form rather than written in prose, the implementation generated under engineer review, non-regression coverage produced at the same pace, and SAP flows validated one by one before production.

Read the case study
DevOps and DataOps industrialised on Azure
CatalinaRetail & distribution
DataOps
Case(04)

DevOps and DataOps industrialised on Azure

Automated pipelines · Governed cloud platform

The challenge

Data flows and deployments handled without a shared chain, where each change had to be replayed by hand and nothing guaranteed two environments behaved the same.

Our answer

A DevOps and DataOps chain built on Azure: industrialised pipelines, environments described as code, deployments made reproducible rather than replayed.

Read the case study
Cinké Évolution : field operations steered by data
EnedisEnergy & utilities
Analytics
Case(05)

Cinké Évolution : field operations steered by data

Power BI · Field operations planned

The challenge

Regional teams planning field operations without a shared view of the data, each directorate preparing its schedule from its own extracts.

Our answer

An agile visualisation tool that turns operational data into a single steering view, so scheduling runs on the same figures across directorates.

Read the case study
TALK TO AN EXPERT

Make your figures defensible

A quality audit, a single reference and checks that run continuously.

By submitting this form, you agree to our privacy policy.

Frequently asked questions

The single reconciled version of a business entity, a customer for instance, across every system holding a partial one. Without it, each domain works from its own truth.

By running automated checks continuously rather than auditing occasionally: completeness, duplicates, formats, freshness. Unmeasured quality degrades with nothing to signal it.

Freshness. A complete flow that is two days old does more damage than a partial one that is on time, because nothing signals its age to whoever uses it.

To write down what is guaranteed before anyone depends on it: sources, freshness, ranges, uniqueness. What is not guaranteed there will not be guaranteed later, and a broken expectation stops the flow.

Yes, and before the first rule is written. A quality rule with no name against it never gets fixed, only worked around.

At the source whenever possible, downstream only when the source is not yours. A downstream fix has to be replayed on every load, it duplicates across every pipeline consuming the same data, and it eventually diverges from one pipeline to the next without anyone noticing. When the source is a packaged system or a partner beyond reach, the correction happens once, at the entry point, and is recorded as such: what was corrected, under which rule, and since when.

Twelve to eighteen months if nothing watches its quality, and that horizon barely depends on how well the initial work was done. Reference data degrades through the cases nobody anticipated: a merger of entities, a new capture channel, a partner changing format. That is why the checks that measure quality ship with the reference data rather than after it: they do not exist to prove the work was done, they exist to show the drift while it is still maintenance.