中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

clickhouse數據模型中有序漏斗是什么

發布時間:2022-01-14 14:25:56 來源:億速云 閱讀:184 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關clickhouse數據模型中有序漏斗是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

什么是有序漏斗,有序漏斗需要滿足所有用戶事件鏈上的操作都是逡巡時間先后關系的,且漏斗事件不能有斷層,觸達當前事件層的用戶也需要經歷前面的事件層

前言

假設我們已經得到了觸達支付購買的路徑有 “首頁->詳情頁->購買頁->支付“ 和 “搜索頁->詳情頁->購買頁->支付“ 兩個主要路徑,但是我們不清楚哪條路徑轉化率高,那么這個時候漏斗分析就派上用場了

漏斗模型是一個倒置的金字塔形狀,主要用來分析頁面與頁面 功能模塊之前的轉化情況,下面一層都是基于緊鄰的上一層轉化而來的,也就是說前一個條件是后一個條件成立的基礎;解決此類場景clickhouse提供了一個名叫windowFunnel的函數來實現:
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');      
已30分鐘作為一個時間窗口,看下windowFunnel返回了什么樣的數據
   
   
   
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 │    └─────────┴───────┘      
這里level只記錄了路徑中最后一次事件所屬的層級,如果直接對level分組統計就會丟失之前的層級數據,導致漏斗不能呈現金字塔狀

模型

繼續使用上面的測試數據,通過數組的高階函數對上述結果數據進行二次加工處理以獲取完整漏斗展示效果。
  • 案例
    分析"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數據模型中有序漏斗是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

楚雄市| 伊宁市| 敖汉旗| 定陶县| 定结县| 东乡族自治县| 新沂市| 鲁甸县| 昭觉县| 东平县| 二连浩特市| 河东区| 志丹县| 泰和县| 伽师县| 新余市| 台东县| 乐陵市| 日土县| 玉田县| 永福县| 陆川县| 海原县| 马关县| 茂名市| 沅陵县| 嘉善县| 邢台市| 东兰县| 铅山县| 苏尼特左旗| 丰镇市| 绵阳市| 龙游县| 格尔木市| 洪雅县| 林甸县| 固原市| 旌德县| 高雄市| 黑龙江省|