Most enterprises don't have a data problem — they have a trust problem. The numbers exist, but finance, sales and operations each keep their own, and no two agree on which one is real.

We've watched this play out in almost every mid-market and enterprise engagement we've run: a Monday leadership meeting opens with ten minutes of "whose number is right" before anyone gets to a decision. This piece is a practical walkthrough of why that happens and the operating model that finally makes it stop.

Why it happens

Every team optimises for its own report. Definitions drift, spreadsheets multiply, and the "real" number depends on who you ask.

A few patterns show up almost every time:

  • Metric definitions live in people's heads, not in a shared, governed model — so "active customer" means five different things across five teams.
  • Every team builds its own extract, because waiting on a central team feels slower than exporting to Excel.
  • Nobody owns reconciliation, so small discrepancies compound quietly for months before anyone notices.
  • Dashboards get rebuilt from scratch every time a new question comes up, instead of composed from a shared base.
Note
This isn't a tooling problem first. Teams with a single BI tool and no shared definitions still end up with five versions of "revenue." Governance has to come before the dashboard layer, not after it.

What "one source of truth" actually means

In practice, it comes down to four things working together, in this order:

  1. A shared semantic layer — one place where "revenue," "active customer," and "on-time delivery" are defined once and reused everywhere.
  2. Clear ownership — every metric has a named owner who signs off on changes to its definition.
  3. Lineage you can trace — anyone can click through from a dashboard number back to the source rows that produced it.
  4. Live dashboards on top — not static exports, so the "current" number is always the same number everyone else is looking at.

When everyone decides from the same numbers, meetings stop being about reconciling spreadsheets and start being about what to do next.

Executive dashboard showing unified revenue and pipeline metrics

The architecture, roughly

None of this requires an exotic stack. A typical build looks like this: source systems land in a warehouse, a transformation layer applies the shared definitions once, and every downstream dashboard or export reads from that same modelled layer instead of querying raw tables directly.

sql
-- one definition of "active customer", reused everywhere downstream
create view metrics.active_customers as
select
  customer_id,
  last_order_date,
  case
    when last_order_date >= current_date - interval '90 days' then true
    else false
  end as is_active
from staging.orders
group by customer_id, last_order_date;
Watch out
Skipping the ownership step is the most common failure mode we see. Teams build the semantic layer, then let five people keep editing the same metric definitions without a review step — and within two quarters it drifts right back into disagreement.

Here's what changed for one of our clients after standardising on this model:

5,000+
People using it daily
40+
Sources unified
99.9%
Dashboard uptime
6 weeks
Time to first shared metric

Rolling it out without a big-bang migration

The teams that pull this off well don't try to convert every metric at once:

  • Start with the one number that causes the most cross-team arguments — usually revenue, pipeline, or on-time delivery.
  • Get finance, sales and ops to agree on one definition, in writing, with a named owner.
  • Build one dashboard on top of it and retire the competing spreadsheets for that metric specifically.
  • Repeat for the next most-contested number.

The result

None of this is about having prettier charts. It's about a leadership team that spends its Monday meeting deciding what to do about the number, instead of arguing about whether the number is correct in the first place. That's the actual return on "one source of truth" — faster decisions, not just cleaner dashboards.