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

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.

Why this happens
Semantic drift usually happens slowly.
It starts like this:
- A system is built with a clear meaning.
- The business changes.
- A small adjustment is made.
- Another system reuses the same field.
- 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.

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.