EngineeringAnalytics

Why We Rebuilt Our Data Pipeline Around Cohorts

Cohort-first analytics changed how we forecast retention, CAC payback, and contribution margin. A look under the hood.

Startup Suite Team
Research & insights
·Mar 03, 2026·13 min read
Why We Rebuilt Our Data Pipeline Around Cohorts

If your reporting tool cannot natively slice on cohort, every interesting question becomes a custom query, and custom queries don't scale with curiosity.

What broke in the old pipeline

Our first pipeline treated cohorts as something you reconstruct after the fact. Every retention question meant joining events back to a signup date, every join was slightly different, and no two analysts produced quite the same number.

The result was a slow tax on curiosity. The questions worth asking were exactly the ones that needed a new query, so most of them never got asked. The data was technically complete and practically useless.

The tell

If two people answer the same metric question with two different numbers, the problem is not the people. It is that the model makes the easy question hard.

Cohorts as a first-class dimension

We stopped treating cohorts as a report and started treating them as a dimension that every metric inherits. Retention, CAC payback, and contribution margin all became a single group-by away.

The principle is simple: anything you will want to slice by should be a dimension carried by the data, not a calculation bolted on later. Cohort was the obvious first candidate because nearly every interesting question about a subscription business is really a question about a cohort over time.

Under the hood

Every event carries its acquisition cohort at write time, so historical re-slicing never requires a backfill.

Stamp the cohort at write time

The key engineering decision was to resolve and store the acquisition cohort on the event as it is written, not to infer it at query time. It costs almost nothing on write and saves you from ever backfilling history when the next question arrives.

  • Resolve the cohort once, at the moment the event is recorded
  • Store it alongside the event so every downstream metric inherits it
  • Never recompute history, the answer is already in the row

What it unlocked

Forecasting got sharper because we could finally see which cohorts behaved differently and why. The model stopped averaging away the signal.

  • Retention by cohort, without a custom query each time
  • CAC payback compared across acquisition channels honestly
  • Contribution margin sliced by when a customer arrived, not just who they are
An average is just a place where good cohorts and bad cohorts agree to hide from you.

What we would tell our past selves

Decide your first-class dimensions before you write the first event, not after the dashboards start lying. Migrating a pipeline is expensive, stamping one extra field on a new event costs almost nothing.

If you take one thing from this: the shape of your data decides which questions are cheap to ask, and the cheap questions are the only ones a busy team will actually ask. Build the pipeline so the important questions are the easy ones.

SS
Written by
Startup Suite Team
Research & insights

Written by the Startup Suite team, drawing on what we hear from founders building their plans, illustrative until we publish named bylines.

How Startup Suite helps

Slice every metric by cohort, automatically

Startup Suite treats cohorts as a first-class dimension, so retention, CAC payback, and contribution margin are a single view away, not a custom query.

  • Cohort-aware metrics with no backfills or one-off queries
  • Variance AI explains what moved and why, in plain English
  • Forecasts that keep the signal instead of averaging it away
Explore Variance AI
Ready when you are

Go from idea to investor-ready.

Build your plan, connect your numbers, and see this working on your own business, no finance team required.

From idea to investor-ready · built for founders, not finance teams