数据分析实战 | 探寻销售额下降的原因

大家好,我是丁小杰。

本文案例的来源为《数据分析实战》一书,书中使用的是 R 语言,接下来一段时间,我会用 Python + Tableau 尽可能的将案例复现出来,以供大家学习。

场景描述

某公司经营的一款 APP 小游戏,每月销售额稳定上涨,但是在 7 月却突然下降,无论从市场环境或是游戏本身的环境来看,这个游戏的销售额都还有继续增长的空间
,影响该游戏销售额的主要影响因素可能有两点:

  • 游戏活动上新
  • 商业宣传力度更改

经了解发现

  • 游戏活动与上月活动并无较大改变
  • 由于预算紧缺,宣传力度有所下降

接下来我们会根据数据分析来证实上述结论,并提出恢复销售额的方法。

数据描述

DAU(Daily Active User)

每天至少来访 1 次的用户数据,139112 行。

字段类型含义
log_datestr访问时间
app_namestr应用名
user_idnumpy.int64用户 ID
DPU(Daily Payment User)

每天至少消费 1 日元的用户数据(0.056 元),884 行。

字段类型含义
log_datestr访问时间
app_namestr应用名
user_idnumpy.int64用户 ID
paymentnumpy.int64消费金额
Install

记录每个用户首次登录游戏的时间,29329 行。

字段类型含义
install_datestr首次登录时间
app_namestr应用名
user_idnumpy.int64用户 ID

数据分析

数据读取

读取三个数据集。

import pandas as pd

DAU_data = pd.read_csv('DAU.csv')
DPU_data = pd.read_csv('DPU.csv')
install_data = pd.read_csv('install.csv')

显示 DAU 数据集前五行。

DAU_data.head()

显示 DPU 数据集前五行。

DPU_data.head()

显示 Install 数据集前五行。

install_data.head()

数据合并

将每日活跃用户数据 DAU 与用户首次登录数据 Install 进行合并,将 user_id
app_name 作为参照 key。这样就可以得到用户的首次登录时间。

all_data = pd.merge(DAU_data,
                    install_data,
                    on=['user_id', 'app_name'])
all_data.head()

得到用户首次登录时间后,再与每日消费用户数据 DPU 进行合并,使用左连接的方式,保留 all_data 中的所有数据,缺失值默认为 NaN

all_data = pd.merge(all_data,
                    DPU_data,
                    on=['log_date', 'app_name', 'user_id'],
                    how='left')
all_data.head()

数据处理

payment 列中的空值填充为 0。

all_data['payment'] = all_data['payment'].fillna('0')
all_data

payment 列的单位转换为元,log_dateinstall_date 都只保留月份即可。

all_data['payment'] = all_data['payment'].astype(float)
all_data['payment'] = all_data['payment'] * 0.056
all_data['log_date'] = pd.to_datetime(all_data['log_date']).map(lambda x : x.strftime("%m")[1] + '月')
all_data['install_date'] = pd.to_datetime(all_data['install_date']).map(lambda x : x.strftime("%m")[1] + '月')
all_data.head()

新老用户划分

登录月份 > 首次登录月份 的用户定义为老用户,其他则定义为新用户。

all_data['user'] = all_data['log_date'] > all_data['install_date']
all_data['user'] = all_data['user'].map({False: '新用户', True: '老用户'})
all_data.head()

按照 log_date, user 分组对 payment 求和,统计各月新老用户的带来的销售额。

user_category = all_data.groupby(['log_date', 'user'])['payment'].sum().reset_index()
user_category.head()


可以看到 6 月和 7 月的老用户带来的销售额基本相同,但 7 月新用户带来的销售额明显少于 6 月。

将销售额划分区域,看看哪个层次的用户消费在减少。

import numpy as np

sale_df = all_data.loc[all_data['payment'] > 0, ['log_date', 'payment']].copy()
bins = list(range(0, 101, 30)) + [np.inf]
labels = [str(n) + '-' + str(n + 30) for n in bins[:-2]] + ['>90']
sale_df['payment_cut'] = sale_df['payment'].apply(lambda x : pd.cut([x], bins=bins, labels=labels)[0])
sale_df.head()


根据上面柱状图可以看出,和 6 月相比,7 月消费额在 60 元以下的用户数量减少了一部分。

到此我们就可以得到一些结论。

结论

新用户中的产生消费的用户发生了减少,特别是消费金额较少的小额消费用户。因此,公司需要再次开展商业宣传活动并恢复到之前的水平,这样才有可能提升潜在用户对公司产品的认知度,增加新的用户。

案例参考

[1]《数据分析实战》 [日] 酒卷隆志 里洋平/著 肖峰/译


对于刚入门 Python 或是想要入门 Python 的小伙伴,可以通过下方小卡片联系作者,一起交流学习,都是从新手走过来的,有时候一个简单的问题卡很久,但可能别人的一点拨就会恍然大悟,由衷的希望大家能够共同进步。另有整理的近千套简历模板,几百册电子书等你来领取哦!

👇🏻 关注小卡片,回复“交流群”,一起学习Python👇🏻
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Python数据分析实战是一个将Python应用于实际数据分析项目的过程。通过使用Python编程语言和相关工具,可以对数据进行读取、处理、计算、分析建模和可视化,从而得出有价值的结论。 在Python数据分析实战中,你将面临很多问题需要解决。这些问题可能包括数据的清洗和整理,选择合适的统计方法和模型,以及数据可视化等。根据引用和引用的内容,我们可以了解到Python数据分析的流程主要包括读写、处理计算、分析建模和可视化四个部分,每个部分都会使用不同的Python工具。 在数据分析的过程中,你可以使用Python中的各种库和工具来完成不同的任务。比如,你可以使用pandas库来读取和处理数据,使用NumPy库进行数值计算,使用matplotlib或seaborn库进行数据可视化,使用scikit-learn进行机器学习建模等。这些工具可以帮助你高效地进行数据分析,并且可以根据具体的项目需求进行灵活的选择和应用。 在实战中,你可以选择一个具体的数据集或者项目进行分析。例如,你可以分析销售数据,了解销售趋势和关键因素;你可以分析用户行为数据,找出用户喜好和购买偏好;你还可以分析社交媒体数据,了解用户的情感倾向和话题热度等。通过对这些数据的分析,你可以为业务决策提供有力的支持和建议。 总结来说,Python数据分析实战是一个使用Python进行实际数据分析项目的过程。通过合理选择和应用Python工具和库,你可以解决数据分析中的各种问题,并得出有价值的结论。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream丶Killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值