Hologres實戰:路徑分析函數

前言

Hologres提供了一套高效的路徑分析函數,包括路徑明細計算和結果解析功能,能夠幫助用戶深入理解用戶行為路徑,并通過桑基圖實現數據可視化。

一、核心功能

  • 路徑明細計算:精確記錄用戶在產品或功能中的完整訪問路徑
  • 結果解析:對路徑數據進行深度分析和指標計算
  • 可視化支持:生成桑基圖展示路徑流量分布和轉化情況
    在這里插入圖片描述

二、路徑明細函數

1. 路徑明細函數(path_analysis_detail

path_analysis_detail函數用于將指定的事件數據深度解析并呈現為詳細的路徑結構。其輸出結果以序列化數組的形式展現,內容詳盡豐富,涵蓋了路徑的完整序列、路徑內各個節點間的父子關系,以及每個路徑步驟的執行耗時等關鍵信息。

語法
path_analysis_detail(event, event_time, start_event, session_interval_sec, path_depth, path_offset, is_reverse,
split_session_by_event)
參數說明

在這里插入圖片描述

2. 路徑漏斗函數(pad_funnel

pad_funnel函數用于獲取特定事件組合構成的子路徑信息。

語法
pad_full_path(path_analysis_detail())
參數說明

path_analysis_detail():路徑明細函數返回的路徑明細的聚合結果數組。

返回值說明
pad_sub_path_left(unnested_pad_result)
pad_sub_path_right(unnested_pad_result)
pad_sub_index_left(unnested_pad_result)
pad_sub_index_right(unnested_pad_result)
pad_sub_cost(unnested_pad_result)
pad_sub_session(unnested_pad_result)

在這里插入圖片描述

3. pad_session_path_array

pad_session_path_array路徑結果解析函數可以根據指定的會話ID,精準提取出該會話內發生的事件序列,并按照路徑前綴進行有序組織。

語法
pad_session_path_array(path_analysis_detail(), session_idx)
參數說明
  • path_analysis_detail():路徑明細函數返回的路徑明細的聚合結果數組。
  • session_idx:指定的會話序號。

三、使用示例

1. 準備數據

--創建Extension,Extension是DB級別的函數,一個DB只需執行一次即可
CREATE extension flow_analysis;
--準備數據
CREATE TABLE path_demo( uid text,event text,event_time timestamptz
);INSERT INTO path_demo VALUES
('1','注冊','2023-11-24 16:01:23+08'),
('1','登錄','2023-11-24 16:02:10+08'),
('1','瀏覽','2023-11-24 16:02:15+08'),
('1','看直播','2023-11-24 16:03:10+08'),
('1','瀏覽','2023-11-24 16:03:15+08'),
('1','收藏','2023-11-24 16:04:20+08'),
('1','瀏覽','2023-11-24 16:07:21+08'),
('1','購買','2023-11-24 16:08:23+08'),
('1','退出','2023-11-24 16:09:05+08'),('2','登錄','2023-11-24 16:10:23+08'),
('2','購買','2023-11-24 16:12:23+08'),('3','登錄','2023-11-24 16:02:23+08'),
('3','瀏覽','2023-11-24 16:02:23+08'),
('3','收藏','2023-11-24 16:03:53+08'),
('3','看直播','2023-11-24 16:04:53+08'),('4','登錄','2023-11-24 16:02:23+08'),
('4','瀏覽','2023-11-24 16:03:53+08'),
('4','購買','2023-11-24 16:04:23+08'),
('4','看直播','2023-11-24 16:05:53+08'),
('4','取消下單','2023-11-24 16:06:53+08');

2. 使用案例

示例1:記錄事件全部路徑
  • 按照時間切分SESSION:指定起始事件,按照時間切分SESSION,并設置SESSION間隔為180 s,匹配的序列長度為7。
--按照時間切分:指定開始事件為“登錄”,SESSION時間間隔為180 s,匹配序列長度為7,并通過pad_full_path函數對結果解碼
SELECT uid, pad_full_path(path_analysis_detail(event, event_time, '登錄', 180, 7, 0, false)) AS ret FROM path_demo GROUP BY uid;

在這里插入圖片描述

  • 按照時間和事件切分SESSION:指定起始事件,SESSION時間間隔為180 s,匹配序列長度為7。
--按照時間和事件切分:起始事件為"瀏覽",間隔時間為180 s,序列長度為7,并通過pad_full_path函數對結果解碼
SELECT uid, pad_full_path(path_analysis_detail(event, event_time, '瀏覽', 180, 7, 0, false,TRUE)) AS ret FROM path_demo GROUP BY uid;

在這里插入圖片描述

示例2:展開路徑結果
--將路徑展開
SELECT uid, unnest(pad_full_path(path_analysis_detail(event, event_time, '登錄', 180, 7, 0, false))) AS ret FROM path_demo GROUP BY uid;

在這里插入圖片描述

示例3:展開子路徑并獲取每一步的路徑明細
--展開子路徑
SELECTuid,pad_sub_session (ret) AS session_id,pad_sub_path_left (ret) AS sub_path_left,pad_sub_path_right (ret) AS sub_path_right,pad_sub_index_left (ret) AS sub_index_left,pad_sub_index_right (ret) AS sub_index_right,pad_sub_cost (ret) AS sub_cost
FROM (SELECTuid,unnest( path_analysis_detail (event, event_time, '登錄', 180, 7, 0, FALSE)) AS retFROMpath_demo GROUP BYuid) a ;

在這里插入圖片描述
同時我們也可以結合可視化工具,例如DataV的Echarts 桑基圖,將計算結果形成可視化的桑基圖,示例如下:

在這里插入圖片描述

示例4:計算每個子路徑的PV、UV(未去重)
--計算每個子路徑的uv/pv,未去重,如果需要去重,可以對uid做
SELECTsub_index,sub_path_left,sub_path_right,count(uid)
FROM (SELECTuid,pad_sub_path_left (ret) AS sub_path_left,pad_sub_path_right (ret) AS sub_path_right,pad_sub_index_right (ret) AS sub_indexFROM (SELECTuid,unnest(path_analysis_detail (event, event_time, '登錄', 180, 7, 0, FALSE)) AS retFROMpath_demoGROUP BYuid) a) a
GROUP BYsub_index,sub_path_left,sub_path_right
ORDER BYsub_index,sub_path_left,sub_path_right;

在這里插入圖片描述

示例5:計算每個子路徑的平均耗時
--計算子路徑的平均耗時
SELECTsub_path_left,sub_path_right,avg(sub_cost)
FROM (SELECTuid,pad_sub_path_left (ret) AS sub_path_left,pad_sub_path_right (ret) AS sub_path_right,pad_sub_cost (ret) AS sub_costFROM (SELECTuid,unnest(path_analysis_detail (event, event_time, '登錄', 180, 7, 0, FALSE)) AS retFROMpath_demoGROUP BYuid) a) a
GROUP BYsub_path_left,sub_path_right
ORDER BYsub_path_left,sub_path_right;

在這里插入圖片描述

示例6:會話路徑與子路徑明細關聯
`--會話路徑與子路徑關聯
selectuid,pad_sub_session(item) as session_id,full_path [pad_sub_session(item)+1] as full_path,pad_sub_path_left(item) as sub_path_left,pad_sub_path_right(item) as sub_path_right,pad_sub_index_right(item) as sub_idx,pad_sub_cost(item) as sub_cost
from(selectuid,unnest(ret) as item,pad_full_path(ret) as full_pathfrom(selectuid,path_analysis_detail(event, event_time, '登錄', 180, 7, 0, false) as retfrompath_demogroup byuid) a) a;

在這里插入圖片描述

示例7:查看指定的部分路徑明細
--通過pad_funnel函數可以查看指定的部分路徑明細,示例只看Browse>purchase 的轉化情況,查看對應的明細,或者子路徑情況
SELECT uid, pad_full_path(pad_funnel(path_analysis_detail(event, event_time, '登錄', 180, 7, 0, false), array['登錄', '購買'])) AS ret FROM path_demo GROUP BY uid;

在這里插入圖片描述

四、結束語

通過路徑分析,可以清晰地了解產品每個關鍵功能的訪問情況,進一步輔助運營和產品進行下一步的業務策略優化和產品迭代,幫助業務更加健康地成長。

相關內容

Hologres實戰:優雅處理字符串數組
https://blog.csdn.net/weixin_43932609/article/details/149934590
開啟數據湖 “寶匣”
https://blog.csdn.net/weixin_43932609/article/details/144406593
數據倉庫:智控數據中樞
https://blog.csdn.net/weixin_43932609/article/details/144393368
湖倉一體:數據未來之路
https://blog.csdn.net/weixin_43932609/article/details/144433084
————————————————

=========================================================

人生得意須盡歡,莫使金樽空對月!
__一個熱愛說唱的程序員。
今日份推薦音樂:單依純《李白 (live)》

=========================================================

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93545.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93545.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93545.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

產品開發實踐(常見的軟硬結合方式)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】前面說過,傳統的純軟件開發,在國內的大背景下面是很難存活的。但是如果是把軟件,構建在硬件基礎之上&#xff0c…

Linux | i.MX6ULL網絡通信-套字節 UDP(第十八章)

01 Linux | i.MX6ULL網絡通信-套字節 TCP(第十七章) 02 iTOP-IMX6ULL 實現基于 UDP 的 socket 編程。

學習嵌入式第三十天

文章目錄進程和線程&#xff08;續&#xff09;線程1.線程傳參2.線程屬性3.線程間通信1.概念2.方式3.互斥鎖4.死鎖5.信號量習題 進程和線程&#xff08;續&#xff09; 線程 1.線程傳參使用第四個參數實現對線程內部的傳參 代碼實現&#xff1a; #include <stdio.h> #inc…

GaussDB 數據庫架構師修煉(十三)安全管理(3)-行級訪問控制

1 背景行級訪問控制特性將數據庫的訪問控制精確到數據表行級別 &#xff0c;只允許用戶查看 、更新或刪除特定的行數據。2 實例場景實例以醫生只能看到治療的病人&#xff0c;不能看其它醫生的病人為例&#xff1a;1)醫院病人的信息表pat_info&#xff1a;csdn> set search_…

Wi-Fi 與蜂窩網絡(手機網絡)的核心區別,以及 Wi-Fi 技術未來的發展方向

在日常生活中&#xff0c;我們既離不開家里的 Wi-Fi&#xff0c;也離不開手機的 4G/5G 網絡。它們都能把我們連接到互聯網&#xff0c;但底層的工作方式卻大不相同。一、設計初衷的不同Wi-Fi誕生于 1997 年的 IEEE 802.11 標準&#xff0c;定位是局域網無線替代。它的目標是讓電…

C++編程實戰:高效解決算法與數據結構問題

個人主頁 &#xff1a; zxctscl 專欄 【C】、 【C語言】、 【Linux】、 【數據結構】、 【算法】 如有轉載請先通知 題目1. 數字統計2. 兩個數組的交集3. 牛牛的快遞4. 點擊消除5. 最小花費爬樓梯6. 簡寫單詞1. 數字統計 BC153 數字統計 #include <iostream> using na…

《零基礎入門AI:深度學習中的視覺處理(卷積神經網絡(CNN)進階)》

一、卷積知識擴展 1. 二維卷積 單通道版本 對于單通道輸入圖像 III (尺寸 HWH \times WHW) 和卷積核 KKK (尺寸 FFF \times FFF)&#xff0c;輸出特征圖 OOO 的計算公式為&#xff1a; O(i,j)∑m0F?1∑n0F?1I(im,jn)?K(m,n)O(i,j) \sum_{m0}^{F-1} \sum_{n0}^{F-1} I(im, j…

pyecharts可視化圖表-pie:從入門到精通(進階篇)

歡迎來到pyecharts餅圖系列教程的進階篇&#xff01;在上一篇基礎教程中&#xff0c;我們學習了餅圖的基本概念和簡單實現。在本文中&#xff0c;我們將深入探索pyecharts中餅圖的六種高級用法和自定義選項&#xff0c;包括環形餅圖、富文本標簽餅圖、滾動圖例餅圖、環形圖、嵌…

【JAVA 核心編程】面向對象高級:類變量與方法 抽象類與接口

一、類變量與類方法&#xff08;靜態變量&#xff09; 1&#xff09;類變量 class Child{private String name;//定義一個變量count&#xff0c;是一個類變量&#xff08;靜態變量&#xff09;static靜態//該變量最大的特點就是會被Child 類的所有對象訪問public static int co…

【Java基礎面試題】數據類型

Java面試高頻總結&#xff1a;基本數據類型深度解析 &#x1f4ca; 八種基本數據類型詳解數據類型關鍵字字節數位數默認值取值范圍核心特性字節型byte180-128 ~ 127最小整數類型短整型short2160-32,768 ~ 32,767較少使用整型int4320-2 ~ 2-1 (約21億)最常用整數類型長整型long8…

攻防世界—unseping(反序列化)

一.審題<?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function __destruct(){if (in_array($this->method, array("ping"))) {call_u…

AI熱點周報(8.10~8.16):AI界“冰火兩重天“,GPT-5陷入熱議,DeepSeek R2模型訓練受阻?

名人說&#xff1a;博觀而約取&#xff0c;厚積而薄發。——蘇軾《稼說送張琥》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 目錄3分鐘速覽版&#xff1a;一張表看懂本周AI大事一、GPT-5&#xff1a;期待越高&#x…

Python_vue3_django旅拍在線婚紗攝影網站的設計與實現016023190_源碼LW_講解安裝

目錄前言-本系統介紹已開發項目效果實現截圖開發技術詳細介紹論文設計框架系統測試核心代碼參考示例總結源碼獲取詳細視頻演示或者查看其他版本&#xff1a;文章底部獲取博主聯系方式&#xff01;前言-本系統介紹 利用Python語言、MySQL數據庫&#xff0c;Django框架&#xff0…

Python爬蟲-爬取政務網站的文檔正文內容和附件數據

前言 本文是該專欄的第67篇,后面會持續分享python爬蟲干貨知識,記得關注。 本文,筆者以某政務網站為例子。基于Python爬蟲采集某政務網站的文檔正文內容和其關聯的附件數據。 具體的實現思路以及完整實現代碼邏輯,筆者將在正文進行詳細介紹。廢話不多說,跟著筆者直接往下…

Python:如何在Pycharm中顯示geemap地圖?

01 說明 或許在舊版本的python和jupyter中并不能成功. 作為參考&#xff0c;這里給出實驗成功的版本&#xff1a;名稱版本通道geemap0.36.1conda-forgejupyter1.1.1conda-forgepycharm2024.1.4 (Professional Edition)nullpython3.11.13conda-forge此外&#xff0c;由于顯示底圖…

力扣3:無重復字符的最長子串

力扣3:無重復字符的最長子串題目思路代碼題目 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的 最長 子串 的長度。 思路 這道題的思路其實是很簡單的&#xff0c;最后我們需要得到子串的長度所以我們可以定義兩個變量即子串的左邊界和右邊界這樣有了左右邊界就…

Git登錄配置的詳細方法

Git登錄綁定主要涉及配置用戶信息和設置身份驗證。以下是詳細的配置方法&#xff1a; 1. 配置基本用戶信息 # 全局配置用戶名和郵箱 git config --global user.name "你的用戶名" git config --global user.email "你的郵箱example.com"# 或者為單個倉庫配…

測試工程師的AI轉型指南:從工具使用到測試策略重構

測試工程師的AI轉型指南&#xff1a;從工具使用到測試策略重構 測試工程師正站在職業轉型的十字路口。當GitHub Copilot能自動生成測試用例&#xff0c;AI性能工具能預測系統瓶頸&#xff0c;傳統“手動執行用例、人工分析結果”的工作模式正被顛覆。某互聯網公司測試團隊的調研…

3D打印——給開發板做外殼

3D打印——給開發板做外殼前言一、建立開發板3D模型根據開發板尺寸繪制草圖繪制PCB草圖&#xff08;手動&#xff09;繪制PCB草圖&#xff08;導入&#xff09;拉伸PCB板下載零件3D模型裝配零件二、建立外殼3D模型盒子蓋子&#xff08;卡扣&#xff09;最終效果三、問題記錄前言…

Spring AI架構分析

Spring AISpring AI開發框架提供對接應用與AI模型的集成開發能力&#xff0c;讓開發者更加容易地開發智能體以及其他生成式人工智能的應用&#xff1a;模型&#xff08;Model&#xff09;AI模型是算法與數據的集合&#xff0c;用于處理信息以及生成信息&#xff0c;主要AI模型的…