活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 活动时间。 |
| user_id | Utf8 | 稳定的用户标识符。 |
| event_name | Utf8 | 注册或激活里程碑。 |
DataFusion SQL
复制查询
sql
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;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
按价值实现时间窗口激活用户
大多数活跃用户在一天内达到价值,但分布具有有意义的多日尾部。
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 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1条件 CASE 表达式上的 MIN 查找每个用户的首次注册和激活时间戳。
- 2CASE 表达式将经过的时间转换为可操作读取的存储桶。
- 3从未激活的用户将被排除在此分布之外,并属于渠道转化视图。
需要决定的边缘情况
- 导入或邀请的用户可能有不同的起始事件。
- 注册前激活通常表示身份合并或历史回填。
- 选择反映产品自然使用周期的桶。
推荐仪表板
- 分布:按激活窗口划分的用户
- Stat:激活的中位时间
- 表:按年龄划分的非激活注册人数
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。