1. 概述
1.1 概念
留存分析是一種用來分析用戶參與情況/活躍程度的分析模型,考查看進行初始行爲後的用戶中, 經過一段時間後仍然存在客戶行爲(如登錄、消費)。
留存不僅是個可以反映客戶粘性的指标,更多地反映産品對用戶的吸引力。
計算公式:某一段時間内(時間段a)的新增用戶在若幹天後的另一段時間(時間段b)的留存數量 / (時間段a)的新增用戶總量
1.2 預期效果
1.3 實現思路
示例計算用戶從激活某産品開始,在當日、一周内、兩周内、三周内進行登錄使用操作用戶數占總登錄人數的比率。
當日留存率:當日激活并登錄用戶數/所有登錄用戶數
一周留存率:初次激活日爲維度,計算「激活_登錄時間差」爲 1-7 的登錄用戶數/所有登錄用戶數
兩周留存率:初次激活日爲維度,計算「激活_登錄時間差」爲8-14的登錄用戶數/所有登錄用戶數
.....
2. 示例
2.1 導入數據
示例數據:用戶留存分析.xlsx
将數據表上傳至 FineReport 内置數據庫 FRDemo 中。
2.2 新建模板
新建決策報表,新建數據集查詢 ds1:select * from 用戶留存分析
2.3 單元格設計
1)新建報表塊,單元格設計如下圖所示:
2)選中 A2 單元格,設置分組-高級,自定義公式分組,公式爲:left($$$,7)
3)其餘單元格設計如下:
單元格 | 公式 |
---|---|
C2 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 = 0 && left(最早激活日期, 7) = $A2 && 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true))/B2 |
D2 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 1 && 激活_登錄時間差 <= 7 && left(最早激活日期, 7) = $A2&& 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) / B2 |
E2 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 8 && 激活_登錄時間差 <= 14 && left(最早激活日期, 7) = $A2&& 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) / B2 |
F2 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 15 && 激活_登錄時間差 <= 21 && left(最早激活日期, 7) = $A2&& 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) /B2 |
G2 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 22 && 激活_登錄時間差 <= 28 && left(最早激活日期, 7) = $A2&& 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) /B2 |
C3 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 = 0 && 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true))/B3 |
D3 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 1 && 激活_登錄時間差 <= 7 && 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) / B3 |
E3 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 8 && 激活_登錄時間差 <= 14 && 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) / B3 |
F3 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 15 && 激活_登錄時間差 <= 21 && 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) /B3 |
G3 | COUNT(ds1.group(聯系電話, 激活_登錄時間差 >= 22 && 激活_登錄時間差 <= 28 && 最早激活日期 >= $開始日期 && 最早激活日期 <= $結束日期 && if(len($渠道) = 0, true, inarray(推廣渠道, $渠道) > 0), true)) /B3 |
2.4 效果預覽
PC 端預覽效果如 1.2 節所示。
移動端預覽效果如下圖所示:
3. 模板下載
點擊下載模板:留存分析.frm