案例1:零售会员数据分析
学习目标
- 能够使用pandas、seaborn进行数据分析和可视化
1. 零售会员数据分析案例
1.1 案例业务介绍
案例背景:
1)某女鞋连锁零售企业,当前业务以线下门店为主,线上销售为辅
2)通过对会员的注册数据以及消费数据的分析,监控会员运营情况,为后续会员运营提供决策依据
3)会员等级说明
- 白银:注册(0)
- 黄金:下单(1~3888)
- 铂金: 3888~6888
- 钻石:6888以上
分析需求:
1)描述性数据分析
2)使用业务数据,分析出会员运营的基本情况
数据集说明:
1)会员信息查询.xlsx
2)会员消费报表.xlsx
3)门店信息表.xlsx
4)全国销售订单数量表.xlsx
分析会员运营的基本情况:
1)从量的角度分析会员运营情况
- 整体会员运营情况(存量,月增量,不同等级占比)
- 不同渠道(线上,线下)的会员运营情况
- 线下业务,拆解到不同的地区、门店会员运营情况
2)从质的角度分析会员运营情况
- 会销比
- 连带率
- 复购率
1.2 会员存量、增量分析
每月存量、增量是最基本的指标,通过会员数量考察会员运营情况
1)用到的数据:会员信息查询.xlsx
,加载 会员信息查询.xlsx
数据
member_df = pd.read_excel('./data/会员信息查询.xlsx', engine='openpyxl')
member_df.info()
# 会员信息查询
member_df.head()
2)需要按月统计注册的会员数量,注册时间原始数据需要处理成年-月
的形式
from datetime import datetime
member_df['注册年月'] = member_df['注册时间'].apply(lambda x: datetime.strftime(x, '%Y-%m'))
member_df.head()
3)按注册年月统计会员增量
分组聚合实现:
month_count = member_df.groupby('注册年月')[['会员卡号']].count()
month_count.head()
# 修改列标签
month_count.columns = ['月增量']
month_count.head()
透视表实现:
- index:行索引,传入原始数据的列名
- columns:列索引,传入原始数据的列名
- values: 要做聚合操作的列名
- aggfunc:聚合函数
month_count = member_df.pivot_table(index='注册年月', values='会员卡号', aggfunc='count')
month_count.head()
# 修改列标签
month_count.columns = ['月增量']
month_count.head()
4)在月增量数据的基础上统计月存量
# 通过 cumsum 对月增量做累积求和
month_count['存量'] = month_count['月增量'].cumsum()
month_count
5)从结果中剔除 2017-08
月份的数据
month_count = month_count[1:]
month_count.head()
6)对上面的统计结果进行可视化
%matplotlib inline
import matplotlib.pyplot as plt
# Mac 操作系统设置字体
# plt.rcParams['font.sans-serif'] = 'Arial Unicode MS'
# Win 操作系统设置字体
plt.rcParams['font.sans-serif'] = 'SimHei'
# 将月增量绘制折线图
month_count['月增量'].plot(figsize=(20, 8), color='r', secondary_y=True)
# 将存量绘制柱状图
month_count['存量'].plot.bar(color='gray', xlabel='年月', ylabel='存量', legend=True)
# 设置图形标题
plt.title('会员存量增量分析', fontsize=20)
1.3 增量等级分布
会员增量存量不能真实反映会员运营的质量,需要对会员的增量存量数据做进一步拆解
从哪些维度来拆解?
1)从指标构成来拆解
- 会员 = 白银会员+黄金会员+铂金会员+钻石会员
2)从业务流程来拆解
- 当前案例,业务分线上、线下,又可以进一步拆解:按大区,按门店
会员等级分布分析的目的和要分析的指标:
1)会员按照等级拆解分为
- 白银: 注册(0)
- 黄金: 下单(1~3888)
- 铂金: 3888~6888
- 钻石: 6888以上
2)由于会员等级跟消费金额挂钩,所以会员等级分布分析可以说明会员的质量
具体实现:
1)按照注册年月和会员等级,统计会员增量
分组聚合实现: