Feature Stores intermediate 7 min read 12 flashcards

Feature Reuse, Discovery and Ownership

The organisational argument for a feature store, why reuse is harder than it sounds, and the governance problems that appear once several teams depend on one definition.

The technical case for a feature store is point-in-time correctness and serving latency. The case usually made to management is reuse: five teams each computing "customer lifetime value" slightly differently is five pipelines, five sets of bugs, and five numbers that disagree in meetings. Centralising the definition solves that, and it creates a different set of problems that are organisational rather than technical.

What reuse actually requires

A feature is reusable when a second team can find it, understand its exact semantics, trust its freshness and correctness, and depend on it without the owner breaking it. Each of those is a real requirement.

Discovery needs a searchable registry with descriptions, owners, and, most usefully, which models already consume the feature. Usage is the strongest quality signal available: a feature five production models depend on is better validated than any documentation could indicate.

Semantics must be precise enough to prevent misuse. "Transaction count" is not a definition. "Count of completed, non-refunded transactions in the 30 days before the request timestamp, excluding internal test accounts" is. Most incorrect reuse comes from a consumer assuming a reasonable definition that differs from the actual one.

Trust comes from freshness monitoring, quality checks and an SLA, published alongside the feature rather than discoverable only by asking.

Ownership problems

Once a feature has consumers, its definition is an interface. Changing it changes every model that uses it, and models do not fail visibly when a feature's distribution shifts; they degrade.

This produces the central governance question: who is allowed to change a feature, and what happens to consumers when they do. The workable answer is versioning. A change in semantics creates a new version, consumers migrate deliberately, and the old version is deprecated on a schedule with usage metrics showing who remains. Silently changing a definition in place is the equivalent of a breaking API change with no version bump, and it happens constantly because the feature's owner cannot see the consequences.

The related failure is orphaned features. A team builds features, the team is reorganised, the features remain in the registry with a broken pipeline and an owner who left. Registries without an ownership review process accumulate these until nobody trusts the registry, at which point teams go back to computing their own features and the reuse argument collapses.

When it breaks

Reuse is often not the bottleneck. For a team with three models, a feature store's overhead exceeds its benefit, and the honest answer is a well-organised set of pipelines. Feature stores pay off at the scale where discovery and consistency across teams are genuinely hard, and adopting one early is a common and expensive misjudgement.

Shared features create coupling. A model whose critical feature is owned by another team has taken a dependency on that team's roadmap, on-call rotation and priorities. That is sometimes worth it and it is a real organisational commitment, not a technical convenience.

Generic features are worse than specific ones. A feature designed to serve many models tends toward the lowest common denominator, while the features that most improve a model are usually specific to it. Over-centralising pushes teams toward reusable features that are individually weaker, which shows in model quality before it shows anywhere else.

Cost attribution is unsolved in most deployments. A feature materialised for one model and reused by five has its compute cost charged to whoever built it. Without attribution, teams under-invest in expensive shared features and over-invest in cheap private ones, which is a rational response to the incentives the platform created.

Check yourself

12 flashcards for this concept

Click a card to reveal the answer.

Drill the whole track