活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 有意义的活动时间。 |
| team_id | Utf8 | 帐户标识符。 |
| event_name | Utf8 | 合格的产品活动。 |
DataFusion SQL
复制查询
sql
WITH monthly AS (
SELECT DISTINCT
team_id,
date_trunc('month', timestamp_utc) AS activity_month
FROM product_events
WHERE timestamp_utc >= now() - INTERVAL '180 days'
AND event_name IN ('feature_used', 'query_run', 'dashboard_viewed')
),
transitions AS (
SELECT
activity_month,
team_id,
LAG(activity_month) OVER (
PARTITION BY team_id ORDER BY activity_month
) AS previous_active_month
FROM monthly
)
SELECT
activity_month,
SUM(CASE
WHEN previous_active_month = activity_month - INTERVAL '1 month' THEN 1 ELSE 0
END) AS retained_teams,
SUM(CASE
WHEN previous_active_month < activity_month - INTERVAL '1 month' THEN 1 ELSE 0
END) AS reactivated_teams
FROM transitions
GROUP BY activity_month
ORDER BY activity_month;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
保留和重新激活的团队
在三个月的队列中,重新激活的账户有所增加。
2026-05
442
38
2026-06
468
51
2026-07
492
64
| activity_month | retained_teams | reactivated_teams |
|---|---|---|
| 2026-05 | 442 | 38 |
| 2026-06 | 468 | 51 |
| 2026-07 | 492 | 64 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1每月 CTE 按账户和月份删除多个合格操作。
- 2LAG 查找帐户上一个活跃月份。
- 3一个月的间隔意味着不间断的保留;更大的间隙意味着重新激活。
需要决定的边缘情况
- 此查询不计算从未返回的流失帐户;使用左连接从前一组中计算它们。
- 将帐户活动用于协作产品,其中一个用户并不代表客户的健康状况。
- 始终排除内部和测试团队。
推荐仪表板
- 堆积条:保留和重新激活的团队
- 统计:徽标保留总量
- 表:重新激活的帐户和首次返回操作
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。