本文作者依據工作中項目實踐的所思所想,並結合案例等分享了關於“日淨增登錄”數據相關的知識,供大家一同參考和學習。
一、什麼是「日淨增登錄」?
1. 指標提出背景
日淨增登錄,來源於我今年在登錄率提升專項中的實踐運用,並提出的一個數據指標。為什麼會提出「日淨增登錄」這個概念呢?原因是:
(1)登錄率不是絕對值,被分子、分母兩個耦合數值同時牽制,數據變動不太方便歸因。
比如在“日登錄率=日活躍用户中的登錄用户/日活躍用户”的口徑下,日登錄率降低,代表“日活躍用户中的登錄用户”的提升速度不及“日活躍用户”的提升,那麼問題來了,這是因為登錄率低於大盤的用户(比如新用户)佔比提升?還是某類細分用户(比如新用户)的登錄率降低?在追溯原因上相對複雜;
(2)登錄率有較多的歷史數據包袱,今天的數據不是今天的成果,策略下的數據預估困難。
比如今日由於策略多拉了10W的登錄,登錄率由48%提升到50%,那如果明天再多拉10W登錄,能從50%提升到51%或52%嗎?答案是否定的,因為明天的起始值不再是今天的50%,如(1)中所述,明天的起始值由諸多因素導致。於是就出現了這樣的疑問:
我究竟要拉多少登錄用户才能在Y月達到某個登錄率目標值?或者,我預計每天可以拉XX的登錄,那到了Y月的時候登錄率會是多少?再或者,我拉了XX萬的登錄用户對Y月的某個登錄率目標值究竟貢獻了多少?(記住以上3個疑問,將在應用部分得到解答)
因此,在這樣的背景下,需要有一個指標,它是登錄率的“唯一”牽引指標。能夠和「登錄率」互相推導,且推導所用的過程變量相對穩定(可以被當成常數);
A. 易於拆解。是一個絕對值,它的拆解由獨立的加減而不是耦合的乘除組成;
B. 易於觀測。對策略敏感,隨着策略的變動而變動且明顯;
C. 易於預估。沒有歷史數據包袱,今天的數據就是今天的成果;
「日淨增登錄」則是這樣一個指標。
2. 指標定義
日淨增登錄:指今日活躍的用户在今日的登錄狀態和上次活躍的登錄狀態差值的總和。公式表示如下:
日淨增登錄 = ∑ Ci (i=1,2,…..n)
其中:
n代表日活躍用户數;Ci代表第i位活躍用户在今日的登錄狀態和上次活躍的登錄狀態差值,取值為0/ 1/-1Ci=0表示該用户今日和上次的登錄狀態一致,均有登錄或均未登錄;Ci= 1表示該用户今日有登錄,上次未登錄(新用户登錄屬於這類情況);Ci=-1表示該用户今日未登錄,上次有登錄;為方便業務應用,公式可簡化為:
日淨增登錄 = 日流入登錄 – 日流失登錄
*注:(1)本文的登錄均指活躍中的登錄。業務不同可能口徑不同(如播放中的登錄),但可同理套用;(2)本文的“用户”指設備;(3)判斷用户當日是否登錄,可按照用户當日剛開始活躍時的登錄狀態,也可按照用户活躍結束時的登錄狀態,但判斷條件只能始終選其一;
通過如上定義,不難看出「日淨增登錄」是易於拆解、易於觀測、易於預估的,符合最開始提出的條件BCD。那針對條件A,「日淨增登錄」能夠和「登錄率」互相推導嗎?
答案是,能!下面將介紹兩者之間的推導邏輯。
二、「日淨增登錄」與「登錄率」之間的推導邏輯
由於目標是「日淨增登錄」和「登錄率」之間可實現相互推導。那麼先嚐試通過「登錄率」推導出「日淨增登錄」。
首先為了保證推導所用的過程變量相對穩定,需要擴大時間維度以抵消或降低部分不可控因素(如MAU會比DAU更加穩定),而我們日常的數據統計在時間維度上一般為日、周、月、年這4個維度,在本文中將採用月維度做為轉化標準;再者「日淨增登錄」屬於差值,我們則需要從擴大時間維度後的變量裏去尋找合適的差值;最後再將“月”維度的的差值拆分成“日”維度差值,形成最終我們想要的「日淨增登錄」。
Step1.將「登錄率」從“日”維度擴大到“月”維度,抵消或降低部分不確定因素
這裏用到了大家應該比較熟悉的轉化式:
DAU * 30 = MAU * 月平均活躍天數
注:此處的DAU代表月均值;為方便理解,一個月均採用30天計算;
那麼同理:
DAU中的當日登錄用户數 * 30 = MAU中的當月登錄用户數 * 月平均登錄天數
於是:
日登錄率= DAU中的當日登錄用户數 / DAU
=MAU中的當月登錄用户數 / MAU * (月平均登錄天數 / 月平均活躍天數)
其中月平均登錄天數、月平均活躍天數在很多業務中,均是比較穩定的值,並且兩者一般同降同升,相除更是抵消了波動性。所以(月平均登錄天數 / 月平均活躍天數)完全可以被當成一個常數處理。在本文中,將其當作a,即:
月平均登錄天數 / 月平均活躍天數 = a (常數)
於是得出:
日登錄率 = a * MAU中的當月登錄用户數 / MAU
由於我們是通過「登錄率」推導「日淨增登錄」,即登錄率此時是已知的;而常數a則可通過業務的歷史數據計算所得;剩下「MAU」和 「MAU中的當月登錄用户數」這兩個變量。
到了這裏就比較明顯了,「MAU中的當月登錄用户數」就是符合下一步差值訴求的變量。
Step2.從「MAU中的當月登錄用户數」中尋找差值
這裏的差值在實際的業務應用場景,為了排除自然波動的影響,用目標值與自然值之間的差值來計算會更合適也更簡單。因此涉及3個概念:
自然值,只要業務在自然情況下登錄率趨勢穩定或有規律可循,便可以從歷史數據中進行預測;目標值,可基於目標登錄率進行計算得出;MAU,做為核心指標,一般在業務中也可預測或者已經預測;將上述3個值代入step1中的公式:
日登錄率 = a * MAU中的當月登錄用户數 / MAU
得到
差值X(策略干預下的淨增登錄)
=目標「MAU中的當月登錄用户數」 – 實際「MAU中的當月登錄用户數」
=MAU / a * (目標登錄率 – 自然登錄率)
Step3.將差值拆分成「日淨增登錄」
那麼為了step2中的“差值X”在目標月達到指定量級,拆分到每天平均需要多少的“每日差值x”即“策略干預下的每日淨增登錄”才行呢?
這裏我們假設活躍次月留存率為b,則今天的“每日差值x”在目標月也生效的概率為:
b^n
n代表今天所在月與目標月的月數間隔(如今天是5月,目標月是6月,則n=1)
於是:
差值X = x * 30 * ( b^0 b^1 b^2 …. b^n)
其中b^0 b^1 b^2 …. b^n為一個常數,為方便,命名為c
則:
每日差值x = 差值X / (30 * c)
由於:
日淨增登錄 = 日干預淨增登錄(每日差值x) 日自然淨增登錄
於是最終得到「登錄率」推導「日淨增登錄」的公式為:
日淨增登錄 =MAU * (目標登錄率 – 自然登錄率) / (30*a*c) 日自然淨增登錄
其中:
MAU 為預測的目標月活躍用户數;自然登錄率為不做策略時預測的登錄率;a = 月平均登錄天數 / 月平均活躍天數;c = b^0 b^1 b^2 …. b^n , b為活躍次月留存率;日自然淨增登錄為不做策略干預下的日淨增登錄,可通過歷史數據計算得出從公式看出,如果想反推,即由「日淨增登錄」推導出「登錄率」,帶入相應值即可。
注:以上推導過程基於了一些假設和限定,主要包括(1)登錄率的變動不影響活躍;(2)自然情況下登錄率趨勢穩定或有規律可循,即可預測;(3)活躍次月留存率、「月平均登錄天數/月平均活躍天數」、在歷史數據中足夠穩定。
三、「日淨增登錄」在業務中的應用
前面闡述了「淨增登錄」的定義、優勢、推導過程,那在具體的業務中的它應用流程是什麼呢?
在這裏回顧下前面的3個疑問:
疑問1:我究竟要拉多少登錄用户才能在Y月達到某個登錄率目標值?疑問2:我預計每天可以拉XX的登錄,那到了Y月的時候登錄率會是多少?疑問3:我拉了XX萬的登錄用户對Y月的某個登錄率目標值究竟貢獻了多少?帶着疑問我們一起來看下「日淨增登錄」的應用框架,供大家參考。
注:裏面所使用的數據均為假數據,不代表業務數據
1. 收集數據確定「日淨增登錄」值
疑問1和2均可在這一步得到解答。
【疑問1】我究竟要拉多少登錄用户才能在Y月達到某個登錄率目標值?
這個疑問代表目標登錄率是已知的,於是收集得到以下數據:
啓動策略月:4月目標月:6月6月自然登錄率(預測)=40%6月目標登錄率=50%6月MAU(預測) = 1000萬日自然淨增登錄數(歷史數據) = 2700活躍次月留存率(歷史數據)=50%月平均登錄天數 / 月平均活躍天數(歷史數據) = 1.1帶入各項值到公式,得到:
日淨增登錄數 = 2萬(其中「日干預淨增登錄」為1.7萬)
【回答疑問1】我從4月開始平均每天要拉2萬(含自然登錄0.3萬)登錄用户才能在6月達到50%的登錄率目標。基於此,可以進入下一步拆解指標來看看可以從哪些細分指標上去做提升和策略。
疑問2則是將「日干預淨增登錄」做為已知值反推目標登錄率,這裏不再贅述。
2. 拆解「日淨增登錄」指標
由前面的定義可知:日淨增登錄 = 日流入登錄 – 日流失登錄。可以以此做為二級指標拆解。同時再對「日流入登錄」和「日流失登錄」進行三級拆解,比如:
日流入登錄 = 新用户新增登錄用户數 留存用户新增登錄用户數 迴流用户新增登錄用户數
日流出登錄 = 主動退出登錄用户數 被動退出登錄用户數
其中三級指標裏,比如覺得「留存用户新增登錄用户數」是重點提升對象,又可以進一步拆解:
留存用户新增登錄用户數 = 留存用户首次新增登錄用户數 留存用户重新登錄用户數
或者
留存用户新增登錄用户數 = 低頻留存用户新增登錄用户數 中頻留存用户新增登錄用户數 高頻留存用户新增登錄用户數
此處僅拋磚引玉,大家基於自己業務實際情況進行拆解。
另外有兩個注意項:
(1)在策略干預期,我們是無法將「日淨增登錄」拆解為「日干預淨增登錄」和 「日自然淨增登錄」的,因為前者計算時無法客觀剝離自然登錄用户,所以將「日自然淨增登錄」做為一個固定基數,觀測「日淨增登錄」的數據即可;
(2)不要混淆日流入、日流出、日留存登錄用户的定義,這三者之間是不能有交集的。比如用户i今日在活躍過程中,從賬號A切換到賬號B,屬於日留存登錄用户。
3. 搭建指標儀表盤
疑問3將在這一步解答。
【疑問3】我拉了XX萬的登錄用户對Y月的某個登錄率目標值究竟貢獻了多少?
基於第一步的數據,平均日淨增登錄數 = 2萬,則總淨增登錄數=2萬*60(天數)=120萬。假設拉了30萬的登錄用户,則對6月50%的登錄率目標貢獻了25%;
如果有條件,可以利用上述推導邏輯搭建儀表盤直接觀測,比如採用可視化的進度條等
4. 校驗調整
由於指標公式裏套用了預測值,而如果預測值不準,會導致「日淨增登錄」該指標值也不準。為了校驗,可以將當前的平均「日淨增登錄數」代入公式得到「登錄率」,與現有實際登錄率進行比較。從而進行調優。
四、「日淨增登錄」的侷限
「日淨增登錄」指標的設計是為有策略干預場景而服務的,無法為自然情況下的異常進行歸因。比如在沒有任何策略的情況下,登錄率異常,通過該指標無法獲曉異常原因;「日淨增登錄」公式依賴文中提到的幾個假設和限定,如果這些假設不成立,會影響其準確性。由於筆者經驗的侷限,在指標設計上可能有不嚴謹的地方,歡迎大家指正和探討。
本文由 @wen 原創發佈於,未經作者許可,禁止轉載。
題圖來自Unsplash,基於CC0協議。