Skip to content
Resources / Data pipeline guides

Episode 5: Activation

Measure activation from the first check, then count the time to the first passing result. A warehouse model turns the attempts into an answer customer success can use.

GTM9 October 20263 min

What is in this episode

  • Defining activation as first usage, recorded in first_check_at
  • Reading the first-check timestamp as the activation moment
  • What ever_failed and check_runs tell you about the attempts
  • Defining first value as a passing check, and measuring the gap from activation
  • Using the model to find accounts that need help

First usage needs a moment

A warehouse full of rows still needs a question. This episode asks who has used the product for the first time, when that happened, and what it took to get a useful result.

The model in the recording brings the check runs together into one row with first_check_at on it. That timestamp is the start of activation in this example. A signup says someone created an account; a first check says they used the product.

In the walkthrough, one row has a first check at 09:12 and another at 10:04. Both have a first usage. A row without first_check_at has no recorded first usage, so the model cannot count it as activated.

The timestamp is the activation time

Once the first-check timestamp exists, the next question has an exact answer. The two rows activated at 09:12 and 10:04. They represent the same kind of action at different moments.

Counting rows arriving in the warehouse would measure replication. Counting signups would measure account creation. Here we measure the first time the product was used, so the clock starts at first_check_at.

What first usage took

The same row carries ever_failed and check_runs. The first tells you whether any check failed; the second counts the runs. Neither field tells you the order of those outcomes. To distinguish a first-run pass from a retry, read the run timestamps and outcomes shown in the recording.

The 10:04 example passes on its only run. The 09:12 example fails, fails again at 09:26, then passes at 09:41. It has two more passing runs at 09:48 and 09:55, bringing check_runs to five. Both activated, but their first experiences were different.

Set the value goal before measuring the gap

The goal in this walkthrough is a passing check. Activation is the first check, and first value is the first time a check passes. Time to value is the interval between those two moments.

For the row that passes at 10:04 on its first run, the goal is met at activation. The interval is zero. For the row that starts at 09:12 and first passes at 09:41, it is 29 minutes. Later passes do not move that first-value moment.

Keep the timestamps behind the answer. ever_failed and check_runs describe the attempts. Neither gives you the time of the first pass. To calculate the interval, you also need the timestamp of the first passing run, as shown in the recording.

Use the answer to find who needs help

Across accounts, the same definition lets you calculate an average or median time to value. It also lets you find a particular account that started using the product but has not reached a passing check, or one that took several attempts to get there.

That gives customer success a reason to reach out grounded in what happened. The useful output of the warehouse model is an answer someone can act on, with the timestamps and outcomes that explain it.

Episode 6 moves from that first interval to account health over time.

3 episodes to go

Get the next episode when it lands

One email per episode, nothing else. Unsubscribe in one click.

Your address goes on this list and nowhere else.