
作者:潘彼得
本文為「心中有數(shù)」CDA征文作品
無論是產(chǎn)品經(jīng)理、產(chǎn)品運營還是數(shù)據(jù)分析師,在評估一個產(chǎn)品的用戶使用情況時肯定離不開留存率、忠誠度等觀測指標(biāo)。這些指標(biāo)可以反映用戶對于產(chǎn)品的粘性、產(chǎn)品用戶價值質(zhì)量的高低,及時了解用戶留存、流失趨勢,有助于幫助產(chǎn)品做更好的功能迭代,也有助于運營及時進程運營策略的調(diào)整,比如:當(dāng)新用戶留存率低的時候,是不是需要調(diào)整新用戶的活動策略,或者當(dāng)老用戶留存率低的時候,是不是某個產(chǎn)品功能的問題,或者活動對老用戶不友好而導(dǎo)致流失等等……
今天,就給大家分享下如何用SQL實現(xiàn)留存率的計算,以及日常工作中如何分析留存率這個指標(biāo)。
留存顧名思義是指留下來。留存用戶是指用戶在APP產(chǎn)生行為后,在固定的第N日繼續(xù)訪問或使用APP的用戶。留存率是指用戶在一段時間后或固定的間隔后產(chǎn)生留存用戶的比例。
用戶留存率有很多種:新客留存率、老客留存率、活躍用戶留存率、購買留存率、或者某個功能使用用戶的留存率等,通常計算的時間間隔為次日、3日、7日、30日、60日,根據(jù)業(yè)務(wù)不同需求可以選擇不同的計算方式以及時間間隔,重點是要和產(chǎn)品負責(zé)人以及運營人員對好指標(biāo)口徑。
本次分享的留存率是關(guān)于新客留存率,計算公式:第N日新客留存率=某日的新注冊用戶在第N日內(nèi)訪問過APP的留存用戶數(shù)/某日的新注冊用戶總數(shù)。
次日新客留存率(第1日新客留存率):指注冊APP后的第二天有訪問APP的行為的留存用戶/注冊APP當(dāng)天的新客總數(shù)。
第3日新客留存率:指注冊APP后第3天內(nèi)內(nèi)訪問過APP的留存用戶/注冊APP當(dāng)天的新客戶總數(shù)。
第7日新客留存率:指注冊APP后第7天內(nèi)訪問過APP的留存用戶/注冊APP當(dāng)天的新客戶總數(shù)。
第30日新客留存率:指注冊APP后第30內(nèi)訪問過APP的留存用戶/注冊APP當(dāng)天的新客戶總數(shù)。
1. 計算新客留存率用到的字段信息有:用戶ID,用戶登錄日期;
創(chuàng)建一張只有用戶ID和用戶登錄日期的表:
CREATE TABLE IF NOT EXISTS user_log
(
'id' int(11) NOT NULL AUTO_INCREMENT,
'operator_id' STRING COMMENT '登錄用戶ID',
'create_time' DATETIME COMMENT '創(chuàng)建時間'
PRIMARY KEY (`id`) USING BTREE
)
COMMENT '用戶登錄表'
2.計算過程:
為便于理解,下面的步驟分為兩步講解:留存時間的計算,留存用戶的計算,日常時間中如果覺得兩個步驟麻煩可以將兩個代碼進行合并。
第一步:
計算用戶注冊APP日期、登錄APP日期、登錄APP日期距離注冊APP日期的天數(shù)差
CREATE view IF NOT EXISTS view_retention_rate AS
SELECT t2.operator_id as “用戶ID”
,to_date(register_day) as “注冊日期”
,login_day as "登錄日期"
,datediff(login_day,register_day) AS “登錄時間距離注冊日期的天數(shù)”
FROM (
(
SELECT DISTINCT operator_id
,to_date(create_time) AS login_day
FROM user_log
) t1
LEFT JOIN (
SELECT operator_id
,min(to_date(create_time)) AS register_day --用戶訪問APP的最小時間即為首次注冊時間
FROM user_log
GROUP BY operator_id
) t2
ON t1.operator_id = t2.operator_id
)
;
結(jié)果如下:可以發(fā)現(xiàn)用戶1注冊日期在2020年11月10日,最近登錄日期在20219月20日,留存達314天。
第二步:
利用已經(jīng)計算出的時間計算用戶留存率。
例如,想要計算用戶次日留存率只需在上面的計算結(jié)果表找出登錄時間距離注冊日期的天數(shù)=1的數(shù)據(jù),想要計算用戶7日留存率,只需要在上表找出登錄時間距離注冊日期<=7的記錄,代碼如下:
SELECT a.register_day as "注冊日期"
,COUNT(DISTINCT a.operator_id) AS "當(dāng)天新增人總數(shù)"
,COUNT(DISTINCT CASE WHEN remain_days=1 THEN a.operator_id ELSE NULL END) AS "次日留存用戶數(shù)"
,COUNT(DISTINCT CASE WHEN 0
,COUNT(DISTINCT CASE WHEN 7
,COUNT(DISTINCT CASE WHEN 30
,round(COUNT(DISTINCT CASE WHEN remain_days=1 THEN a.operator_id ELSE NULL END)/count(DISTINCT a.operator_id),2) AS "次日留存率"
,round(COUNT(DISTINCT CASE when 0
,round(COUNT(DISTINCT CASE when 7
,round(COUNT(DISTINCT CASE when 30
FROM view_Retention_rate a
GROUP BY a.register_day
;
結(jié)果輸出如下:
到這里,一個簡單的新客留存情況就完成啦!
03、分析留存率為何下降的原因
本次計算的是新客留存率,因此我們要分析的就是新客留存率下降的原因,分析原因可以從幾個角度出發(fā):人、產(chǎn)品、運營方式。
新客留存率下降的主要原因有:
……
04、如何提高留存率
想要提高留存率建議“對癥下藥”,通過留存率分析,找出留存率下降或一直很低的主要原因:產(chǎn)品核心功能不行?運營手段不行?還是沒有吸引到目標(biāo)客戶?
針對這幾點,給大家一些參考的方式:
……
05、一個好的留存率標(biāo)準(zhǔn)是什么
對于這樣一個普遍的指標(biāo),不同的模型或業(yè)務(wù)場景下有不同的標(biāo)準(zhǔn)。前Airbnb 供給側(cè)增長團隊負責(zé)人 Lenny Rachitsky 和Eventbrite 首席產(chǎn)品官Casey Winters 在對Uber、Evernote、ServeyMonkey、Twitter、Facebook、Notion等20多款產(chǎn)品的增長專家進行了采訪后,得出了一些結(jié)論。
根據(jù)業(yè)務(wù)類型的不同,各位增長專家認為好的留存率的標(biāo)準(zhǔn)分別如下:
6個月用戶留存率標(biāo)準(zhǔn)應(yīng)該是:
12個月的收入留存率標(biāo)準(zhǔn)應(yīng)該是:
以上只是一些建議供大家參考,實際業(yè)務(wù)場景中還需要根據(jù)業(yè)務(wù)需求或業(yè)務(wù)體量進行合適的調(diào)整。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10