【遊戲實戰】用數學模型預測遊戲留存和LTV

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"什麼是LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用戶的LTV(生命週期價值)是遊戲從用戶獲取到流失所得到的全部收益總和。在遊戲行業,LTV是大多數運營策略的最終衡量指標,也是一個遊戲的價值體現,被廣泛應用於廣告推量投放的決策行爲中。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"LTV的定義爲用戶生命週期價值(Life Time Value),其值大小由兩部分決定:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"a. 生命週期,即Lt部分","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"b. 價值,即V部分","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"放到產品中,即單個用戶在產品中存活的時間乘以用戶在存活時間期間內單位時間所付的費,用通俗的表達就是:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"LTV = 單用戶存活Days *ARPU(per Day)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" = 所有人在總存活期內總付費 / 所有人的人數","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由於用戶的存活行爲是連續生成的,同時付費行爲也是伴隨存活行爲連續生成的,所以LTV是一個【連續變化的積累值】,絕不是一個固定值。通常長成這個模樣:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/7f/7f48614feffed33c8537e7c902f78a8a.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"如何計算LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"bgcolor","attrs":{"color":"#ffffff","name":"user"}}],"text":"舉個例子","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"某遊戲C,其每日的留存可以用R(t)來表示(即30日留存爲R(30)),其每日的ARPU可以用V(t)來表示(即第8天的arpu爲V(8))。假設其在某一天中新增了用戶1000人,這1000人在後續的n天中的表現爲:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/8e/8e743e9f946a2dedfb23b39a79384ef5.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此時在這n天裏,這1000人總計付費額度爲:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/6d/6d600e8ac71f77b13887f0628c6ae523.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以此1000人的n日LTV爲:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/c7/c7fe20c7bb3298fd7afcd421c397ad9b.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從上述公式中我們可以知道,LTV只與產品本身的留存函數R和ARPU函數V有關,與具體的新增用戶數量無關,是由產品本身決定的。","attrs":{}}]},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"爲什麼要預測LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在遊戲廣告推量領域,如何進行高質量的推量投放以達到用戶持續性增長的目標,是行業的普遍痛點。在傳統的遊戲廣告推量行業中,投放及運營人員根據幾款遊戲的歷史LTV數據,憑藉長久的行業經驗,對遊戲未來的發展性價值進行評估;繼而調整相應的遊戲投放權重與力度,或進行相應的運營策略(如:開展活動)。隨着市場規模擴大、用戶羣體複雜化,依賴行業經驗的人爲決策難度越來越大,對遊戲及用戶羣體的價值進行準確評估的可行性也愈來愈低。因此,對於依賴數學算法的、可信的、擁有相對穩定準確性的LTV預估方法的開發研究,在遊戲行業得到越來越多的重視。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"LTV作爲衡量遊戲中用戶的價值的重要指標,在遊戲評級、用戶質量評級、用戶增長等應用中具有至關重要的參考價值。歷史的LTV數據與當前的LTV數據僅體現遊戲發展至今的市場價值,而該遊戲未來的市場效益是否能持續穩定發展、是否會陷入瓶頸甚至停滯,往往不得而知。相關人員僅依賴行業經驗進行判斷與決策將不可避免地伴隨主觀風險;加入數據分析與算法模型作爲決策輔助可以降低決策風險、提高決策效益。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不同遊戲的LTV直接影響其ROI(投資回報率),體現遊戲的市場價值。以遊戲LTV的發展趨勢與幅值爲參考指標,對遊戲進行評級,可以幫助遊戲廣告投放人員合理地調整不同遊戲的資源投放比例;以用戶羣LTV的發展趨勢與幅值爲參考指標,對用戶羣的價值評估,可以幫助遊戲廣告投放人員合理地調整用於不同用戶渠道的資源投放比例。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"某些遊戲在發佈初期表現良好,之後在某一時間玩家開始大量流失,收益增長停滯,迅速進入瓶頸期。這樣的發展趨勢在初期也許稍顯端倪,卻容易被表面的良好數據掩蓋(如,初期具有較高的留存率,但已出現異常的衰減情況)。此時運營人員再針對此情況商討、研究、開發相應的運營策略,往往難以及時降低玩家流失。可預測未來LTV的算法模型可以爲運營方提供遊戲LTV在未來某時間段的潛在停滯風險,幫助運營方及時甚至提前做好調整運營策略的準備。","attrs":{}}]},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"剛上線的產品,如何預測未來LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當產品上線後,根據已有的LTV數預測未來LTV走勢和節點值,我們將會應用到——時序預測。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"時序預測的思路主要是圍繞四個部分來構建預測算法:趨勢(T)、季節(S)、週期(C)、不規則波動(I)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"時序預測的模型分爲加法模型和乘法模型兩種:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"加法:Y=T+S+C+I","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"乘法:Y=T*S*C*I","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"考慮到LTV曲線本身的特性,其趨勢(T)的影響佔比非常非常大,而季節、週期和不規則波動影響非常非常小,所以從運營人員的角度出發,我們可以簡化爲Y=T,直接找出符合LTV趨勢的函數來做擬合,把時序預測領域的事情又變回爲函數擬合的事情。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然,對於數據分析方向的研究員在這個領域裏可以使用更多更復雜的時序預測方法來預測未來的短期LTV,但是通過函數擬合找到描述趨勢的函數表達式,可以更有效的預測未來更長時間段內的節點LTV值。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於充值包兌換率集中,玩家較穩定的遊戲,我們可以取平均ARPU簡化LTV公式:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/46/460e62b9a0386b0473576692530337f5.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了更細緻地把握留存率的變化對LTV的影響,我們試用通過擬合留存率來預測LTV的算法。首先擬合玩家的留存率,並預測出未來留存率的情況;再對留存率進行積分得到LT(生命週期);假設ARPU變化穩定(即使用其平均值),由LT乘ARPU即可得到LTV的預測值。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此算法通過優先擬合留存率,將各因素(如:活動)對留存率的直接影響體現出來,可以一定程度預測未來的留存率波動對LTV的影響。但是對於ARPU值變化較明顯的情況不適用。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這裏我們對於業界常用的幾種函數進行了整理:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基於邏輯迴歸公式的邏輯模型:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/df/dfedc8581d9cac67f4028e8f10a6d467.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基於反正切函數的反正切模型:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/49/49ee7350f60cf639e66eb9ee468914e2.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基於冪函數的模型:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/ce/ce47c30b75f404df4dcaec6de00903e0.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在我們超過100個遊戲的實驗中,冪函數擁有最出色的擬合度和預測準確率:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/90/90a371050beb726e69b2907107304154.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"模型偏差修正","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"僅僅使用冪函數對留存率進行擬合的方式適用於arpu穩定的遊戲。如果遊戲的arpu存在波動,則直接用均值代替會產生預測誤差爲了能將ARPU變化對LTV的影響體現,同時從宏觀上修正擬合留存率時造成的LTV預測值和LTV真實值之間的偏差,在算法3的基礎上我們採用對數函數","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/05/055130922ecb18f86ee18427849aa6d2.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"(其中E爲偏差率,c、d爲常數)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"擬合LTV真實值和LTV預測值之間的偏差率,即","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/a6/a6a7f693c70d87839b81d75251d91c37.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們使用接近真實偏差率的擬合偏差率E,通過公式:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b0/b01957d929ab1415616679469654bf9d.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"修正首次預測的LTV,得到最終的預測LTV。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此算法由於將留存率和ARPU對LTV的影響都考慮,具有更強的預測穩定性和普適性,同時也有更高的預測準確度。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在超過100個遊戲的實驗中,我們可以發現,在使用冪函數擬合留存率後,對LTV進行對數修正的方式,可以提高遊戲LTV預測準確率,且準確率隨訓練數據天數增加而升高:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/f9/f9a2e26120dc60b5c007ef12b19a99e3.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"風險與對策","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當前應用算法存在一定應用風險:若活動信息未知(前7日無活動對留存率造成波動),則不可預測未來的活動對留存率的影響。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對策:嘗試使用歷史同期活動影響情況來預測;嘗試使用其他機器學習模型,將活動信息作爲輸入參數傳給模型。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章