首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言案例实战——用户为什么留下来?

如果你在数据科学领域还只是个新手,那么建议你先看看——《

五本书带你入门数据科学

》。

需求

无论是一款游戏还是一款App,都会面临用户流失的问题,作为产品的运营人员,你肯定很想知道,是哪些因素导致用户流失了。在现实的场景中,用户流失的原因简直太多太多,例如某个功能不好用,有新的竞品出现,给客服提问题没有回复,心情不好删除了等等等等。

在用户流失的诸多因素中,从数据科学的角度来分类的话,用户流失的原因可以分为两种,一种是产品可以检测到的,用户在操作某些功能后,大量流失的原因;另外一种就是产品无法检测到的,用户因为个人原因而导致的流失。

既然用户的流失因素,无法完全使用数据来监控。但是如果需要降低用户的流失率,提升用户的留存率,就必须对用户的流失原因进行分析。这就进入了一个死循环,有时候只能根据产品可以检测到的数据,来进行用户的流失分析,直接放弃系统无法检测到的其他因素。

其实,可以转换一个思路,与其分析用户为什么流失,不如分析用户为什么留下来,因为,所有用户留下来的因素,产品都可以检测到。

下面使用一个游戏的数据,来分析一下,用户为什么会持续地玩这个游戏。换而言之,就是游戏的哪个功能,可以让用户留下来。

收集数据

为了简化数据的复杂度,我们只是收集了用户的安装、日活、战斗、发消息以及协作的数据,如下所示:

安装的数据格式,如下所示:

日活的数据格式,如下所示:

战斗的数据,如下所示:

协助的数据,如下所示:

发消息的数据,如下所示:

数据处理

处理日活数据

首先处理日活的数据,计算出距离活跃已经有7~13天的用户数据,代码如下所示:

接着,计算每个用户的登陆密度,计算公式和代码如下所示:

执行代码,即可得到以下的结果:

处理战斗数据

接着,来处理战斗的数据,代码如下所示:

然后,把行的数据,处理成为列的数据,一个用户只保留一行的数据,代码如下所示:

执行代码,即可得到以下的结果:

接着,从这份数据上面,计算出每天的次数占总数的占比以及主成分分析后的指标值,代码如下所示:

战斗的比例数据如下所示:

战斗的PCA数据如下所示:

处理消息数据

消息数据的处理方法,和战斗数据的处理方法一致,首先处理成为每个用户一行,七天的数据用列来表示的形式,代码如下所示:

执行代码,即可得到以下数据:

接着,再把它处理成为百分比以及主成分的方式,代码如下所示:

执行代码,即可得到百分比以及主成分分析的特征数据:

处理协助数据

协助数据的处理方法,和战斗与消息数据的处理方法一致,首先处理成为每个用户一行,七天的数据用列来表示的形式,代码如下所示:

执行代码,即可得到以下数据:

接着,再把它处理成为百分比以及主成分的方式,代码如下所示:

执行代码,即可得到百分比以及主成分分析的特征数据:

数据分析

特征数据处理完成之后,下面介绍一下解决这个问题的数据分析思路。

想要通过用户的行为,来找出决定用户留下来继续玩游戏的主要特征,可以通过交叉表的形式,来对比分析留存用户和流失用户在不同的特征上的区别。

但是因为用户的行为非常多,并且还需要根据不同的行为,决定该行为在几天后发生、发生几次才能达到满足用户留下来的心理预期,如下图所示,我们需要找出满足条件的六个未知参数 x ,这就需要通过非常多轮的比较,才能得出明确的结果。

这时候,可以使用决策树的方法,使用最大信息熵的方式,寻找最佳的参数分割,让结果最优。

数据建模

用户行为数据聚类

首先,使用 kmeans 聚类的方法,根据用户不同行为的数据,来划分不同的用户群,使用的聚类方法,如下所示:

然后,对每种行为的数据进行聚类。

执行代码,即可得到如下结果:

最后,把聚类的结果以及用户的日活信息连接起来。

执行代码,即可得到如下结果:

最后,按照登陆密度,由小到大的顺序重新排序。

执行的代码,即可得到满足决策树建模的数据了,如下所示。

聚类结果决策树建模

决策树使用 rpart 包的 rpart 方法进行决策树的构建。

执行代码,即可得到下图的决策树:

可以看到,根据协助这个行为,使用协助的指标,将数据分为 4 个类别,是最合理的划分。

下面来观察一下,每个分类有什么特征。

可以看到,从数量上,1 分类的人数,占了绝大多数,然后 2、3、4 分类的人数只占了一小部分。

接着,对分类的平均登陆密度作图,可以得到以下图形:

可以看到,1 分类和其他分类的指标有很大的差异性,类1的登陆密度非常低,接近流失用户了,2、3、4 类用户登陆密度是 1 分类的 6 倍以上。

最后,将协作行为按照类和时间进行可视化,如下所示:

执行代码,即可得到以下图形。

可以看到,类1的用户在开始游戏后就有了协作行为,但之后这种行为发生的次数不断下降,从上页的图中可以看出2周后这类用户的登录密度变得很低。类3和类4的用户在开始游戏3天后协作行为开始变得多了起来,在这之后持续增加,2周后登录密度就已经很高了。

总结

通过上面的分析,我们可以得到以下的结论:

● 对开始游戏后第 2 周的登录密度影响最大的社交行为是协作行为

● 在开始游戏后协作的行为慢慢增加的用户,会更加稳定地访问游戏

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G1EV7000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券