這樣做留存分析,提升用戶粘性不再難!
留存分析是一種用來分析用戶參與情況以及活躍程度的分析模型。主要考察在某段時間內(nèi)新使用產(chǎn)品(網(wǎng)站、APP等)的用戶,經(jīng)過一段時間后仍然在使用該產(chǎn)品,即有多少用戶留存下來了。
企業(yè)可以通過留存分析衡量產(chǎn)品對用戶價值的高低,找出增加用戶粘性的解決方案。
01?留存分析案例展示
留存率曲線
留存率是留存分析的最核心指標(biāo)。第N日留存率 = 第1天新增的用戶中,第N天還使用產(chǎn)品的用戶數(shù)/第1天新增的總用戶數(shù)。使用產(chǎn)品的用戶數(shù)可以按照業(yè)務(wù)需求定義,例如訪問網(wǎng)站、打開App等。
做留存分析,首先是監(jiān)控留存率曲線,評估產(chǎn)品對用戶的粘性。留存率曲線的縱軸是留存率,橫軸是時間。
以案例為例,一天過后,我們拉新獲得的 100% 用戶只留下 57%;第 7 天變成了15%;然后緩慢下降,到了第 30 天以后達到一個大約 5% 的效果。這個留存率有些低,需要想辦法通過某些方面的改進讓它逐步提升。

拆解分析問題
可以使用拆解分析法來分析問題所在。影響用戶留存的重要因素包括用戶屬性、產(chǎn)品主線(業(yè)務(wù)流程)、運營活動、獲客渠道等。
例如:將新增用戶拆解到是哪個月新增的用戶。如果某個月的留存率曲線較之前月份有所下降,那通過拆解分析就可以定位到是哪個月出現(xiàn)了問題。問題原因可能是某個產(chǎn)品功能改動或是某次運營活動。
再例如:將新增用戶拆解到獲客渠道,可以對比出哪個渠道是優(yōu)質(zhì)渠道,可以加強投入。

留存用戶畫像
想要提高留存曲線,可以改進拆解分析發(fā)現(xiàn)的問題,也可以利用用戶的基礎(chǔ)信息、用戶的行為數(shù)據(jù)(新增用戶的關(guān)鍵行為次數(shù):登錄次數(shù)、信息發(fā)送個數(shù)、關(guān)注人數(shù)、分享次數(shù)、點贊次數(shù)等)進一步對留存用戶和流失用戶做差異化行為分析。
例如,根據(jù)案例中的留存率曲線,我們發(fā)現(xiàn)1天內(nèi)是產(chǎn)品的振蕩器,3天是留存拐點,3天內(nèi)是決策期,7天后是平穩(wěn)期。我們可以重點關(guān)注這些日期的留存率。通過聯(lián)動功能,獲得對應(yīng)的留存用戶列表,做進一步的留存用戶的用戶畫像分析。

?02?ETL中做留存分析數(shù)據(jù)準備
數(shù)據(jù)源
數(shù)據(jù)源包含用戶的基礎(chǔ)信息(用戶ID、來源渠道、年齡、性別),以及用戶的注冊日期和訪問日期。一個用戶有多次訪問就記錄多行。

ETL截圖

詳細步驟
????◆??篩選數(shù)據(jù)行:過濾注冊日期 大于等于 2021-01-01;
????◆??添加"SQL輸入"操作,并輸入以下SQL。使用collect_list函數(shù)將每個用戶的訪問日期拼接為數(shù)組,并用array_sort函數(shù)對日期進行排序。
????????SELECT input1.`用戶ID`,input1.`年齡`,input1.`性別`,input1.`來源渠道`,input1.`注冊日期`,
????????array_sort(collect_list(input1.`訪問日期`)) as `訪問日期`
????????from input1
????????group by 1,2,3,4,5
????????——該步驟輸出效果為每個用戶只有一行數(shù)據(jù)。
????◆??添加計算列:
????????間隔天數(shù):explode(sequence(1,30))
????????——使用sequence函數(shù)創(chuàng)建一個1到30的數(shù)組,并用explode函數(shù)將數(shù)組展開。該步驟輸出效果為每個用戶有30行數(shù)據(jù)。總數(shù)據(jù)量為用戶人數(shù)*30,請預(yù)估數(shù)據(jù)量并在第一步對用戶數(shù)做適當(dāng)?shù)倪^濾。
????????新增用戶數(shù):1
????◆??添加計算列:
????????留存日期:DATE_ADD([注冊日期],[間隔天數(shù)])
???????? ?今日:CURRENT_DATE()
????◆??篩選數(shù)據(jù)行:留存日期 小于等于 今日;
????◆??添加計算列:
????????留存人數(shù):if(exists([訪問日期], x -> x=[留存日期]),1,0)
????????——使用exists函數(shù)判斷用戶是否在對應(yīng)的日期訪問。
????◆??保存并且運行ETL就可以使用ETL的輸出數(shù)據(jù)集制作案例展示的卡片啦。
ETL輸出數(shù)據(jù)集

03?卡片上即席做留存分析
當(dāng)不需要做留存率曲線,只需要檢測重點日期的留存率時,可以直接在卡片上計算留存率。
最后需要注意,做新增用戶30日留存曲線時,需要對新增用戶的注冊日期進行過濾,確保留存率計算中的分母(新增用戶數(shù))從注冊日期開始算已經(jīng)超過30日。例如今天是2022-09-15,若某個用戶的注冊日期為2022-09-01,統(tǒng)計用戶30日留存曲線時需要排除該用戶,因為該用戶注冊至今還不滿30日。
圖表1:留存漏斗圖
????◆?展示隨日期變化的留存人數(shù)和留存率。

????◆??使用數(shù)據(jù)源數(shù)據(jù)集新建卡片,并新建計算字段:
??????間隔天數(shù):DATEDIFF([訪問日期],[注冊日期])
????????新增用戶數(shù):COUNT(DISTINCT([用戶ID]))
????????1日留存人數(shù):COUNT(DISTINCT(if([間隔天數(shù)]=1,[用戶ID],null)))
????????3日留存人數(shù):COUNT(DISTINCT(if([間隔天數(shù)]=3,[用戶ID],null)))
????????7日留存人數(shù):COUNT(DISTINCT(if([間隔天數(shù)]=7,[用戶ID],null)))
????????30日留存人數(shù):COUNT(DISTINCT(if([間隔天數(shù)]=1,[用戶ID],null)))
????◆??選擇可視化類型為漏斗圖,將新增用戶數(shù)、1日留存人數(shù)、3日留存人數(shù)、7日留存人數(shù)、30日留存人數(shù)拖入數(shù)值欄,即可得到左側(cè)圖形;
????◆??也可以直接新建計算字段來計算留存率:
????????1日留存率:[1日留存人數(shù)]/[新增用戶數(shù)]
????????3日留存率:[3日留存人數(shù)]/[新增用戶數(shù)]
????????...
圖表2:留存分析手槍圖
在月份維度計算月用戶留存率。Y軸為新用戶注冊的月份,X軸為過去了幾個月,單元格內(nèi)可展示留存人數(shù)或者留存率。

◆??例如注冊月份2022-04對應(yīng)的0月是2022-04當(dāng)月,1月是2022-05,2月是2022-06,并以此類推。假設(shè)某個用戶在2022-04-15首次注冊,則在2022-04對應(yīng)的0月記為1人;若該用戶在2022-05-01到2022-05-31期間登錄過,則在2022-04對應(yīng)的1月記1人;并以此類推。
◆??使用數(shù)據(jù)源數(shù)據(jù)集新建卡片,并新建計算字段:
????????注冊月份:DATE_TRUNC('month',[注冊日期])
????????1月后:ADD_MONTHS([注冊月份],1)
????????2月后:ADD_MONTHS([注冊月份],2)
????????3月后:ADD_MONTHS([注冊月份],3)
????????4月后:ADD_MONTHS([注冊月份],4)
????????5月后:ADD_MONTHS([注冊月份],5)
????????6月后:ADD_MONTHS([注冊月份],6)
◆??新建計算字段來計算留存人數(shù):
????????0月新增用戶數(shù):COUNT(DISTINCT([用戶ID]))
????????1月留存人數(shù):COUNT(DISTINCT(if([訪問日期]>=[1個月后] AND [訪問日期]<[2個月后],[用戶ID],null)))
????????2月留存人數(shù):COUNT(DISTINCT(if([訪問日期]>=[2個月后] AND [訪問日期]<[3個月后],[用戶ID],null)))
????????3月留存人數(shù):COUNT(DISTINCT(if([訪問日期]>=[3個月后] AND [訪問日期]<[4個月后],[用戶ID],null))))
????????4月留存人數(shù):COUNT(DISTINCT(if([訪問日期]>=[4個月后] AND [訪問日期]<[5個月后],[用戶ID],null)))
????????5月留存人數(shù):COUNT(DISTINCT(if([訪問日期]>=[5個月后] AND [訪問日期]<[6個月后],[用戶ID],null)))
◆??新建計算字段來計算留存率:
????????0月:[0月新增用戶數(shù)]/[0月新增用戶數(shù)]
????????1月:[1月留存人數(shù)]/[0月新增用戶數(shù)]
????????2月:[2月留存人數(shù)]/[0月新增用戶數(shù)]
????????3月:[3月留存人數(shù)]/[0月新增用戶數(shù)]
????????4月:[4月留存人數(shù)]/[0月新增用戶數(shù)]
????????5月:[5月留存人數(shù)]/[0月新增用戶數(shù)]
◆??選擇可視化類型為表格,將注冊日期(月)拖入維度欄,留存人數(shù)或者留存率的指標(biāo)拖入數(shù)值欄;
◆??設(shè)置條件格式 > 列規(guī)則:例如留存率≥25%的顯示為橙色,其他顯示為藍綠色。
