流失預測 & 分類模型(一)[轉發自石頭]


首先聲明,該文章是石頭哥的最新文章,力作之一。石頭哥是游戲數據挖掘與分析QQ群的群主之一,該文出自他手,在此予以轉發,望從事游戲數據分析的各位可以從中學到一二。本來我的博客想來很少轉文章的,不過在此,這樣的好文必須轉起來。

原文地址:http://blog.sina.com.cn/s/blog_c308e7dd0101cp4h.html

流失預測模型在很多行業都有引用到切實的市場運營當中,而接下來就開門見山的說一下游戲行業有關用戶流失模型的建立。

 

 

目標:關於游戲用戶的流失,普片的衡量指標有周流失與月流失,接下來研究的問題有兩個:

①   有關付費用戶的月登陸流失問題

②   有關付費用戶的月付費流失(付費用戶的月登陸流失定義:本月充值的用戶在下個月不再有登陸行為。付費用戶的月付費流失:本月充值的用戶在下個月不在有付費行為。但有可能還有登陸行為,這部分用戶被稱為沉默付費用戶。)

 

數據指標理解:影響流失的普片判斷有:在線活躍、充值或消費活躍、還有玩家賬號一些屬性(如果細分還有副本的活躍度,某些活動的活躍度,或者社交的數據等)。本文在做流失預測模型之前做以下數據准備:

玩家ID

玩家角色名

等級

注冊時間

本月充值總額

本月銅幣活躍(銅幣的交易次數)

本月綁定銅幣活躍(綁定銅幣交易次數)

本月元寶活躍(元寶交易次數)

本月活躍天數(登陸天數)

本月登陸次數

本月登陸總時長

下月充值總額

下月登陸天數

 

以上是從數據庫中取出來的基本指標,而進行分析的指標可以在這個基礎指標的基礎上再進行豐富,例如:每活躍天在線時長=登陸總時長/活躍天數;每活躍天登陸次數=登陸次數/活躍天數;活躍度=活躍天數/本月已注冊時長(大家將發現這里衍生的“活躍度”指標在后面的分析會起到神奇的效果)。數據都准備好了之后,現在就開始建立模型,以下用到的是SPSS Modeler軟件。



首先采用源節點來錄入數據,數據分為兩份,第一份為“11月預測12月”數據,第二份為“12月預測1月”的數據。



接着利用“導出”節點導出我們所需要的衍生字段。

 



因為這里的“下月充值流失”是根據下月是否有充值來判斷轉換的,下月充值為0即為流失則標志為T,否則為F(“下月登陸流失”同理)。利用導出節點,我們依次衍生了以下字段:

下月充值流失

下月登陸流失

每活躍天銅幣交換次數

每活躍天綁定銅幣交易次數

每活躍天元寶交易次數

每活躍天登陸次數

每活躍天登陸時長

每活躍天充值額度

活躍度(登陸天數/本月已注冊天數)

 

 

 

接下來就是對一些多余字段的過濾還有數據的清理(如包括空值的數據,或者不合理數據,如活躍度>1為不合理數據)。

 

添加“過濾”&“選擇”節點。

把無用的字段過濾掉(根據自己源數據來過濾,如這里的下月充值(元寶)字節已經轉換成“下月充值流失”字節,所以可以刪除過濾掉),點擊確定。

 

打開“選擇”節點,模式選擇“拋棄”,條件寫上一些需要清除的數據,點擊確定。



模型之前的數據准備都基本完成了,最后添加一個類型節點。


我們先研究的是下月登陸流失,所以現將下月充值流失角色設為無,下月登陸流失設為目標,接下來就是選擇需要預測的模型。這里選擇了貝葉斯與C5.0的算法

 

貝葉斯這里運用了三種方法:TANMarkovMarkov_FS

分別添加三個貝葉斯節點,名字分別命名:TANMarkovMarkov_FS(方便辨識)。

TAN設置結構類型為TANMarkov設置結構類型為Markov BlanketMarkov_FS設置結構類型為Markov Blanket並且勾選“包括特征選擇預處理步驟”。分別運行得到3個模型,最后連接一個“分析”節點,默認狀態下按運行。


分析節點運行結果:

大家可以明顯發現,運用貝葉斯的三種方法的准確率基本都為83%,這說明三種方法差別並不大。其實在一般預測來說,80%以上已經算比較好的結果了。但是這里將進一步采用C5.0的算法與其比較。

 

 

添加C5.0算法節點,默認狀態下按運行,得到C5.0的模型,點擊C5.0模型節點


可以看到每一個變量的重要性,而“活躍度”這個變量的重要性是最高的。(這也說明了一些衍生字段對后期分析的重要性)

 

 

接下來再添加“分析”節點發現准確率達到85%,比貝葉斯要稍微好點。(有一些情況對決策樹使用boosting方法或者進行截枝修剪嚴重性會得到更好的效果)



我們再用C5.0模型進一步進行流失分析,添加“直方圖”節點:



選擇字段level OR 注冊時間,交疊字段顏色選擇我們通過C5.0預測出來的“$C-下月登陸流失”字段,點擊運行。


 

用這個方法可以進一步預測分析下月流失的等級分布,或者注冊時間分布,或者更多有關玩家的信息,原理一樣在這里不再做拓展。到這里流失預測模型已經建好可以投入使用了。接上我們需要預測1月份的數據,我們可以進一步看到這個預測模型在下個月的准確性仍可以保持在85%左右,說明預測的效果還是不錯的,之后可以直接進行一系列的分析。(在這里說明一下,一般預測模型會隨着時間的推移慢慢減低准確性,所以建議在做預測之前都用前一個月的數據來訓練一次模型,從而能讓模型保持一定的准確性)

附加一個12月份付費用戶在1月份流失的注冊時間分布圖,大家看有沒有發現什么有意思的東西~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM