- 小米用户行为分析平台:基于事件模型进行用户行为分析,数据来源于各业务在网页或APP上的埋点数据。
- 事件模型:用户在网页或APP中的各种操作抽象成事件实体,基于事件模型进行建模。
- 事件分析:通过SQL查询实现,例如:
select(a.`time` - 1635696000000) div 3600000 as `time`,count(distinct if(a.`event_name` = 'download', a.`distinct_id`, null)) as val1
from db_test.table_test a
where `a`.`date` between 20230530 and 20230530
and a.`event_name` in ('download')
group by 1
having val1 is not null
order by 2 desc
limit 10000
- 留存分析:分析用户在特定时间窗口内的活跃情况。
- 漏斗分析:通过SQL查询实现,例如:
SELECT funnel_count(c.funnel_info)
FROM (SELECT distinct_id, funnel_info(1664586000000, 604800000, CASEWHEN event_name = \"view\" THEN 1 ELSE 0 END | CASEWHEN event_name = \"open\" THEN 2 ELSE 0 END | CASEWHEN event_name = \"buy\" THEN 4 ELSE 0 END | CASEWHEN event_name = \"use\" THEN 8 ELSE 0 END, timestamp) AS funnel_info
FROM funnel_analysis_test
WHERE timestamp >= 1664586000000
GROUP BY distinct_id) c;
漏斗分析至少包含2个步骤,每个步骤对应一个事件,步骤可根据业务场景增加。
- 路径分析:通过SQL查询实现,例如:
SELECT session_count(c.path)
FROM (SELECT distinct_id, session_del(event_name, timestamp, 1800000, \"view\", 1, 10) AS path
FROM path_analysis_test
WHERE timestamp >= 1685584800000
AND timestamp < 1685592000000
GROUP BY distinct_id) c;
- 分布分析:分析用户行为的分布情况。