数据分析实战书中所有案例分析均是使用R语言实现,由于目前正在学习Python语言,故触生尝试使用Python实现书中案例的想法。
案例一 为什么销售额会减少
现状和预期
本书中,我们假设某个社交游戏公司有一款叫作《黑猫拼图》的游戏。这个游戏的销售额之前一直保存稳定的增长,而这个月却下降了。无论是从市场 环境还 是从游戏本身的状态来看,这个游戏的销售额都还有继续增长的空间,因此销售额下降就成了该游戏公司的一个大问题。
现状 :同上月相比销售额下降了
预期 :销售额恢复到同上月一样的水平
发现问题:
为了明确现状和预期之间的差距具体表现在哪里,我们需要知道本月和上月相比有哪些地方不同。通过整体运营流程情况,做分析假设如下:
1. 在商业宣传上存在问题
2. 每月以不同的主题开展的游戏活动存在问题
通过咨询市场部及开发部,做简单的验证,发现:
由于预算的缘故,和上月相比,本月并没有开展那么多的商业宣传活动
游戏活动的内容和上月相比几乎没有变动
那么,导致销售额下降的原因很可能是第一条假设。由于宣传活动减少,导致新用户减少。为此,进行下一步深入的数据分析,找出原因,并提出解决措施。
数据收集与加工
通过简单的假设验证后发现可能因宣传活动减少,造成新用户减少,销售额减少。为此,需要通过实际数据来做进一步分析验证。
完成验证所需要的数据:
DAU(Daily Active User,每天至少来访 1 次的用户数据)
DPU(Daily Payment User,每天至少消费 1 日元的用户数据)
Install(记录每个用户首次玩这个游戏的时间的数据)
导入相应模块及文件
查看文件信息及是否存在缺失值
加工分析所需的数据(前期处理)
1.把用户信息数据(DAU)和首次使用的日期数据(Install)相结合
为了得到某一天首次玩《黑猫拼图》游戏的人数,我们需要将用户ID 作为 key,把具有相同用户 ID 的用户信息和 Install 数据结合起来。
2. 将上述数据再与消费信息数据(DPU)相结合
为了得到在某一天有消费行为的用户数量,把用户 ID 和消费日期作为 key,将 DAU 和 DPU 的数据结合起来。
因为表头顺序较乱,且payment列存在缺失值(此处的缺失值是由于无消费记录导致的),所以稍微对表格进行重新排序,并将缺失值用 0 代替。
日期格式处理
由于表格中两个日期列均为字符串格式,因此需要进行格式转换,然后增加log_month、install_month列。
新增用户属性
通过注册月份与登录月份比对,是否为当月新增用户,添加到新的列‘user_type’。
筛选有消费行为的用户信息
按月份进行数据统计分析
对比本月与上月的已有用户和新用户消费额
新增用户的消费数据分析
观察哪个消费层次用户流失较为严重
消费层次分组
数据可视化
1.绘制新老用户月销售额对比图
从图中来看,已有用户带来的销售额几乎没有变化,而新用户带来的销售额却下降了,由此导致本月销售额整体下降。也就是说,我们在初步分析中得到的结果很顺利地验证了之前提出的假设。
2.新用户月消费情况
在上图中,数据以柱状图的形式表示了出来。我们可以看出,和上月(2013 年 6 月)相比,本月(2013 年 7 月)消费额在 2000 日元以下的用户数量减少了。
解决对策
根据此前数据分析的结果,我们可以知道:
1、《黑猫拼图》游戏的销售额和上月相比减少了 (事实)
2、 通过观察销售额数据的构成,发现新用户带来的销售额减少了,其中消费额在 2000 日元以下的轻度消费用户的人数减少所造成的影响最大 (事实)
3、 将商业宣传活动恢复到与上月相同的水平 (确信度较高的解决方案)
基于上述结果,我们可以采取下面的解决对策来提升销售额。
新用户中的消费用户数量减少了,特别是消费金额较少的小额消费用户数量减少了。因此,公司需要再次开展商业宣传活动并恢复到之前的水平,这样才有可能提升潜在用户对公司产品的认知度,增加新的用户。这样一来,才会增加小额消费用户的数量,将销售额恢复到与上月相同的水平。