【干貨燒腦】如何預測一個互聯網產品的未來—一套關于產品的數學模型
這套模型是我在運營路況電臺2000萬用戶過程中積累出來的,也是我們團隊做產品迭代,運營和產品目標設定最基本的方法。這個產品模型從幾個相對不同的維度定義一個產品的關鍵要素,是測量產品好壞最核心的指標,通過這套模型能迅速發現產品的問題,留住用戶的能力并預測產品未來的走向。
對于一個產品,大家都知道留存和黏度等基本指標是非常關鍵的,如何預測一個產品的未來,也恰恰是這些指標。要預測產品未來,就得先研究清楚這些基本產品指標的規律。
留存率的規律
留存率是一個產品最核心的指標,這是一個產品留住用戶的能力,也是產品經理最應該關注的指標,因為產品迭代改進絕大多時候是在優化這個指標。 留存率的統計一般會按照時間的跨度按(日、周、月)來統計,按照時間維度,有次日(周、月)、2日(周、月)、…. 、7日(周、月),30日等多個統計維度,但是無論哪種跨度,都遵循相同的規律。下面我們用月留存來舉個例子說明,下表是某產品的月留存率數據:
趨勢如下:
左邊是留存趨勢圖,右邊是一個衰減冪函數的圖像,大家是不是看這兩個趨勢有些相似,是的留存率的趨勢就是遵循冪函數的規律,不同的是我們看到的留存率趨勢圖都是取自變量 x >=1之后的數據,因為留存率的統計都是1日(周、月)之后的整數。 任何留存率的趨勢都是一個冪函數
所以說一個產品的留存率由兩個參數 a 和 b 決定,那我們進一步探究 a 和 b 的規律。
- a 是冪函數下降的起點值,在留存率趨勢來說就是我們常說的次日(周、月)留存率,下面我們以 C 來代表這個值。
- b 是冪指數衰減的趨勢,代表留存率的衰減速度,我們以 R 來代表這個值。
C 值和 R 值的計算,一般有兩種方法,一種是通過擬合算法得來,另外一種是通過冪函數模型反算出來;擬合算出來的準確度更高,并且可以算出擬合誤差,不過擬合出來的 C 值和次日(周、月)留存率會有微小的差異,同時計算的復雜度稍微大一些;第二種通過模型反算比較簡單,很適合表格公式操作,為了簡單方便我一般都用第二種算法,給大家介紹一下反算的方法:
用 C1,C2,C3,…Cn 來表示 1,2,3,…n 日(周、月)的留存率:
C =C1
R = average( log2(C2/C1),log3(C3/C1),…,logn(Cn/C1) )
回到我們上面舉例子的產品,根據已知的留存數據,我們通過模型計算出來這款產品留存的趨勢模型是:
留存率= 43.7x^{-0.53307},(其中C=43.7,R=-0.53307)
在實際使用過程中,通過已有幾日(周、月)的留存數據,按照模型就可以反算出 C 值和 R 值,從而推算出將來幾日(周、月)的留存率數據。
這里很多童鞋可能會問,我的產品留存率趨勢不是按照這個模型衰減的,我的回答是產品的留存衰減一定是滿足衰減冪函數模型的,如果你的產品衰減不遵循這個模型,一定是產品中摻雜了很多非正常的噪聲,這個時候你就要高度警惕了。我之前見過一些產品就因為渠道刷量、刷回訪造成產品留存違背模型的情況,這個時候你就需要問責渠道了。用這個模型除了可以監控渠道異常之外還可以通過短期的數據來預測長期的留存成本,快速監控渠道質量。
下面我們來通過幾張圖來看看 C 和 R 這兩個參數對留存率的影響,用另一款產品來說明:
1. R值對留存率的影響
上圖左邊是一個標準的冪函數隨著冪指數變化的趨勢圖,從圖中可以看到,冪指數alpha越接近0(越大),冪函數衰減的速度越慢;冪指數越小,冪函數衰減的速度越快;右邊的圖片是一個實際產品的數據,假設通過不斷優化產品,讓 R 值從 -0.825 提升到 -0.525 的趨勢,從圖上看出,當冪指數提升到-0.525的時候,第6日的留存率提升了5個百分點以上。因此要提高留存率,一定要努力提高 R 值。
2. C值對留存率的影響
C 值代表留存的起點,從圖中可以看出 C 值越高,以后各日(周,月)的留存值也會更大,這也就是我們常說的出身決定未來啊O(∩_∩)O哈哈~
上面的內容比較燒腦啊,很多數學公式,我本不想故作高深,但是為了把模型說明白,只能這樣。數學不好的童鞋們,也不用關注太多公式的事情,只需要知道一件事情 產品的留存率滿足數學規律并和兩個參數相關,一個是次日(周,月)的留存,一個是留存的衰減趨勢,改善產品留存就努力改善這兩個參數。
說到這里可能很多童鞋會問,我產品的 C 值和 R 值到底是好是壞了,這個沒有一個統一的結論,因為產品解決的需求不一樣,新增用戶規模不一樣,沒有統一的標準。不過對于一個剛上線的純移動互聯網產品,用戶規模不大的情況下,如果 C 值低于35, R 值小于-0.6的話,就要警惕產品是否有問題了。
產品的黏度指標
黏度指標對產品是很關鍵的指標,它說明了用戶使用產品的頻次,我們通常用MAU/DAU(MAU=月活,DAU=日活) 來定義產品的黏度指標,這個比值代表用戶回訪的天數(幾天會用一次產品),當MAU/DAU=1的話說明這款產品用戶每天都用;為了更方便理解,這個指標也可以這樣計算 DAU/MAU * 30 ,這個指標代表用戶一個月會用幾次產品,下面是兩個產品的實際數據:
產品1的用戶一個月會用2.6次,產品2的用戶一個月會用5次,是產品1的一倍,說明產品2比產品1更有黏度。對于游戲或者社交類產品的MAU/DAU一般都會小于5,如果一款游戲產品MAU/DAU 大于5的話,這款游戲的盈利能力就會有問題,工具類產品這個值也不能超過10,小于7基本是比較合理的。
理解活躍用戶(Active User)
前面這么燒腦的研究留存率的規律和黏度的指標,其實都是為了下面真正探究一個產品活躍用戶的規律。很多人最關注的往往就是產品的日活,它代表一個產品活躍用戶的總量,也通常是很多產品的終級KPI。因此理解日活的規律是合理制定KPI,并找到可達目標方案最有效的辦法。
DAU(MAU) = 當日(月)新增 + 累計歷史日(月)留存
我們以MAU來簡單說明,以上面舉例的一個產品的留存數據為基礎,假設該產品每月新增100個用戶,MAU的累計圖如下:
從圖上大家可以看到柱狀同色用戶量的衰減和留存率的衰減是一致的。從活躍用戶的構成上來看,除了新增用戶之外,活躍用戶的另外一部分是由歷史留存用戶構成,而歷史留存用戶由留存率決定。為了進一步說明活躍用戶和留存率的關系,我們還是拿上圖的產品,如果留存模型中的 R 值變化,MAU會有什么樣的影響:
從圖中可以看出,從相同的起點開始, R =-0.625的產品比 R =-0.825,在第7個月的時候總活躍用戶多了8%,如果時間更久的話,差距會更大,足見R對長期活躍用戶的影響是非常大的。
預測你產品的DAU
DAU是大家最關注的宏觀指標,是很多產品的KPI,所以如何科學合理的制定DAU 的目標是非常關鍵的。預測DAU其實也不難,按照下面3個公式就可以完成預測:
- 預測DAU = 預測MAU / 預測(MAU/DAU)
- 預測MAU = 預測當月新增 + SUM(歷史月留存)
- 歷史月留存 = 歷史月新增 * 歷史月到預測當月的留存預測值
歷史月到預測當月的留存預測值 是通過留存率模型中 C 值和 R 值來計算的。
從上面的公式可以看到,預測DAU的關鍵控制指標為以下四個:
- C 值 次月留存率
- R 值 月留存衰減趨勢
- MAU/DAU
- 月新增(MNU)
如果用數學公式表達的話,
DAU = f(C,R,MAU/DAU, MNU)
通過上面的公式可以向后預測多月之后的DAU值,比如說年初要設定年末的DAU目標,根據產品現在的模型參數,預計改善的產品參數目標和新增用戶目標,準確預測DAU,預測DAU滿足預期目標之后,再反過來就可以得到要實現的產品模型參數,形成分解目標。有了分解的目標,最終完成整體目標的可能性就高多了。
預測的方法上面已經說清楚了,用下面的幾張表格說明具體計算的過程,我們根據2015年10月份到2月份的產品數據來預測2016年4-6月份的DAU數據:
1. 根據現有的留存數據計算留存率參數
黃色部分就是根據現有數據估算的 C 值和 R 值,綠色部分是根據留存率模型估算的往后的留存率數據。
2. 設定預計導入的新增用戶,并根據估算留存率數據,計算逐月的留存用戶
a.設定預計導入的新增用戶如下:
b.依次計算逐月的留存率
c.逐月計算月留存用戶
如圖中可以看到,為了計算16年6月的MAU,需要把這之前的所有月份(2015年10月到2016年5月)到2016年6月份留存下的用戶全計算出來。
3. 累計歷史留存用戶,計算MAU
圖中黃色是16年6月份的MAU,從圖中公式可以看出它是歷史所有月留存用戶和當月的新增用戶之和。
4. 以往MAU/DAU均值作為 MAU/DAU的預測值
5. 依據 估算MAU值,MAU/DAU,計算DAU
圖中黃色部分為計算出來的DAU,后面并根據實際值,計算了估算誤差,經過多次驗證,這個模型估算的誤差較小,不會超過10%,如果沒有大幅的數據波動,一般都會在5%以內。在用這個模型的時候大家,可以通過調整參數,預測指定時間的DAU,辦法就是調整產品的參數和新增用戶量達成DAU目標,從而反得出產品控制參數。
警惕DAU這個虛榮指標
前面講過DAU往往是大家最關注的宏觀指標,也是很多產品的KPI,但是DAU是個絕對值指標,根本反應不了產品的實際狀況,反而這個指標往往容易騙人,經常會給產品經理帶來沾沾自喜的感覺,但是我想告訴大家的是,日活其實是個虛榮指標,如果你的產品沒做好,再高的日活都是浮云。由于DAU 是新增用戶和歷史留存用戶之和,大量的新增很快會推高日活,導致日活不斷增長,但是如果產品的留存數據不好,黏度指標不高的的話,歷史留存用戶的增量會越來越小,甚至成為負增長,這時候你的產品日活主要是靠新增拉動,一旦新增降下來,日活將劇烈下降。
這套模型我想告訴大家的是產品的關鍵指標是留存和黏度參數,DAU可以是產品的整體目標,但是達成的手段是優化留存和黏度這些產品參數,如果沒有這些數據的提升,導入再多的新增也沒有用,會全部流失掉。
這篇文章理論性比較強,涉及到一些數學模型,很多童鞋如果沒有實戰過的話不一定能完全掌握,大家在閱讀或實際運用過程中如果有問題可以隨時找我溝通。
DAU預測模型文件下載:
作者提供鏈接: http://pan.baidu.com/s/1c1GRwQ0 密碼: jwnr
人人官方鏈接: http://pan.baidu.com/s/1ge6CveF 密碼: wxxc
作者:李建剛,路況電臺創始人兼CEO
鏈接:https://zhuanlan.zhihu.com/p/20760624
本文由 @李建剛 授權發布于人人都是產品經理,未經作者許可,禁止轉載。
為什么不直接用C、R函數和日新增用戶數去直接計算DAU呢?為什么還需要引入月新增,粘性指標和
請問如何提升R值和C值呢?有沒有相關文章可以推薦呢?謝謝~
?
上面的公式是基于歸納演繹推出來的,但是歸納演繹得出的結論有一個隱含條件就是:未來會和過去一樣。但是市場是不斷變化的,上面推導出的公式又能適用多久?
所以就是要不斷【監測】數據,【預測】未來,通過運營和產品手段改變核心變量,并關注數據【檢測】策略,做負熵。
你好,文章寫得非常好,很值得我們大家學習。有個地方我稍微提出以下我的異議,R = average( log2(C2/C1),log3(C3/C1),…,logn(Cn/C1) )這里您使用的是均值的算法,我認為這個地方更適用于牛頓上山或牛頓下山的算法進行迭代,不過要判斷級數的收斂性,用平均的方法我沒有驗證與迭代方法具有多大的偏差。期待向您繼續交流學習,謝謝。
學習了,雖然有點難,但做就要做到專業!
我按照冪函數算了一下, 有百分之一點幾的誤差。還挺大的
腦子已經燒壞,請收下我的膝蓋 ?
不明覺厲啊
頭疼