用戶行為分析模型實(shí)踐(四)—— 留存分析模型
一、背景需求
根據(jù)CNNIC的統(tǒng)計(jì)數(shù)據(jù)顯示,中國(guó)互聯(lián)網(wǎng)用戶已達(dá)10.79億人,互聯(lián)網(wǎng)普及率達(dá)到79.4%?;ヂ?lián)網(wǎng)雖然仍然在快速增長(zhǎng),但是用戶規(guī)模逐漸飽和,互聯(lián)網(wǎng)事實(shí)上已經(jīng)進(jìn)入了存量用戶時(shí)代,整體的流量競(jìng)爭(zhēng)也越來越激烈,用戶的留存的重要性也越來越高于拉新。因此,如何識(shí)別忠實(shí)用戶,了解目標(biāo)用戶群的留存表現(xiàn)?如何分析用戶流失情況,優(yōu)化產(chǎn)品?如何分析目標(biāo)用戶是否完成了期望的行為等等就是我們數(shù)據(jù)分析的重要課題,而留存分析模型就是我們解決這些問題的重要工具。
二、概述
2.1 概念介紹
留存分析模型主要用于分析觸發(fā)了起始事件的用戶在后續(xù)時(shí)間周期內(nèi)觸發(fā)了后續(xù)事件(即回訪事件)的比率,該模型可以較好的反映出用戶的忠實(shí)度或者說是用戶的粘性。對(duì)于留存分析模型有幾個(gè)重要的概念要了解:
留存分析一般需要指定起始事件和回訪事件,但起始事件和回訪事件可以相同,也可以不同:
1、起始事件、回訪事件可以選擇相同事件,這種可以很直觀地看出觸發(fā)事件的忠實(shí)用戶量。
例如:在簽到過程中,起始事件為簽到成功,回訪事件也是簽到成功,在一段時(shí)間內(nèi),連續(xù)觸發(fā)該事件的用戶數(shù)量即可為忠實(shí)用戶量。
2、起始事件、回訪事件可以選不同事件,這種就是比較正常流程下的用戶留存數(shù)據(jù)。
例如:在某個(gè)活動(dòng)中,從下單到成功支付的場(chǎng)景內(nèi),起始事件為下單,回訪事件為支付成功,這種在一段時(shí)間內(nèi),觸發(fā)這兩個(gè)事件的同一用戶為指定流程下的用戶留存數(shù)據(jù)。
2.2 分析思路
留存率作為一個(gè)產(chǎn)品的核心指標(biāo)之一,我們提升產(chǎn)品力,改善使用體驗(yàn),分析目標(biāo)用戶很大程度上也是為了提升這個(gè)指標(biāo)。比如,我們可以通過計(jì)算N日的留存率,來評(píng)估某個(gè)迭代是否是正向的。如圖1所示,某應(yīng)用優(yōu)化了首頁(yè)布局,推出了新版本A,就可以聯(lián)同舊版本B,分別計(jì)算每日的用戶留存率,它一般會(huì)組成一個(gè)衰減的留存曲線。曲線衰減的越慢,說明我們的留存率越高,也就能體現(xiàn)我們首頁(yè)的修改是有正向的效果的。當(dāng)然有時(shí)留存的提升可能只有百分之零點(diǎn)幾,但是在一個(gè)很大的用戶基數(shù)的前提下,也可能產(chǎn)生一些質(zhì)變的效果。我們也可以將特定的人群圈定為用戶組,針對(duì)不同的用戶組進(jìn)行留存分析,挖掘更加忠實(shí)的用戶群體。
圖1 新版本A與舊版本B的留存對(duì)比
三、用留存進(jìn)行的數(shù)據(jù)分析
了解了上面的關(guān)于留存模型的基本概念,我們看一下如何創(chuàng)建一個(gè)留存。
3.1 選一個(gè)起始事件、一個(gè)回訪事件
起始事件:打開瀏覽器。
回訪事件:退出瀏覽器。
3.2 設(shè)置留存天數(shù)
設(shè)置一個(gè)留存天數(shù)為3天。
3.3 確定留存的時(shí)間區(qū)間
這里的時(shí)間區(qū)間概念是指,你需要查看的日期區(qū)間,例如選擇時(shí)間區(qū)間為2023-01-06~2023-01-08,則是只計(jì)算2023-01-06到2023-01-08這3天,每天的當(dāng)日留存,第1日留存,第2日留存,第3日留存。
3.4 留存數(shù)據(jù)的展示及計(jì)算邏輯
起始用戶數(shù) = 計(jì)算日期觸發(fā)起始事件用戶數(shù)。
- 當(dāng)日留存用戶數(shù) = 當(dāng)日觸發(fā)回訪事件的用戶與當(dāng)日觸發(fā)起始事件用戶交集。
- 第1日留存用戶數(shù) = 次日觸發(fā)回訪事件的用戶與計(jì)算日期觸發(fā)起始事件用戶交集。
- 第2日留存用戶數(shù) = 2日后觸發(fā)回訪事件的用戶與計(jì)算日期觸發(fā)起始事件用戶交集。
- 第3日留存用戶數(shù) = 3日后觸發(fā)回訪事件的用戶與計(jì)算日期觸發(fā)起始事件用戶交集。
- 當(dāng)日留存率 = 當(dāng)日留存用戶數(shù)/起始用戶數(shù)*100%。
- 第1日留存率 = 第1日留存用戶數(shù)/起始用戶數(shù)*100%。
- 第2日留存率 = 第2日留存用戶數(shù)/起始用戶數(shù)*100%。
- 第3日留存率 = 第3日留存用戶數(shù)/起始用戶數(shù)*100%。
用戶留存數(shù)表(即表1)表示起始事件為“打開瀏覽器”、回訪事件為“退出瀏覽器”時(shí),對(duì)應(yīng)2023-01-06~2023-01-09每天的近3天的留存用戶數(shù)據(jù)。
表1 用戶留存數(shù)表
用戶留存率表(即表2)表示 起始事件為“打開瀏覽器”、回訪事件為“退出瀏覽器”時(shí),對(duì)應(yīng)2023-01-06~2023-01-08每天的近3天的留存用戶占比數(shù)據(jù)。
表2 用戶留存率表
以表1中2023-01-06日的數(shù)據(jù)為例,1月6日起始用戶數(shù)1000:是指觸發(fā)起始事件“打開瀏覽器”的用戶數(shù);當(dāng)日留存用戶數(shù)900:是指在觸發(fā)起始事件用戶中當(dāng)日又觸發(fā)回訪事件為“退出瀏覽器“的用戶人數(shù);
第1日留存用戶數(shù)500:是指1月7日觸發(fā)回訪事件且與1月6日中觸發(fā)起始事件的交集用戶數(shù);第2日留存用戶數(shù)300:是指1月8日觸發(fā)回訪事件且與1月6日中觸發(fā)起始事件的交集用戶數(shù)300,以此類推到第3日,此時(shí)計(jì)算出來的2023-01-06這一天的3天的留存數(shù)據(jù)!
圖2:觸發(fā)起始事件、回訪事件對(duì)應(yīng)3日內(nèi)的留存用戶趨勢(shì)圖
四、整體功能設(shè)計(jì)及留存分析模型的實(shí)現(xiàn)
4.1(離線)功能整體架構(gòu)設(shè)計(jì)
圖3 留存分析模型hive架構(gòu)圖
整體架構(gòu)主要分為配置、計(jì)算、存儲(chǔ)、展示四階段。
1. 配置
此階段主要是工程端的后臺(tái)服務(wù)實(shí)現(xiàn)。用戶在平臺(tái)按照自身需求設(shè)置起始事件及回訪事件、過濾條件、用戶群篩選、維度篩選等配置。后臺(tái)服務(wù)收到配置請(qǐng)求后,依據(jù)留存分析類型選擇不同任務(wù)組裝器進(jìn)行sql任務(wù)的組裝。
2. 計(jì)算
平臺(tái)根據(jù)接收到的查詢方式,選擇離線查詢Spark引擎進(jìn)行分析計(jì)算。離線計(jì)算結(jié)果同步到MySQL。
3. 存儲(chǔ)
離線結(jié)果集持久化到MySQL數(shù)據(jù)庫(kù)中,可通過后臺(tái)服務(wù)展示給用戶。
4. 展示
離線結(jié)果根據(jù)圖表配置ID查詢MySQL結(jié)果表數(shù)據(jù)進(jìn)行展示,即時(shí)查詢通過配置后直接查詢展示結(jié)果。
4.2(離線)留存不同條件下實(shí)現(xiàn)SQL
離線通用執(zhí)行hive任務(wù)SQL
離線留存hive執(zhí)行SQL
select
'起始留存計(jì)算日期' as origin_day,
a.day as day,
datediff('起始留存計(jì)算日期', a.day) as diff,
count(distinct (a.uid)) as user,
count(distinct (case when b.uid is not null then b.uid end)) as retention
FROM
(
SELECT
day,
uid
FROM
abcd.test
WHERE
day >= if('起始時(shí)間' >= date_sub('起始留存計(jì)算日期', '留存天數(shù)'),'起始時(shí)間',date_sub('起始留存計(jì)算日期', '留存天數(shù)'))
AND day <= if('結(jié)束時(shí)間' <= '起始留存計(jì)算日期','結(jié)束時(shí)間','起始留存計(jì)算日期')
AND event_id = '起始事件')
) a
LEFT JOIN (
SELECT
s.uid
FROM
abcd.test s
WHERE
s.day = '起始留存計(jì)算日期'
AND s.event_id = '回訪事件'
GROUP BY
s.uid
) b ON
a.uid = b.uid
WHERE
day >= if('起始時(shí)間' >= date_sub('起始留存計(jì)算日期', '留存天數(shù)'),'起始時(shí)間',date_sub('起始留存計(jì)算日期', '留存天數(shù)'))
AND day <= if('結(jié)束時(shí)間' <= '起始留存計(jì)算日期','結(jié)束時(shí)間','起始留存計(jì)算日期')
GROUP BY a.day
SQL 當(dāng)中字段含義分別為:
【origin_day】:起始留存計(jì)算日期
【day】:最終留存計(jì)算日期
【diff】:第幾日留存
【user】:起始用戶數(shù)
【retention】:留存數(shù)
以上SQL含義:查詢起始留存計(jì)算日期分別到起始時(shí)間、結(jié)束時(shí)間這個(gè)區(qū)間段中的每天的詳細(xì)留存數(shù)據(jù),不可一次性計(jì)算出時(shí)間區(qū)間內(nèi)完整的留存數(shù)據(jù),需經(jīng)過多天累計(jì)查詢,且此SQL執(zhí)行的結(jié)果在留存結(jié)果表中展示樣例為倒三角填充。
例如:我們定了起始事件和回訪事件后,去計(jì)算2022-05-01~2022-05-05的每一天的3日留存,此時(shí),起始時(shí)間是2022-05-01,結(jié)束2022-05-05,留存天數(shù)3天。
針對(duì)此案例,起始留存計(jì)算日期開始日期應(yīng)該為2022-05-01~2022-05-08,才能計(jì)算出2022-05-01~2022-05-05的每一天的3日留存。
第一步:計(jì)算起始留存日期 = 2022-05-01時(shí),最終留存計(jì)算日期區(qū)間2022-05-01~2022-05-05日每天的留存數(shù)據(jù),從時(shí)間上看,該起始留存計(jì)算日期只能計(jì)算出2022-05-01日當(dāng)日留存,執(zhí)行后結(jié)果如下(表3):
表3
起始留存計(jì)算日期2022-05-01在2022-05-01~2022-05-05區(qū)間內(nèi)留存詳情數(shù)據(jù)
此時(shí)轉(zhuǎn)換后留存數(shù)據(jù)表格為(表4):
表4
起始留存計(jì)算日期2022-05-01在2022-05-01~2022-05-05區(qū)間內(nèi)轉(zhuǎn)換后留存數(shù)據(jù)表
第二步:計(jì)算起始留存日期 = 2022-05-02時(shí),最終留存計(jì)算日期區(qū)間2022-05-01~2022-05-05日每天的留存數(shù)據(jù),該起始留存計(jì)算日期可計(jì)算2022-05-01日的第1日留存用戶數(shù)及2022-05-02日當(dāng)日留存用戶數(shù)據(jù),執(zhí)行后結(jié)果如下(表5):
表5
起始留存計(jì)算日期2022-05-02在2022-05-01~2022-05-05區(qū)間內(nèi)留存詳情數(shù)據(jù)
此時(shí)轉(zhuǎn)換后留存數(shù)據(jù)表格為(表6):
表6
起始留存計(jì)算日期2022-05-02在2022-05-01~2022-05-05區(qū)間內(nèi)轉(zhuǎn)換后留存數(shù)據(jù)表
第三步:計(jì)算起始留存日期 = 2022-05-03時(shí),最終留存計(jì)算日期區(qū)間2022-05-01~2022-05-05日每天的留存數(shù)據(jù),該起始留存計(jì)算日期可計(jì)算2022-05-01日的第2日留存用戶數(shù)、2022-05-02日第1日留存用戶數(shù)據(jù)、2022-05-03日當(dāng)日留存用戶數(shù)據(jù),執(zhí)行后結(jié)果如下(表7):
表7
起始留存計(jì)算日期2022-05-03在2022-05-01~2022-05-05區(qū)間內(nèi)留存詳情數(shù)據(jù)
此時(shí)轉(zhuǎn)換后留存數(shù)據(jù)表格為(表8):
表8
起始留存計(jì)算日期2022-05-03在2022-05-01~2022-05-05區(qū)間內(nèi)轉(zhuǎn)換后留存數(shù)據(jù)表
第四步:以此類推,計(jì)算起始留存日期 = 2022-05-08時(shí),最終留存計(jì)算日期區(qū)間2022-05-01~2022-05-05日每天的留存數(shù)據(jù),該起始留存計(jì)算日期可計(jì)算2022-05-05日的第3日留存用戶數(shù),執(zhí)行后結(jié)果如下(表9):
表9
起始留存計(jì)算日期2022-05-08在2022-05-01~2022-05-05區(qū)間內(nèi)留存詳情數(shù)據(jù)
最終數(shù)據(jù)展示完全后會(huì)是一個(gè)完整的表格(可得如下結(jié)果表10):
表10
2022-05-01~2022-05-05的每一天的3日留存數(shù)據(jù)表
4.3 存在的問題與下一步優(yōu)化的方向
存在的問題:
用戶在平臺(tái)上進(jìn)行報(bào)表創(chuàng)建后,在產(chǎn)出報(bào)表結(jié)果上耗時(shí)較長(zhǎng);當(dāng)配置報(bào)表查詢周期長(zhǎng),數(shù)據(jù)量大的情況下,存在計(jì)算資源消耗過大的情況。
優(yōu)化方向:
為了優(yōu)化報(bào)表生成過程,可以考慮使用ClickHouse來處理數(shù)據(jù)。ClickHouse是一個(gè)高性能、分布式、列式存儲(chǔ)的數(shù)據(jù)庫(kù)系統(tǒng),特別適合處理大規(guī)模數(shù)據(jù)和復(fù)雜查詢。
具體而言,可以采用以下ClickHouse特性:
- 將數(shù)據(jù)導(dǎo)入ClickHouse中,以便更快地查詢和計(jì)算。ClickHouse支持高效的數(shù)據(jù)導(dǎo)入和壓縮方式,可以大大減少數(shù)據(jù)的存儲(chǔ)空間和查詢時(shí)間。
- 利用ClickHouse的列式存儲(chǔ)和分布式計(jì)算能力,實(shí)現(xiàn)增量計(jì)算和數(shù)據(jù)預(yù)處理。通過使用ClickHouse的分布式計(jì)算能力,可以將計(jì)算任務(wù)分配給多個(gè)節(jié)點(diǎn)并行處理,從而加快計(jì)算速度。同時(shí),通過使用ClickHouse的列式存儲(chǔ)能力,可以避免不必要的數(shù)據(jù)讀取和計(jì)算,提高計(jì)算效率。
- 利用ClickHouse的緩存機(jī)制,提高查詢效率。ClickHouse支持高效的緩存機(jī)制,可以將查詢結(jié)果緩存在內(nèi)存中,以便更快地響應(yīng)查詢請(qǐng)求。
- 利用ClickHouse的SQL查詢語(yǔ)言,實(shí)現(xiàn)靈活的數(shù)據(jù)分析和報(bào)表生成。ClickHouse支持SQL查詢語(yǔ)言,可以方便地進(jìn)行數(shù)據(jù)分析和報(bào)表生成,同時(shí)也支持復(fù)雜查詢和聚合操作,可以滿足各種數(shù)據(jù)分析需求。
通過利用ClickHouse上述特性,進(jìn)一步提高整個(gè)數(shù)據(jù)分析過程的效率和準(zhǔn)確性。
五、基于ClickHouse的留存分析模型
5.1 利用ClickHouse查詢速度快的特性改造離線留存圖表產(chǎn)出方式
利用ClickHouse進(jìn)行實(shí)時(shí)留存查詢
傳統(tǒng)的離線留存計(jì)算通常需要借助Hadoop、Spark等大數(shù)據(jù)處理框架,需要消耗大量計(jì)算資源和時(shí)間。而利用ClickHouse進(jìn)行離線留存計(jì)算,可以大大提高計(jì)算速度和效率,可以實(shí)現(xiàn)秒級(jí)響應(yīng)和高并發(fā)查詢。
具體步驟如下:
- 將用戶行為數(shù)據(jù)導(dǎo)入ClickHouse;
- 根據(jù)查詢配置數(shù)據(jù)組裝留存SQL用于查詢;
- 利用ClickHouse的高速查詢功能,實(shí)時(shí)查詢留存率數(shù)據(jù)。
利用ClickHouse進(jìn)行留存圖表的產(chǎn)出
利用ClickHouse進(jìn)行留存計(jì)算和查詢后,可以通過數(shù)據(jù)可視化工具對(duì)留存數(shù)據(jù)進(jìn)行圖表化展示,從而更加直觀地了解用戶留存情況。例如:
- 利用數(shù)據(jù)可視化工具連接ClickHouse數(shù)據(jù)庫(kù),查看留存率數(shù)據(jù)或者通過http請(qǐng)求查詢結(jié)果表數(shù)據(jù);
- 通過數(shù)據(jù)可視化工具繪制留存圖表,并進(jìn)行定制化設(shè)計(jì)和樣式調(diào)整。
結(jié)合hive、ClickHouse兩者優(yōu)點(diǎn),可將架構(gòu)做如下優(yōu)化,對(duì)于歷史較長(zhǎng)時(shí)間日期的結(jié)果回溯進(jìn)行hive查詢處理,可在ClickHouse中存儲(chǔ)的數(shù)據(jù)作為每天例行查詢存儲(chǔ)結(jié)果。
例行:是指創(chuàng)建一次圖表每日例行執(zhí)行報(bào)表任務(wù),產(chǎn)出數(shù)據(jù)(例行可回溯ClickHouse中存儲(chǔ)日期的留存數(shù)據(jù))。
手動(dòng):是指在指定時(shí)間范圍內(nèi)執(zhí)行,執(zhí)行完成產(chǎn)出任務(wù)停止。
圖4 結(jié)合ClickHouse、hive后留存分析模型架構(gòu)圖
5.2 主要函數(shù)介紹
Retention
該函數(shù)將一組條件作為參數(shù),類型為1到32個(gè) UInt8 類型的參數(shù),用來表示事件是否滿足特定條件。任何條件都可以指定為參數(shù)(如 WHERE)。
除了第一個(gè)以外,條件成對(duì)適用:如果第一個(gè)和第二個(gè)是真的,第二個(gè)結(jié)果將是真的,如果第一個(gè)和第三個(gè)是真的,第三個(gè)結(jié)果將是真的,等等。
① 語(yǔ)法
retention(cond1, cond2, ..., cond32);
② 參數(shù)
cond — 返回 UInt8 結(jié)果(1或0)的表達(dá)式。
③ 返回值
數(shù)組為1或0。
1 — 條件滿足。
0 — 條件不滿足。
④ 類型
UInt8
ClickHouse查詢SQL
ClickHouse即時(shí)查詢留存SQL
SELECT retention_date,
USER,
IF(DATEDIFF('day', retention_date, NOW()) >= 1, retain0, NULL) AS retain0,
IF(DATEDIFF('day', retention_date, NOW()) >= 2, retain1, NULL) AS retain1,
IF(DATEDIFF('day', retention_date, NOW()) >= 3, retain2, NULL) AS retain2,
IF(DATEDIFF('day', retention_date, NOW()) >= 4, retain3, NULL) AS retain3
CONCAT(toString(ROUND(retain0 / USER * 100, 4)), '%') AS ratio0,
CONCAT(toString(ROUND(retain1 / retain0 * 100, 4)), '%') AS ratio1,
CONCAT(toString(ROUND(retain2 / retain0 * 100, 4)), '%') AS ratio2,
CONCAT(toString(ROUND(retain3 / retain0 * 100, 4)), '%') AS ratio3
FROM (SELECT b.retention_date,
COUNT(DISTINCT (uid)) AS USER,
SUM(ret[1]) AS retain0,
SUM(ret[2]) AS retain1,
SUM(ret[3]) AS retain2,
SUM(ret[4]) AS retain3
FROM (
SELECT j.retention_date,
uid,
retention(
j.day = j.retention_date,
j.day = j.retention_date + INTERVAL 1 DAY,
j.day = j.retention_date + INTERVAL 2 DAY,
j.day = j.retention_date + INTERVAL 3 DAY,
j.day = j.retention_date + INTERVAL 4 DAY
) AS ret
FROM (SELECT b.day AS retention_date,
b.uid,
t.day AS DAY
FROM (SELECT DAY, uid
FROM abcd.test2
WHERE DAY >= '開始時(shí)間'
AND DAY <= '結(jié)束時(shí)間'
AND event_id IN ('起始事件')
GROUP BY DAY, uid ) b
LEFT JOIN
(SELECT uid , DAY, event_id
FROM abcd.test2
WHERE DAY >= '開始時(shí)間'
AND DAY <= '結(jié)束時(shí)間'
AND event_id IN ('回訪事件')
GROUP BY DAY, uid, event_id) t ON b.uid = t.uid
) j
GROUP BY j.retention_date, j.uid ) b
GROUP BY b.retention_date)
SQL 當(dāng)中返回結(jié)果含義分別為:
retention_date:留存日期
user:起始用戶數(shù)
retain0:當(dāng)日留存用戶數(shù)
retain1:第1日留存用戶數(shù)
retain2:第2日留存用戶數(shù)
retain3:第3日留存用戶數(shù)
ratio0:當(dāng)日留存率
ratio1:第1日留存率
ratio2:第2日留存率
ratio3:第3日留存率
以上SQL含義:計(jì)算出指定時(shí)間區(qū)間內(nèi)3日留存信息,可一次性查詢出指定區(qū)間內(nèi)的所有3日留存數(shù)據(jù),一個(gè)sql即可查詢完全。
例如:我們定了起始事件和回訪事件后,去計(jì)算2022-06-01~2022-06-04的每一天的3日留存,此時(shí),起始時(shí)間是2022-06-01,結(jié)束2022-06-04,留存天數(shù)3天。
針對(duì)此案例,在不同的日期查詢數(shù)據(jù)完整性不一致,我們拿2022-06-04日和2022-06-07日兩日查詢舉例。
第一步:針對(duì)2022-06-04日進(jìn)行計(jì)算2022-06-01~2022-06-04的每一天的3日留存,執(zhí)行后留存數(shù)據(jù)展示結(jié)果如下(表11)。
表11
2022-06-04日計(jì)算2022-06-01~2022-06-04的每一天的3日留存數(shù)據(jù)表
第二步:針對(duì)2022-06-07日進(jìn)行計(jì)算2022-06-01~2022-06-04的每一天的3日留存,執(zhí)行后留存數(shù)據(jù)展示結(jié)果如下(表12)。
表12
2022-06-08日計(jì)算2022-06-01~2022-06-04的每一天的3日留存數(shù)據(jù)表
趨勢(shì)結(jié)果展示(圖5):
圖5 留存分析模型趨勢(shì)圖
六、寫在最后
本文介紹的留存模型就是數(shù)據(jù)分析工具箱的核心分析模型,使用的范圍十分廣泛。它通過計(jì)算用戶在一段時(shí)間內(nèi)的留存率,可以評(píng)估產(chǎn)品、服務(wù)或應(yīng)用程序的用戶體驗(yàn)和吸引力,提高用戶留存率和活躍度。在實(shí)際的生產(chǎn)中,業(yè)務(wù)可根據(jù)自身具體需求和用戶特征進(jìn)行定制化設(shè)計(jì),同時(shí)也可將通過留存分析得到的人群信息結(jié)合其他的數(shù)據(jù)分析方法進(jìn)一步的深入分析。例如,從留存中得到的用戶人群信息,我們可以進(jìn)一步的使用路徑分析的分析方法,分析用戶的訪問行為對(duì)于產(chǎn)品的影響。
數(shù)據(jù)分析的工具方法有很多,除了上面提到過得用于分析用戶在應(yīng)用上的訪問行為的用戶路徑分析;也有衡量業(yè)務(wù)中關(guān)鍵事件之間轉(zhuǎn)化效果的漏斗分析;還有事件分析、歸因分析等等,他們共同組成的強(qiáng)大的數(shù)據(jù)分析工具箱,可以較為全面的分析用戶行為的潛在特征與規(guī)律,幫助產(chǎn)品或者決策者作為更加可靠的決策。