Analytics platforms usually rot in the same way: a new industry shows up, the data does not quite fit, and someone bolts on a vertical-specific table, a vertical-specific page, and a vertical-specific pile of code. Two years later the product is five products wearing one logo.
The alternative: describe, do not hardcode
A vertical-agnostic model treats metrics and dimensions as declarative catalog entries rather than bespoke code. A metric knows which table it reads, which column it aggregates, how it should be formatted, and which filters apply. Nothing about "commerce" is special; an order is just a fact with a date, an amount and an identity.
Adding banking
When loan applications and card activations arrive, they land in the same normalised event store as orders and sessions. Making them first-class analytics objects is a matter of registering them:
- Tell the registry about the fact table so the enriched view can be generated automatically.
- Generate that enriched view, including the identity cascade, with one function call.
- Register the new metrics and dimensions in the catalog, pointing at the enriched view.
That is the whole change. The new metric is instantly selectable in every chart picker, filterable by every global filter chip, queryable through the same RPC, and exportable like everything else with zero frontend edits.
We onboarded a second vertical without a single line of custom engineering. The catalog just absorbed it.
Why it matters beyond elegance
The payoff is not architectural vanity. It is that every vertical inherits every future feature for free. Build a new chart type, a new forecast, a new export format once, and banking, telco and lifestyle all get it the moment their data arrives. The model compounds instead of fragmenting.