Event contract
Fields the query expects
| Field | Type | Why it exists |
|---|---|---|
| timestamp_utc | Timestamp | Event time. |
| user_id | Utf8 | Stable user identifier. |
| event_name | Utf8 | Signup or activation milestone. |
Copy the query
WITH milestones AS (
SELECT
user_id,
MIN(CASE
WHEN event_name = 'signup_completed' THEN timestamp_utc
END) AS signed_up_at,
MIN(CASE
WHEN event_name = 'first_meaningful_action_completed' THEN timestamp_utc
END) AS activated_at
FROM product_events
WHERE timestamp_utc >= now() - INTERVAL '90 days'
GROUP BY user_id
)
SELECT
CASE
WHEN activated_at - signed_up_at < INTERVAL '10 minutes' THEN 'under 10m'
WHEN activated_at - signed_up_at < INTERVAL '1 hour' THEN '10m–1h'
WHEN activated_at - signed_up_at < INTERVAL '1 day' THEN '1h–1d'
WHEN activated_at - signed_up_at < INTERVAL '7 days' THEN '1d–7d'
ELSE '7d+'
END AS activation_window,
COUNT(*) AS users
FROM milestones
WHERE signed_up_at IS NOT NULL
AND activated_at >= signed_up_at
GROUP BY activation_window
ORDER BY users DESC;This recipe is read-only and reviewed against Telemetry's DataFusion query patterns. Sample output is deterministic and synthetic; validate field types, thresholds, and business definitions against your own data.
Query result
Activated users by time-to-value window
Most activated users reach value within one day, but the distribution has a meaningful multi-day tail.
under 10m
182
10m–1h
264
1h–1d
318
1d–7d
146
7d+
38
| activation_window | users |
|---|---|
| under 10m | 182 |
| 10m–1h | 264 |
| 1h–1d | 318 |
| 1d–7d | 146 |
| 7d+ | 38 |
Synthetic example output. Run the query against your own event schema and thresholds before using it for operational decisions.
How the SQL works
- 1MIN over conditional CASE expressions finds each user’s first signup and activation timestamp.
- 2The CASE expression converts elapsed time into operationally readable buckets.
- 3Users who never activate are excluded from this distribution and belong in the funnel conversion view.
Edge cases to decide
- Imported or invited users may have a different starting event.
- Activation before signup usually indicates identity merging or historical backfill.
- Choose buckets that reflect the product’s natural usage cycle.
Recommended dashboard
- Distribution: users by activation window
- Stat: median time to activation
- Table: non-activated signups by age
Alert guidance
Use the distribution for product review; alert only when instrumentation stops or activation volume collapses.
Read alert setupPut the recipe to work
Related instrumentation and guides
Continue the analysis
Build a Signup-to-Activation Funnel in SQL
Calculate unique-user conversion through signup, onboarding, integration, and first-value milestones.
Open recipeCalculate Weekly Cohort Retention
Group users by first activity week and measure the percentage returning in later weeks.
Open recipeFind Features Used Before Upgrade
Join feature events to upgrade events and rank behaviors that occur before paid conversion.
Open recipeRun it on real events
Create a table, adapt the fields, and save the result
Start free, send structured events, and use the query result as a chart, shared dashboard widget, or alert input.