Skip to content

Semantic drift (multiple truths)

Summary

Semantic drift happens when the same word or field exists in several systems, but it no longer means the same thing everywhere.

The systems may be connected. The data may sync correctly. Reports may run without errors.

But the meaning behind the data is different.

This creates more than one “truth” inside the same organization.

Touches lenses:
Information, Integration

Two similar data blocks with subtle internal differences

A simple example

Imagine a company that uses:

  • A CRM system
  • An accounting system
  • A subscription system

All three systems have a field called “Active customer.”

In the CRM, “Active” means:

The customer has replied in the last 6 months.

In the accounting system, “Active” means:

The customer has an unpaid invoice.

In the subscription system, “Active” means:

The customer has a valid subscription today.

All systems are correct.

But they are not talking about the same thing.

When management asks:

“How many active customers do we have?”

The answer depends on which system you ask.

This is semantic drift.

Recognition

You may have semantic drift if:

  • Two reports show different numbers for the same question
  • People say “it depends which system you check”
  • Meetings are spent explaining definitions
  • A dashboard is trusted by one team but not by another
  • Integration works, but results still feel wrong

There is no technical error.
But there is disagreement.

What is really breaking

The problem is not data quality.

The problem is not integration.

The problem is meaning.

A word like:

  • customer
  • order
  • active
  • revenue
  • completed

looks simple. But inside a system, it always includes rules.

For example:

Does “revenue” include VAT?
Does “completed order” include cancelled refunds?
Does “active” mean today, this month, or this year?

If those rules are different in different systems, the concept is no longer the same.

The structure looks similar.
The logic inside is different.

Overlapping but misaligned conceptual boundaries

Why this happens

Semantic drift usually happens slowly.

It starts like this:

  1. A system is built with a clear meaning.
  2. The business changes.
  3. A small adjustment is made.
  4. Another system reuses the same field.
  5. A new rule is added “just for now.”

Each change makes sense at the time.

But nobody updates the definition everywhere.

Over time, the word stays the same.
The meaning changes.

Why it is hard to see

There are no system errors.

  • The database works.
  • The API responds.
  • The dashboard loads.
  • The numbers calculate correctly.

Each system is internally consistent.

The problem only appears when you compare them.

That is why semantic drift can exist for years.

A second example: revenue

Imagine two reports:

Report A says:

Revenue = All paid invoices.

Report B says:

Revenue = Paid invoices minus refunds.

Both are reasonable definitions.

If nobody clearly defines which one is official, both reports continue to exist.

Soon:

  • Sales uses one number.
  • Finance uses another.
  • Leadership loses trust in both.

This is not bad data.
It is unclear definition.

Flow showing divergence leading to reconciliation and loss of trust

What it costs

When semantic drift continues:

  • Teams argue about definitions.
  • Reports need manual explanation.
  • People export data to Excel to “fix it.”
  • Trust in dashboards decreases.
  • Automation becomes risky.

Instead of discussing strategy, people discuss numbers.

This slows decision-making.

How to test for it

Try this simple test:

Ignore the field name.
Ask: How is this value calculated?
And: What rules are included?

If two systems use different rules, the concept is different — even if the name is the same.

Another test:

Can two systems disagree and both still be “correct”?

If yes, semantic drift is likely present.

How to fix it

Fixing semantic drift does not mean deleting systems.

It means making meaning explicit.

This may require:

  • Writing a clear definition of key concepts
  • Choosing one system as the owner of the definition
  • Separating overloaded fields into new ones
  • Adding states or flags to clarify meaning
  • Adjusting integrations to reflect real differences

The goal is not to remove variation.

The goal is to stop hidden differences.

When meaning is clear and modeled in structure, reports become comparable again.

In short

Semantic drift happens when:

  • The name stays the same
  • The meaning changes

If meaning is not part of the structure, it will slowly move.

When it moves in different directions in different systems, multiple truths appear.