clickhouse数据模型中有序漏斗是什么
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关clickhouse数据模型中有序漏斗是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是有序漏斗,有序漏斗需要满足所有用户事件链
千家信息网最后更新 2026年11月02日clickhouse数据模型中有序漏斗是什么什么是有序漏斗,有序漏斗需要满足所有用户事件链上的操作都是逡巡时间先后关系的,且漏斗事件不能有断层,触达当前事件层的用户也需要经历前面的事件层 漏斗模型是一个倒置的金字塔形状,主要用来分析页面与页面 功能模块之前的转化情况,下面一层都是基于紧邻的上一层转化而来的,也就是说前一个条件是后一个条件成立的基础;解决此类场景clickhouse提供了一个名叫windowFunnel的函数来实现: 为了便于大家理解,这里举个简单的栗子。 插入测试数据 已30分钟作为一个时间窗口,看下windowFunnel返回了什么样的数据 这里level只记录了路径中最后一次事件所属的层级,如果直接对level分组统计就会丢失之前的层级数据,导致漏斗不能呈现金字塔状 继续使用上面的测试数据,通过数组的高阶函数对上述结果数据进行二次加工处理以获取完整漏斗展示效果。
这篇文章将为大家详细讲解有关clickhouse数据模型中有序漏斗是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
前言
假设我们已经得到了触达支付购买的路径有 "首页->详情页->购买页->支付" 和 "搜索页->详情页->购买页->支付" 两个主要路径,但是我们不清楚哪条路径转化率高,那么这个时候漏斗分析就派上用场了
windowFunnel(window)(timestamp, cond1, cond2, ..., condN)
window:窗口大小,从第一个事件开始,往后推移一个窗口大小来提取事件数据 timestamp:可以是时间或时间戳类型,用来对时事件进行排序 cond:每层满足的事件
# 创建一张用户行为表,至少包含时间、事件、用户idCREATE TABLE test.action( `uid` Int32, `event_type` String, `time` datetime)ENGINE = MergeTree()PARTITION BY uidORDER BY xxHash42(uid)SAMPLE BY xxHash42(uid)SETTINGS index_granularity = 8192
insert into action values(1,'浏览','2020-01-02 11:00:00'); insert into action values(1,'点击','2020-01-02 11:10:00'); insert into action values(1,'下单','2020-01-02 11:20:00'); insert into action values(1,'支付','2020-01-02 11:30:00');
insert into action values(2,'下单','2020-01-02 11:00:00'); insert into action values(2,'支付','2020-01-02 11:10:00');
insert into action values(1,'浏览','2020-01-02 11:00:00');
insert into action values(3,'浏览','2020-01-02 11:20:00'); insert into action values(3,'点击','2020-01-02 12:00:00');
insert into action values(4,'浏览','2020-01-02 11:50:00'); insert into action values(4,'点击','2020-01-02 12:00:00');
insert into action values(5,'浏览','2020-01-02 11:50:00'); insert into action values(5,'点击','2020-01-02 12:00:00'); insert into action values(5,'下单','2020-01-02 11:10:00');
insert into action values(6,'浏览','2020-01-02 11:50:00'); insert into action values(6,'点击','2020-01-02 12:00:00'); insert into action values(6,'下单','2020-01-02 12:10:00');SELECT user_id, windowFunnel(1800)(time, event_type = '浏览', event_type = '点击', event_type = '下单', event_type = '支付') AS level FROM ( SELECT time, event_type, uid AS user_id FROM action ) GROUP BY user_id
┌─user_id─┬─level─┐ │ 3 │ 1 │ │ 2 │ 0 │ │ 5 │ 2 │ │ 1 │ 4 │ │ 6 │ 3 │ └─────────┴───────┘模型
案例
分析"2020-01-02"这天 路径为"浏览->点击->下单->支付"的转化情况。
SELECT level_index,count(1) FROM( SELECT user_id, arrayWithConstant(level, 1) levels, arrayJoin(arrayEnumerate( levels )) level_index FROM ( SELECT user_id, windowFunnel(1800)( time, event_type = '浏览', event_type = '点击' , event_type = '下单', event_type = '支付' ) AS level FROM ( SELECT time, event_type , uid as user_id FROM test.action WHERE toDate(time) = '2020-01-02' ) GROUP BY user_id ))group by level_indexORDER BY level_index
关于"clickhouse数据模型中有序漏斗是什么"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
事件
漏斗
浏览
数据
支付
路径
有序
模型
时间
用户
篇文章
分析
函数
大小
层级
情况
更多
条件
详情
金字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
互联网加科技
湖北九亚互联网络科技有限公司
互联网和科技创新
万易互联网科技有限公司
互联网科技上市公司
互联网科技公司介绍
互联网之后的科技是什么
互联网科技项目计划书材料类
互联网科技与管理
互联网还是高科技吗
厦门江牛科技互联网
互联网与数字科技关系
上海乐五互联网科技有限公司
玉溪新华互联网科技怎么选
互联网科技品牌
黑龙江互联网科技公司
互联网科技创新方面的资料
银川新华互联网科技学校招聘
恒生科技互联网指数十大成分股
融势互联网科技
融贸通互联网科技
伴你行互联网科技有限公司
工业互联网等科技实现智能化赋能
四川互联网展示科技馆设计
互联网与数字科技关系
昆明中奇联合互联网科技
华人运通互联网科技公司
瑞安市蟠桃会互联网科技有限公司
互联网科技快速发展优美句子