博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
流失预测 & 分类模型(一)[转发自石头]
阅读量:5281 次
发布时间:2019-06-14

本文共 2189 字,大约阅读时间需要 7 分钟。

首先声明,该文章是石头哥的最新文章,力作之一。石头哥是游戏数据挖掘与分析QQ群的群主之一,该文出自他手,在此予以转发,望从事游戏数据分析的各位可以从中学到一二。本来我的博客想来很少转文章的,不过在此,这样的好文必须转起来。

原文地址:

流失预测模型在很多行业都有引用到切实的市场运营当中,而接下来就开门见山的说一下游戏行业有关用户流失模型的建立。

 

 

目标:关于游戏用户的流失,普片的衡量指标有周流失与月流失,接下来研究的问题有两个:

①   有关付费用户的月登陆流失问题

②   有关付费用户的月付费流失(付费用户的月登陆流失定义:本月充值的用户在下个月不再有登陆行为。付费用户的月付费流失:本月充值的用户在下个月不在有付费行为。但有可能还有登陆行为,这部分用户被称为沉默付费用户。)

 

数据指标理解:影响流失的普片判断有:在线活跃、充值或消费活跃、还有玩家账号一些属性(如果细分还有副本的活跃度,某些活动的活跃度,或者社交的数据等)。本文在做流失预测模型之前做以下数据准备:

玩家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月份流失的注册时间分布图,大家看有没有发现什么有意思的东西~

转载于:https://www.cnblogs.com/yuyang-DataAnalysis/archive/2013/03/13/2958312.html

你可能感兴趣的文章
关于web服务器和数据库的各种说法(搜集到的)
查看>>
C# Stream 和 byte[] 之间的转换
查看>>
OMG: daily scrum nine
查看>>
redis与spring结合错误情况
查看>>
第六章 字节码执行方式--解释执行和JIT
查看>>
字符串方法title()、istitle()
查看>>
yield语句
查看>>
查看linux系统中占用cpu最高的语句
查看>>
[洛谷P1738]洛谷的文件夹
查看>>
ubuntu server设置时区和更新时间
查看>>
【京东咚咚架构演进】-- 好文收藏
查看>>
【HTML】网页中如何让DIV在网页滚动到特定位置时出现
查看>>
文件序列化
查看>>
jQuery之end()和pushStack()
查看>>
Bootstrap--响应式导航条布局
查看>>
Learning Python 009 dict(字典)和 set
查看>>
JavaScript中随着鼠标拖拽而移动的块
查看>>
HDU 1021 一道水题
查看>>
The operation couldn’t be completed. (LaunchServicesError error 0.)
查看>>
php每天一题:strlen()与mb_strlen()的作用分别是什么
查看>>