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

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

场景描述


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

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

经了解发现

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

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


数据描述


DAU(Daily Active User)

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

字段 类型 含义
log_date str 访问时间
app_name str 应用名
user_id numpy.int64 用户 ID
DPU(Daily Payment User)

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

字段 类型 含义
log_date str 访问时间
app_name str 应用名
user_id numpy.int64 用户 ID
payment numpy.int64 消费金额
Install

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

字段 类型 含义
install_date str 首次登录时间
app_name str 应用名
user_id numpy.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()
复制代码

image.png

显示 DPU 数据集前五行。

DPU_data.head()
复制代码

image.png

显示 Install 数据集前五行。

install_data.head()
复制代码

image.png


数据合并

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

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

image.png

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

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

image.png


数据处理

payment 列中的空值填充为 0。

all_data['payment'] = all_data['payment'].fillna('0')
all_data
复制代码

image.png

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()
复制代码

image.png


新老用户划分

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

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

image.png

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

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

image.png

image.png

可以看到 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()
复制代码

image.png

image.png

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

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


结论


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



相关文章
|
22天前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
67 5
|
1月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
112 0
|
1月前
|
SQL 数据采集 数据可视化
深入 Python 数据分析:高级技术与实战应用
本文系统地介绍了Python在高级数据分析中的应用,涵盖数据读取、预处理、探索及可视化等关键环节,并详细展示了聚类分析、PCA、时间序列分析等高级技术。通过实际案例,帮助读者掌握解决复杂问题的方法,提升数据分析技能。使用pandas、matplotlib、seaborn及sklearn等库,提供了丰富的代码示例,便于实践操作。
161 64
|
11天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
2月前
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
96 1
|
2月前
|
数据挖掘 Python
Pandas实战(3):电商购物用户行为数据分析
Pandas实战(3):电商购物用户行为数据分析
114 1
|
2月前
|
数据挖掘 Python
Pandas实战(2):电商购物用户行为数据分析
Pandas实战(2):电商购物用户行为数据分析
62 1
|
1月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
91 0
|
2月前
|
数据挖掘 Python
Pandas数据分析实战(2):2023美国财富1000强公司情况
Pandas数据分析实战(2):2023美国财富1000强公司情况
44 0
|
2月前
|
数据采集 数据挖掘 Python
Pandas数据分析实战(1):2023美国财富1000强公司情况
Pandas数据分析实战(1):2023美国财富1000强公司情况
48 0
下一篇
无影云桌面