活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 活动时间。 |
| user_id | Utf8 | 稳定的演员标识符。 |
| event_name | Utf8 | 合格的产品行动。 |
DataFusion SQL
复制查询
sql
WITH daily_users AS (
SELECT DISTINCT
date_trunc('day', timestamp_utc) AS activity_day,
user_id
FROM product_events
WHERE timestamp_utc >= now() - INTERVAL '35 days'
AND event_name IN ('feature_used', 'dashboard_viewed', 'query_run')
),
days AS (
SELECT DISTINCT activity_day
FROM daily_users
),
activity AS (
SELECT
days.activity_day,
COUNT(DISTINCT CASE
WHEN daily_users.activity_day = days.activity_day
THEN daily_users.user_id
END) AS dau,
COUNT(DISTINCT daily_users.user_id) AS wau
FROM days
JOIN daily_users
ON daily_users.activity_day BETWEEN
days.activity_day - INTERVAL '6 days' AND days.activity_day
GROUP BY days.activity_day
)
SELECT
activity_day,
dau,
wau,
100.0 * dau / NULLIF(wau, 0) AS stickiness_pct
FROM activity
ORDER BY activity_day;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
日活跃用户数
最后三天的日常活动有所增加。
2026-07-25
812
2026-07-26
846
2026-07-27
910
| activity_day | dau | wau | stickiness_pct |
|---|---|---|---|
| 2026-07-25 | 812 | 5,120 | 15.86 |
| 2026-07-26 | 846 | 5,244 | 16.13 |
| 2026-07-27 | 910 | 5,408 | 16.83 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1第一个 CTE 按用户和日期删除重复的合格事件。
- 2将每个报告日与前 7 个活动日相结合,即可得出完全不同的 WAU 分母。
- 3粘性是当天的不同活跃用户除以当天滚动的不同每周活跃用户。
需要决定的边缘情况
- 如果页面视图或登录不能代表有意义的活动,请勿使用它们。
- 匿名用户与已识别用户的合并会更改不同计数。
- 从报告比较中排除当前不完整的日期。
推荐仪表板
- 趋势:DAU 和确切的 WAU
- 统计数据:DAU/WAU 粘性
- 表:按计划或获取来源划分的活跃用户
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。