← Back to projects

Product analytics and event funnels

Fullstack / Data Architecture

Problem

Measure product adoption and usage funnels for an early-stage product, reliably and without driving up infrastructure cost.

Impact

Real visibility into user behavior without adding an expensive data warehouse or a dedicated cluster.

The problem

An early-stage product needed to understand how users actually used it: which features were adopted, where they dropped off, how funnels behaved. The catch: do it cost-consciously, on a database shared with other projects, without becoming a noisy neighbor.

The architecture

  • Time series on TimescaleDB: a PostgreSQL extension instead of a dedicated OLAP system, reusing the existing infrastructure.
  • Event ingestion that captures behavior and stitches it into funnels and product-health metrics.
  • Dashboard for the business team to read adoption and retention.
  • Careful resource isolation so the shared cluster’s other services were not degraded.

Key decisions

  • TimescaleDB over a data warehouse: for the real volume, it was the adequate and serious choice without the cost of dedicated OLAP. The upgrade path was documented for when volume justifies it.
  • Shared DB with explicit limits: minimizing CPU, disk and background workers was a design requirement, not an afterthought.
  • Metrics defined deliberately: pinning down what each metric means (e.g. active users) avoids misleading conclusions.

Impact

The team gained actionable adoption and behavior signals without adding expensive infrastructure — respecting the budget of a product that is just starting out.