Preventing Metric Sprawl in a Growing Analytics Organization
Organize metrics in a semantic layer to stop duplicate definitions.

A data team inherited a stack with 40 views built on the same underlying transactions table. Finance and Ops were answering the same question with different numbers, and neither side knew it.
That's not a tooling failure: it happens, reliably, when three structural defaults sit underneath a growing analytics org and nobody addresses them, as dashboards get created but never retired, metric logic gets defined separately by whoever happens to be building the report, and no one actually owns the result.
Start with creation. Self-service BI tools made it easy for any team to spin up a new dashboard for any new question, and that's a genuine win for speed. The problem isn't that people can build dashboards quickly. The problem is that nothing in most organizations raises a matching barrier against duplication. Old dashboards pile up because retiring one requires someone to decide it's safe to delete, and in most orgs, no one holds that authority. So dashboards accumulate the way old files accumulate on a shared drive: not through anyone's bad judgment, just through the absence of a mechanism to clean up after good judgment.
Then there's the logic itself. The SQL in each case can be completely valid and still produce a number that disagrees with the dashboard next to it.
Ownership ties the first two together, or rather, its absence is what lets the first two compound. Add tool fragmentation, since large organizations commonly run several visualization tools across departments, each with its own inventory and no shared visibility across platforms, and the sprawl is scattered across a handful of them, invisibly, to the people who'd need to see it to fix it.
Why the damage compounds faster than most organizations expect
The mechanism above wouldn't matter much if it stayed stable. The fix for distrust becomes the raw material for more distrust.
CGI's Doug Leal put the cost of that collapse this way: "And the cost to turn that around and get them to trust the data again is huge. When every team frustrated by conflicting numbers reaches for that same instinct, what looks rational at the individual level becomes corrosive at the organizational one.
Maintenance grows alongside distrust as a problem of its own. Every dashboard that exists is a dashboard someone has to keep correct. When a source schema changes, every downstream report built on it needs updating. At a few hundred or a few thousand, it becomes a tax that analysts and engineers pay before they do any new work at all, and the tax rate only rises.
Access control adds its own version of the same spiral. Views, used this way, don't solve the access problem. They relocate it, multiply the number of things that need maintaining, let meaning drift between copies that were supposed to be identical, and leave no trail explaining who saw what version of the truth and when.
AI agents widen all of this at once. Once natural language becomes a valid way to query the business, the range of possible questions is effectively unlimited, and no dashboard-level permission scheme was ever built to govern an interface with no fixed shape.
Why the instinctive governance responses fail on their own
Faced with all this, the first instinct in most organizations is to tighten things up: write better documentation, hold an alignment meeting, agree on terms. None of that is wrong exactly. It's just aimed at the wrong layer of the problem.
Metric inconsistency is primarily an architectural failure. Without a technical mechanism tying the glossary to the actual calculation, the two drift apart silently, and nobody notices until two numbers disagree in a meeting.
The opposite instinct, tightening governance into an approval gate, fails for a different reason. A council that requires sign-off before anyone can connect a new data source doesn't produce more consistent metrics. It produces shadow spreadsheets and private dashboards built specifically to avoid the council, a worse version of sprawl.
Technology amplifies whatever process already exists underneath it. Rolling out self-service analytics tools, or AI query agents, onto a metric landscape that's already ungoverned doesn't fix the mess. It speeds up how fast the mess grows, because the new tools make it faster to produce new, independently-defined versions of old numbers.
The strongest case against any of this is that plenty of teams run on informal governance for years without trouble. It breaks exactly at the point where the team outgrows what one person can track, which is precisely the point most growing analytics organizations have already reached by the time sprawl becomes visible to them.
The architectural fix: defining metrics once above the dashboard layer
If the cause is architectural, the fix has to be too. Metric inconsistency at scale doesn't persist because teams disagree about what "revenue" should mean. It persists because the system defines "revenue" separately, at the point of consumption, every time someone builds something new. Two authors working independently will make two different judgment calls, and the architecture guarantees it, no matter how well-intentioned either author is.
The fix is to stop defining metrics inside dashboards at all, and instead define them once, in a layer that sits between the raw data and every tool that queries it. A metrics layer, sometimes called a semantic layer, holds the calculation logic centrally, so that a dashboard, an ad hoc SQL query, and an AI agent all pull from the same definition. It functions as the bridge that keeps a metric meaning the same thing regardless of whether a product manager is looking at it in a dashboard or an AI agent is surfacing it in response to a plain-English question.
A few concrete implementations show what this looks like in practice. The dbt Semantic Layer, built on MetricFlow, defines metrics in YAML files stored in Git, right alongside the data models that feed them. Databricks takes a warehouse-native approach with Unity Catalog Metric Views, defining a metric once at the data layer so that every dashboard, notebook, SQL query, and AI agent reading from that warehouse inherits the same calculation, along with Unity Catalog's existing permissions and lineage tracking.
The industry is also converging on this idea at a standards level. The effort entered the Apache Incubator in July 2026 under the name Apache Ossie. That kind of cross-vendor cooperation signals a shared recognition, across competitors, that the architecture needs to change.
The access control piece belongs here too. BigQuery, for example, enforces permissions at query execution, applying policy filters, meaning WHERE clauses and column access checks, directly against the identity of whoever is running the query. Enforcing access at that point removes the reason teams build parallel views in the first place: if the system can restrict what a given user sees at query time, nobody needs a separate orders_for_finance copy to accomplish the same thing. Governed AI BI platforms extend this further, sanitizing whatever an AI agent generates against the same access rules that already govern regular queries, since a fixed dashboard-level lock has no way to anticipate a natural-language question nobody's asked yet.
None of this is without friction. Grounding the AI in a governed semantic model is what makes it safe to hand natural-language query access to someone without a technical background. Skipping that step doesn't remove the risk; it defers the moment someone discovers it.
The ownership model and governance habits that make the architecture hold
A semantic layer solves the technical half of the problem. It does nothing on its own to decide what belongs in that layer, what should be retired from it, or who gets to make that call. The architecture and the ownership model have to work together, because a well-designed metrics layer with no one responsible for its contents just becomes a well-organized version of the same sprawl.
Assign data product owners for the major domains, people accountable for the health, adoption, and clarity of the dashboards and KPIs inside their area.
Alongside product owners, domain stewards handle the metric definitions themselves: making sure each key metric has exactly one approved definition, and that any proposed change to it goes through review before it ships. These are often senior analysts or operations leads, chosen because they understand the business context behind a number, not just the SQL that produces it.
Both roles need somewhere to meet and decide things, which is the job of a BI governance council, as long as the council functions as a forum for decisions. The distinction is concrete and testable: a council that requires VP sign-off before anyone can connect a new data source has recreated the exact over-governance trap described earlier. A council that meets on a regular cadence to retire redundant dashboards and certify which definitions are standard has not. The practical test of whether a council is working is whether a metric owner can retire a redundant dashboard inside a single sprint, without escalating the decision up a chain of approvals.
None of this holds without a standing habit of lifecycle hygiene. New dashboards go through a review step before they're shared broadly. Certification matters for the same reason from the consumer's side: marking which dashboards are official lets a non-technical user know which number to trust without having to read documentation first.
Auditing what you have before adding what you think you need
None of the architecture or ownership structure above can be sized correctly, or prioritized sensibly, without first knowing what already exists and how it's actually used. Skipping that step leads organizations to build new structure on top of old sprawl.
The audit starts with visibility: is there one place to see every dashboard and report across every tool in use, and can someone trace a given dashboard back to the source tables that feed it? And tooling has to be examined directly: can the organization see usage analytics across its BI workspaces, and is warehouse compute cost visible on a per-dashboard basis?
Usage data is what turns this from an argument into a fact-finding exercise. Centralizing inventory and usage signals in one catalog, then layering in lineage and policy workflows on top of that, changes the cleanup conversation from an opinion fight into something closer to an audit.
Discovery is an issue that occurs even earlier than redundancy does. That's carelessness is the absence of any mechanism that would have surfaced the existing dashboard before a new one got commissioned. A searchable catalog that spans tools, so existing work is visible before new work gets started, removes the main driver of duplicate creation at its source.
A database GUI with governed, permissioned access to saved queries and editable data views, rather than shared credentials passed around informally or a growing pile of team-specific view copies, addresses the access-workaround driver of sprawl in a practical, contained way, without requiring the full catalog rollout as a prerequisite.
What a well-governed analytics organization looks like at scale
The goal was never zero dashboards, and it was never one single source of truth for every possible question. The goal is a state where every metric that actually matters has one owner, one definition, and one authoritative view, and where building something new doesn't silently undercut something that already existed.
A few signs mark that state when it's reached. Dashboards stop disagreeing on core numbers for the same reporting period. Anyone looking at a dashboard can tell, without asking around, whether it's certified and authoritative or exploratory and provisional. Deprecating an old dashboard becomes routine, something that happens on a schedule, rather than a scramble that only happens after someone's embarrassed in a meeting.
The objection that governance slows delivery deserves a real answer, not a dismissal, because it's grounded in something true: concern about speed has grown right alongside concern about data trust, and any governance approach that slows teams down will get abandoned no matter how sound it is technically. Building governance that makes delivery more predictable is the answer instead of adding approval steps: a semantic layer paired with clear ownership means a new dashboard author inherits the correct metric definitions automatically, instead of reconstructing them from scratch and risking a fresh version of the same drift. Without a governed layer underneath self-serve, the burden on analysts stays, and sprawl just happens faster, with more people doing the producing.
AI raises the stakes on this. As agents join dashboards and hand-written SQL as a third way to query the business, the semantic layer becomes the only enforcement point that can actually hold, since no fixed, dashboard-level permission scheme can anticipate an open-ended natural-language question before it's asked. A governed model behind the agent makes it safe to let a non-technical person ask the business a question in everyday language. Without that grounding, the agent is left guessing at definitions, and whatever answer it gives has no way to be checked.
The pieces reinforce each other once they're in place. Ownership makes an honest audit possible. The audit makes retirement possible, because there's finally data showing what's actually unused. Retirement cuts the maintenance load. And the capacity that frees up is the same capacity sprawl had been quietly consuming all along, now available for the analysis the organization built its data team to do in the first place.


