一、前言
A市客户有意加盟380开设连锁门店,请根据A市已有销售点的销售数据分析,给予该客户铺货支持和经营策略建议。通过对部门的运营情况、财务状况、物流管理等不同维度的分析,评估该部门健康状况和发展趋势,指导平台发现问题并进行优化。
二、任务分析
- 分析销售数据基本信息。
- 比较CBD店和社区店,确定新店铺的选址。
- 比较各商品确定新销售店的主要铺货产品。
- 分析销售数据的季节性特点,安排店员休假或培训时间以及订货量。
- 分析社区店有哪些季节性很强的产品。
三、完整代码实现
(一)预处理供应链商品销售数据
1. 导入相关库及读入数据
导入pandas、numpy、seaborn、matplotlib等库,并用pandas读入Excel文件,保存备份数据。
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')
plt.style.use('ggplot') # 设置plt绘图风格
plt.rcParams['font.family'] = 'SimHei' # 设置字体
data = pd.read_excel('供应链商品销售数据.xlsx', skiprows=1, usecols='B:E')
# 数据备份
data_copy = data.copy(deep=False)
2. 添加季度列
构造月份对应季度的字典,然后将数据中月份转化为季度并存入源数据。
# 增加季度列
data_month = {
'January': '第一季度', 'February': '第一季度', 'March': '第一季度',
'April': '第二季度', 'May': '第二季度', 'June': '第二季度',
'July': '第三季度', 'August': '第三季度', 'September': '第三季度',
'October': '第四季度', 'November': '第四季度', 'December': '第四季度'}
data_copy['销售季度'] = data_copy['销售月份'].map(data_month)
# 前五行数据
data_copy.head()
3. 缺失值检测
用Dataframe的isnull()方法检测缺失值,结果显示为无缺失值。
# 缺失值检测
data.isnull().sum()
4. 数据集信息描述
用Dataframe的describe()方法获得销售额的特征信息,Dataframe.info()查看数据集各列的相关信息。
# 数据集基本描述信息
data_copy.describe().T
# 数据集信息
data_copy.info()
(二)分析新开拓销售点选址
1. 绘制CBD店及社区店销售点数量柱状图
对销售店址进行汇总,发现CBD店有680家,社区店有646家。
data_address = data_copy['销售点类型'].value_counts()
data_address
plt.bar(data_address.index, data_address.values, width=0.3)
plt.xlabel('选址')
plt.ylabel('数量')
plt.title('新开拓销售点的选址情况')
for i, j in zip(data_address.index, data_address.values):
plt.text(i