Horizon LabsHorizon Labs
Back to Insights
8 Sept 2026Updated 8 Sept 20267 min read

Data Product Management: Treating Datasets Like Products

Most internal datasets have no owner, no documented SLA, and no versioning discipline — which is why downstream teams stop trusting them and start duplicating them. This piece lays out a lightweight framework for treating a handful of critical datasets as products, without committing to a full data mesh rebuild.

Data Product Management: Treating Datasets Like Products

Most internal datasets have no owner, no published contract, and no version history. When a pipeline breaks or a schema changes, downstream teams find out the hard way — a dashboard goes blank, a model starts hallucinating on stale features, or a finance report quietly disagrees with itself. Data product management is a practical response to this: applying the same discipline you'd expect from a well-run API — ownership, service levels, and versioning — to the datasets your teams actually depend on.

This is not a data mesh rebuild. You don't need new platforms, a federated governance council, or a multi-year re-architecture to get most of the benefit. You need a small number of high-traffic datasets treated as products, with clear accountability and predictable change management. That's usually enough to rebuild trust and unlock reuse across teams.

What is a data product in this context?

A data product is an internal dataset (or dataset family) that is treated with the same rigour as a customer-facing product: it has a named owner, a documented service level, a defined schema contract, and a versioning scheme that lets consumers upgrade on their own schedule. The key shift is mindset — the dataset is something you maintain for consumers, not a by-product of a pipeline you happen to run.

This differs from a full data mesh implementation, which typically requires domain-oriented ownership at scale, a self-serve infrastructure platform, and federated computational governance across the whole organisation. Data product management, as described here, is a lighter-weight practice you can apply to a handful of critical datasets without committing to that broader operating model.

Why do internal datasets need named owners?

An internal dataset without a named owner is an orphan — nobody is accountable when it breaks, and nobody has authority to approve changes. Naming an owner (a person or a small team, not a department) turns an implicit assumption into an explicit responsibility, which is the precondition for everything else in this framework.

A data engineer standing at their desk in a bright, sunlit open-plan office, with a monitor showing a data catalogue page and sticky notes on a whiteboard nearby.

The owner isn't necessarily the most senior person available. It's whoever is closest to the source system and has the context to make sound trade-off decisions about schema changes, deprecations, and incident response. In practice this is often a data engineer or analytics engineer embedded in the domain team that generates the data, not a central data team member several hops removed from the source.

Ownership should be visible where consumers actually look — in the data catalogue, in the dataset's own documentation, and ideally in the pipeline code itself. If people have to ask around to find out who owns a table, the ownership model hasn't actually been adopted, it's just been written down somewhere.

What should a dataset SLA actually cover?

A dataset SLA is a documented commitment about freshness, availability, and quality that the owning team makes to consumers, along with what happens when the commitment isn't met. Without this, every downstream team makes its own assumptions about how current or complete the data is — assumptions that are usually wrong at the worst possible moment.

Close-up of hands typing on a keyboard at night, lit by a laptop screen showing a document and a warm desk lamp glow in a dim office.

A workable SLA doesn't need to be exhaustive. At minimum it should cover:

DimensionWhat it definesExample question it answers
FreshnessHow current the data must be"Is this updated hourly, daily, or on each event?"
AvailabilityUptime and access expectations"Can consumers query this during business hours reliably?"
QualityAcceptable error/null rates"What counts as a data quality incident here?"
Schema stabilityHow and when structure can change"Will columns be added, renamed, or removed, and with what notice?"
SupportWho to contact and how incidents are triaged"Where do I raise an issue and what's the expected response?"

The SLA doesn't need to be a legal document. A short, versioned page in your internal wiki or catalogue, linked from the dataset itself, is usually sufficient — the point is that it exists, is discoverable, and is honoured.

How should you version internal datasets?

Dataset versioning is the practice of assigning a version identifier to a schema or dataset definition so that breaking changes can be introduced without silently disrupting every existing consumer. This is the same problem API versioning solves, applied to data instead of endpoints.

In practice, most teams don't need sophisticated version-control tooling to start. A useful, low-friction pattern is:

  • Treat additive, backward-compatible changes (new optional columns, new values in an existing enum) as safe and non-breaking.
  • Treat renames, type changes, removals, or semantic redefinitions (the meaning of an existing column changes) as breaking, and require a new version.
  • Give breaking changes a clear version marker — a suffixed table name, a schema version field, or a dated release note — and support the old version for a defined deprecation window rather than cutting over instantly.
  • Publish a changelog wherever the dataset is documented, so consumers can see what changed and when without having to diff the schema themselves.

This is deliberately less formal than what you'd build for a public API. The goal is predictability for internal consumers, not a fully productised release process.

How does this build trust and reuse without a data mesh rebuild?

Trust in data comes from consumers being able to predict its behaviour — when it will be updated, what happens if something breaks, and whether a schema change will hit them without warning. Ownership, SLAs, and versioning each remove a specific source of unpredictability, and together they're usually enough to shift a dataset from "something people route around" to "something people build on".

Reuse follows trust, not the other way around. Teams don't re-derive their own version of the customer-status table because they enjoy duplicating effort — they do it because they don't trust the existing one, or don't know who to ask about it. Fixing the trust problem for even a handful of foundational datasets tends to reduce duplicate pipelines and conflicting metrics faster than a broader governance program aimed at every dataset in the warehouse.

This is why we recommend starting narrow: pick the three to five datasets with the widest blast radius — the ones feeding the most dashboards, models, or downstream pipelines — and apply the full framework (owner, SLA, versioning) to those first. Expand only once the practice is proven and the overhead is understood.

Where does this fit with a broader data infrastructure strategy?

Data product management is a governance layer, not a replacement for the underlying platform work. If your data infrastructure itself is fragile — inconsistent pipelines, no lineage tracking, unreliable ingestion — ownership and SLAs will surface problems faster than they solve them. Solid data-infrastructure is what makes SLAs achievable in the first place, and it's worth being honest with stakeholders about which problem you're actually solving before you formalise commitments you can't yet keep.

For organisations building or refreshing AI capability on top of these datasets, the same discipline matters even more — models trained on undocumented, unversioned data inherit all of its ambiguity. This is one of the reasons a clear ai-product-strategy usually starts with an honest audit of the data foundations, not the model architecture. You can find more on how we approach this kind of foundational work in our insights.

Getting started without a big-bang rollout

Start with a lightweight audit: for your most-used internal datasets, ask who owns it, what happens when it breaks, and what would count as a breaking change. The gaps in the answers tell you exactly where to apply this framework first. You don't need new tooling to begin — a documented owner, a one-page SLA, and a simple versioning convention will get most teams most of the way there.

If you're exploring how to bring this kind of discipline to your data estate without committing to a full platform rebuild, we can help — starting with an honest assessment of where the trust gaps actually are.

Share

Chris Kerr

Partner at Horizon Labs, an AI product consultancy and venture studio. A commercially focused product and technology leader with 20+ years building and scaling digital platforms, teams, and businesses across SaaS, travel, eCommerce, logistics and transport, and digital marketing — operating at the intersection of product, engineering, and data. Writes about platform strategy, AI transformation, modern data ecosystems, and the operational discipline that separates AI demos from AI products.