事件结构
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| trial_id | Utf8 | 虚构尝试的标识符,不是学生或个人的 ID。 |
| event | Utf8 | 虚构练习答题流程中记录的一个步骤。 |
DataFusion SQL
复制查询
sql
SELECT
COUNT(DISTINCT CASE WHEN event = 'flow_started' THEN trial_id END) AS started,
COUNT(DISTINCT CASE WHEN event = 'question_opened' THEN trial_id END) AS opened,
COUNT(DISTINCT CASE WHEN event = 'answer_submitted' THEN trial_id END) AS submitted
FROM prototype_events;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
已记录的不同尝试
这组虚构数据记录了八次开始、六次打开题目和三次提交。
| started | opened | submitted |
|---|---|---|
| 8 | 6 | 3 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1COUNT(DISTINCT trial_id) 统计包含各类事件的不同尝试。toy-02 有两条打开题目的记录,直接数行会把这一步多算一次。
- 2记录到的尝试次数从开始到打开问题减少了两次,从打开问题到提交答案又减少了三次。
- 3缺少提交事件不能证明用户放弃了。人可能停下了,应用可能出错了,日志系统也可能漏记了事件。
需要检查的边界情况
- 如果出现提交事件却没有打开问题事件,就不符合预期顺序。解释真实漏斗前,应先查看单次尝试的记录。
- 重复使用或缺失的尝试 ID 会让去重计数失真。收集真实事件前,应先定义好标识符。
- 这些虚构记录没有随机对照,无法衡量设计改动的效果。
推荐仪表板
- 表格:三个已记录步骤中不同尝试的数量
设置此查询需要的事件
相关埋点和指南
继续分析