国际超市电商销售数据分析

分析目的:

本作品将从人、货、场三个维度,即客户维度、产品维度、区域维度(补充时间维度与其他维度)对某国际大型超市的销售情况进行数据分析和可视化报告展示,从而为该超市在弄清用户消费偏好、提升商品利润以及优化店铺陈列等方面,提供营销决策的数据基础,并提出促进销售提升的建议和运营策略方案,促进店铺的销售提升。

资料来源

本次更新主要是对一些没有深挖的点进行深入分析原因。这次没有使用Python进行分析,而是使用Tableau进行数据可视化与探索,真的推荐使用BI工具,
特别是分析维度特别多时,BI工具拥有别的分析工具没有的优势,通过简单的拖拉和计算就可以得出很多没有发现的信息。

数据预处理

!pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple/

在这里插入图片描述

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
filename = '/home/mw/input/store_data9609/SuperStore.xlsx'

data = pd.read_excel(filename,names=[
    "序列ID", 
    "订单ID", 
    "运输模式", 
    "客户ID", 
    "客户名称", 
    "客户细分类型", 
    "城市", 
    "地区", 
    "国家", 
    "邮政编码", 
    "市场", 
    "主地区", 
    "产品ID", 
    "产品类别", 
    "子类别", 
    "产品名称", 
    "售价", 
    "数量", 
    "折扣", 
    "利润", 
    "运费", 
    "订单优先级", 
    "订单日期", 
    "订单月份", 
    "订单月份(num)", 
    "订单年份"])

data.head()

在这里插入图片描述

# 查看数据中是否存在缺失值
data.isnull().sum()

在这里插入图片描述

# 是否存在重复值
data[data.duplicated()].count()

在这里插入图片描述

# 查看数据中的字段大概内容
summary = {
    '运输模式':list(data['运输模式'].unique()),
    '客户细分类型':list(data['客户细分类型'].unique()),
    '国家':[data['国家'].nunique()],
    '主地区':list(data['主地区'].unique()),
    '市场':list(data['市场'].unique()),
    '订单优先级':list(data['订单优先级'].unique()),
    '订单年份':list(data['订单年份'].unique()),
    '产品类别':list(data['产品类别'].unique()),
    '子类别':list(data['子类别'].unique()),
    '折扣':list(data['折扣'].unique()),
    '客户名称':[data['客户名称'].nunique()]
}

df = pd.DataFrame.from_dict(summary,orient='index').T
df = df.fillna('')
df

在这里插入图片描述

# 首先处理折扣字段中的0,0意味着不打折
data['折扣'] = data["折扣"].replace(0.0, 1.0)
data['销售额'] = data["售价"] * data["数量"] * data["折扣"] + data["运费"]

data = data[["订单ID", "运输模式", '客户ID',"客户名称", "客户细分类型", "城市", "地区", "国家", "市场", "主地区", "产品类别", "子类别", "产品名称", "售价", "数量", "折扣", "利润", "运费", "订单优先级", "订单日期", "订单月份", "订单月份(num)", "订单年份",'销售额']]
data.to_csv('data.csv')

客户维度分析

# 分析不同客户类型销售额与利润占比
user_sale = data.groupby('客户细分类型')['销售额'].sum() / data['销售额'].sum()
user_profit = data.groupby('客户细分类型')['利润'].sum() / data['利润'].sum()

plt.figure(figsize=(10,6))

plt.subplot(1,2,1)
user_sale.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('不同客户类型销售额占比')

plt.subplot(1,2,2)
user_profit.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('不同客户类型贡献利润占比')

plt.tight_layout()

在这里插入图片描述

# 分析不同客户类型的主要消费产品(人与货),利润可直接修改为销售额。

Consumer_Category_data = data.loc[data['客户细分类型'] == 'Consumer']
data1 = Consumer_Category_data.groupby('产品类别')['数量'].sum() / Consumer_Category_data['数量'].sum()

Corporate_Category_data = data.loc[data['客户细分类型'] == 'Corporate']
data2 = Corporate_Category_data.groupby('产品类别')['数量'].sum() / Corporate_Category_data['数量'].sum()

Home_Office_Category_data = data.loc[data['客户细分类型'] == 'Home Office']
data3 = Home_Office_Category_data.groupby('产品类别')['数量'].sum() / Home_Office_Category_data['数量'].sum()

plt.figure(figsize=(14,8))

plt.subplot(1,3,1)
data1.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('Consumer客户中不同产品类型销售量占比')

plt.subplot(1,3,2)
data2.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('Corporate客户中不同产品类型销售量占比')

plt.subplot(1,3,3)
data3.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('Home Office客户中不同产品类型销售量占比')

plt.tight_layout()

在这里插入图片描述

# 可知Consumer消费者客户类型的利润贡献度最大,特别是Technology类型产品,深入分析其中子产品贡献力度,得出消费者喜爱的产品。
comsumer_data = data.loc[data['客户细分类型'] == 'Consumer']
comsumer_profit = comsumer_data.groupby('产品类别')['利润'].sum() / comsumer_data['利润'].sum()
comsumer_profit_sub = comsumer_data.groupby('子类别')['利润'].sum() / comsumer_data['利润'].sum()

plt.figure(figsize=(12,5))

plt.subplot(1,2,1)
comsumer_profit.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('消费者不同产品利润额占比')

plt.subplot(1,2,2)
comsumer_profit_sub.sort_values().plot(kind='barh')
plt.title('各子类别利润占总利润的比例')
plt.xlabel('占比')
plt.ylabel('子类别')
plt.tight_layout()
plt.show()

# 可以注意到科技类产品中【phones和copiers】的利润占比最大,两者加起来已经超过30%,而furniture家具类中出现负利润tables。

在这里插入图片描述

# 利用帕累托法则【二八法则】分析主要用户
user_amount = data.groupby('客户名称')['利润'].sum().sort_values(ascending=False).reset_index()
user_amount['amount_cumsum'] = user_amount['利润'].cumsum() # 累计利润
amount_total = user_amount['amount_cumsum'].max()
# 计算百分比
user_amount['percentage'] = user_amount['amount_cumsum'] / amount_total

plt.figure(figsize=(8,6))

plt.plot(user_amount['percentage'])
plt.grid(color='grey', linestyle='--', linewidth=1, alpha=0.6)
plt.title('利润占比')
plt.ylabel('累计比率')

# 可知在795位客户中,前428位提供了80%的利润额
# user_amount.head(430)

# 需要注意的是,其中有66位客户的利润贡献额为负数
user_amount.loc[user_amount['利润'] <= 0]

在这里插入图片描述
在这里插入图片描述

# 人与场,研究负利润客户主要所在市场
user_amount = data.groupby(['客户名称','市场'])['利润'].sum().sort_values(ascending=False).reset_index()
user_amount['amount_cumsum'] = user_amount['利润'].cumsum() # 累计利润
amount_total = user_amount['amount_cumsum'].max()
# 计算百分比
user_amount['percentage'] = user_amount['amount_cumsum'] / amount_total

# 这里可以明显看出,部分客户有多次订单,且不同订单虽在市场可能都不同,即【同一位客户的多张订单,来自不同的市场】
# 但是这里我们不重点关注,我们只需要关注,其中利润小于等于0的那一份订单的下单市场
minus_profit_market = user_amount.loc[user_amount['利润'] <= 0]['市场'].value_counts().sort_values()

ax = minus_profit_market.plot.barh(color='skyblue', edgecolor='black')

for index, value in enumerate(minus_profit_market):
    ax.text(value + 0.5, index, str(value), va='center', ha='left', fontsize=10)

ax.set_title('不同市场中利润小于等于0的次数', fontsize=14)
plt.tight_layout()

在这里插入图片描述

# 研究80%主要利润客户下单所在市场
# plt.plot(user_amount['percentage'])
# plt.grid(color='grey', linestyle='--', linewidth=1, alpha=0.6)
# plt.title('利润占比')
# plt.ylabel('累计比率')

profit_80_user_market_data = user_amount.head(1532)  # 前1532位客户提供了80%的利润
df = profit_80_user_market_data['市场'].value_counts().sort_values()
ax = df.plot.barh()

for index, value in enumerate(df):
    ax.text(value + 0.5, index, str(value), va='center', ha='left', fontsize=10)

ax.set_title('80%主要利润所在下单市场', fontsize=14)
plt.tight_layout()

在这里插入图片描述
综上分析:
1.在三类客户群体中,Consumer类型客户是该超市的主力群体,对利润贡献度最大占据整体利润的51.1%,其次是Corporate企业类型客户,利润占比为30.1%,最后是Home Office政府类型客户。
2.三类客户群体中,Techonology科技类型产品是利润贡献度最高的产品,其中Phones手机和Copiers复印机利润占比最大;Office Supplies办公产品是销售量最高的产品,
3.一共有795位客户,其中前428位提供的80%的利润,值得注意的是其中有66位客户的利润为负数。【80%的客户,主要是哪些群体,20%是那些群体】
4.需要注意的是,同一位客户有多张订单,且下单虽在市场不完全相同。
5.提供了80%利润的客户主要下单市场是【APAC,EU,LATAM,US】。负利润的下单市场主要是【EMEA,Africa,LATAM,US,APAC,EU】

产品维度分析

Image Name

product_sale = data.groupby('产品类别')['销售额'].sum() / data['销售额'].sum()
product_profit = data.groupby('产品类别')['利润'].sum() / data['利润'].sum()
product_quantity = data.groupby('产品类别')['数量'].sum() / data['数量'].sum()

plt.figure(figsize=(13,10))
plt.subplot(1,3,1)
product_sale.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('不同产品类型销售额占比')

plt.subplot(1,3,2)
product_profit.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('不同产品类型利润占比')

plt.subplot(1,3,3)
product_quantity.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('不同产品类型销量占比')

plt.tight_layout()

# 科技类产品利润高但销售额低
# 家具销售额高但利润低

在这里插入图片描述
更新之后使用Tableau进行可视化,真的推荐使用Tableau等BI工具,可视化不仅方便而且面对维度较多时可以很快定位异常发现问题

Image Name

# 具体分析子类别中的具体销售额与利润情况,二八分析

product_sub_sale = data.groupby('子类别')['销售额'].sum().sort_values(ascending=False).reset_index()
product_sub_sale['sale_cumsum'] = product_sub_sale['销售额'].cumsum()    # 累计销售额
sale_total = product_sub_sale['sale_cumsum'].max()
# 计算累计百分比
product_sub_sale['percentage'] = product_sub_sale['sale_cumsum'] / sale_total

product_sub_profit = data.groupby('子类别')['利润'].sum().sort_values(ascending=False).reset_index()
product_sub_profit['profit_cumsum'] = product_sub_profit['利润'].cumsum()    # 累计销售额
profit_total = product_sub_profit['profit_cumsum'].max()
# 计算累计百分比
product_sub_profit['percentage'] = round(product_sub_profit['profit_cumsum'] / profit_total,2)

product_sub_profit

在这里插入图片描述

fig, ax1 = plt.subplots(figsize=(14, 5))

# 首先绘制柱状图,产品利润额
plt.bar(product_sub_profit['子类别'],product_sub_profit['利润'],label='利润额')
ax1.set_xlabel('产品子类别')
ax1.set_ylabel('销售额')
# ax1.tick_params(axis='x')

# 在绘制折线图,利润占比
ax2 = ax1.twinx()
plt.plot(product_sub_profit['子类别'],product_sub_profit['percentage'],label='利润占比',color='skyblue')
ax2.set_ylabel('占比')
plt.tight_layout()

# 标出0.8
ax2.axhline(0.8, color='r', linestyle='--', label='80%边界线')
ax2.legend(loc='best')

在这里插入图片描述

plt.figure(figsize=(10,5))

plt.subplot(1,2,1)
plt.plot(product_sub_sale['percentage'])
plt.grid(color='grey', linestyle='--', linewidth=1, alpha=0.6)
plt.title('不同产品销售额占比')
plt.ylabel('累计比率')

plt.subplot(1,2,2)
plt.plot(product_sub_profit['percentage'])
plt.grid(color='grey', linestyle='--', linewidth=1, alpha=0.6)
plt.title('不同产品利润占比')
plt.ylabel('累计比率')

# 注意这个负利润的产品Tables

在这里插入图片描述

df = pd.read_csv('/home/mw/project/product_data.csv')
df['销售额占比'] = df['销售额'] / df['销售额'].sum() * 100
df['利润占比'] = df['利润'] / df['利润'].sum() * 100
df['销售额占比'] = round(df['销售额占比'],2)
df['利润占比'] = round(df['利润占比'],2)

df.to_csv('df.csv')
from pyecharts import options as opts
from pyecharts.charts import TreeMap

# 数据准备
datas = [
    {"name": "Furniture", "children": [
        {"name": "Bookcases", "value": 4492893.71, "profit": 161944, "profit_ratio": 11.03},
        {"name": "Chairs", "value": 4204346.84, "profit": 140428, "profit_ratio": 9.57},
        {"name": "Furnishings", "value": 1491376.53, "profit": 47006, "profit_ratio": 3.2},
        {"name": "Tables", "value": 2147701.45, "profit": -64106, "profit_ratio": -4.37},
    ]},
    {"name": "Office Supplies", "children": [
        {"name": "Appliances", "value": 3437032.57, "profit": 141666, "profit_ratio": 9.65},
        {"name": "Art", "value": 1600728.79, "profit": 57993, "profit_ratio": 3.95},
        {"name": "Binders", "value": 1753525.55, "profit": 72434, "profit_ratio": 4.94},
        {"name": "Envelopes", "value": 704480.79, "profit": 29584, "profit_ratio": 2.02},
        {"name": "Fasteners", "value": 340920.69, "profit": 11537, "profit_ratio": 0.79},
        {"name": "Labels", "value": 314322.09, "profit": 15037, "profit_ratio": 1.02},
        {"name": "Paper", "value": 1020303.12, "profit": 59235, "profit_ratio": 4.04},
        {"name": "Storage", "value": 3604470.91, "profit": 108500, "profit_ratio": 7.39},
        {"name": "Supplies", "value": 969763.43, "profit": 22588, "profit_ratio": 1.54},
    ]},
    {"name": "Technology", "children": [
        {"name": "Accessories", "value": 3171819.77, "profit": 129626, "profit_ratio": 8.83},
        {"name": "Copiers", "value": 4098233.608, "profit": 258580, "profit_ratio": 17.62},
        {"name": "Machines", "value": 2475067.92, "profit": 58858, "profit_ratio": 4.01},
        {"name": "Phones", "value": 5882897.54, "profit": 216708, "profit_ratio": 14.77},
    ]}
]

# 定义函数为节点添加标签
def add_label(item):
    if "children" in item:
        for child in item["children"]:
            add_label(child)
    else:
        item["name"] += f"\n利润: {item['profit']}\n利润占比: {item['profit_ratio']}%"

for d in datas:
    add_label(d)

# 绘制矩形树图
treemap = (
    TreeMap()
    .add(
        series_name="销售额数据",
        data=datas,
        label_opts=opts.LabelOpts(formatter="{b}"),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="矩形树图 - 销售额和利润"),
    )
)
# 在 Jupyter Notebook 环境下显示
treemap.render_notebook()


具体分析产品Table的负利润原因:从图中可以看出,Table的中位数售价最高为629元,而销量最低仅有3083,同时Table又是耐用品,可以推测Table负利润的原因之一可能是定价策略不当,导致销量较低,同时成本较高,所以出现负利润。

Image Name
综上分析:
1.在【Technology,Ofiice Supplies,Furniture】三类产品类型中,销量最高的是Ofiice Supplies占比60.7%,Technology和Furniture销量几乎相同。但是Technology产品利润最高为66.4万元,占总利润的45.2%【这里需要注意:利润高但销售额低:可能说明产品的定价策略成功,但可能也限制了市场规模,需要平衡市场扩展和利润率。】。
Furniture家具类型产品销售额占比为29.6%,但是利润占比最底仅有19.4%,主要原因:存在Tables这个负利润产品。【销售额高但利润低:可能存在成本过高、定价策略不当或折扣过多的情况,需要优化运营。】
2.总利润为146.8万元,其中【Copiers,Phones,Bookcases ,Appliances,Chairs,Accessories,Storage,Binders】8类子产品提供了80%的利润,可以重点关注这8类产品,增大库存与营销宣传,吸引客户下单;同时适当减少【Envelopes,Supplies,Labels,Fasteners,Tables】等类型产品的陈列与库存比例

区域维度分析

Image Name

market_sale = data.groupby('市场')['销售额'].sum() / data['销售额'].sum()
market_profit = data.groupby('市场')['利润'].sum() / data['利润'].sum()

plt.figure(figsize=(10,8))
plt.subplot(1,2,1)
market_sale.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('不同市场销售额占比')

plt.subplot(1,2,2)
market_profit.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('不同市场利润占比')

# 注意EMEA和LATAM

在这里插入图片描述

# 这个就是简单的groupby分组之后得出的数据
market_data = data.groupby('市场')[['销售额','利润']].sum()
market_data.to_csv('market_data.csv')
df = pd.read_csv('/home/mw/project/market_data.csv')
df['销售额/万元'] = round(df['销售额'] / 10000,2)
df['利润/万元'] = round(df['利润'] / 10000,2)

# 创建分组柱状图
plt.figure(figsize=(10, 6))
ax = sns.barplot(x="市场", y="利润/万元",data=df)

# 添加图形标题和标签
plt.title("各市场地区的利润额", fontsize=16)
plt.xlabel("市场", fontsize=12)
plt.ylabel("利润额/万元", fontsize=12)
plt.ylim(0,60)

for i, value in zip(df['市场'],df['利润/万元']):
    ax.text(i, value + 1, str(value)+'万元', ha='center', va='bottom', fontsize=10)

# 显示图形
plt.show()

在这里插入图片描述

# 创建分组柱状图
plt.figure(figsize=(10, 5))
plt.bar(df['市场'],df['销售额/万元'])

# 添加图形标题和标签
plt.title("各市场地区的销售额", fontsize=16)
plt.xlabel("市场", fontsize=12)
plt.ylabel("销售额", fontsize=12)
plt.ylim(0,1400)

for i, value in zip(df['市场'],df['销售额/万元']):
    plt.text(i, value + 1, str(value)+'万元', ha='center', va='bottom', fontsize=10)

# 显示图形
plt.show()

在这里插入图片描述
分析:根据不同市场子产品利润图可以看出,Tables在APAC,EU,LATAM,US四个市场的利润为负数,可以针对性的减少四个市场的库存。 Phones和Coperis在任何一个市场的利润都不低,可以加大库存与宣传
Image Name

# APAC市场和EU市场的利润额最高,占据总利润的50%,这里研究一下是为什么?哪些产品买的最好
apac_data = data.loc[data['市场'] == 'APAC']
apac_profit = apac_data.groupby(['产品类别'])['利润'].sum() / apac_data['利润'].sum()

eu_data = data.loc[data['市场'] == 'EU']
eu_profit = eu_data.groupby(['产品类别'])['利润'].sum() / eu_data['利润'].sum()

plt.figure(figsize=(12,6))

plt.subplot(1,2,1)
apac_profit.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('APAC市场不同产品类型利润占比')

plt.subplot(1,2,2)
eu_profit.plot.pie(autopct='%1.1f%%', startangle=90)
plt.title('EU市场不同产品类型利润占比')


# 可以看出虽然两个市场的销售额与利润占比都较大,但是主力产品完全不同

在这里插入图片描述

Image Name

# 根据以上图表可以看出,EMEA的利润占比低于销售额占比,这里深入研究一下为什么,是哪里出了问题?
EMEA_data = data.loc[data['市场'] == 'EMEA']
EMEA_sale_sub = EMEA_data.groupby('子类别')['销售额'].sum() / EMEA_data['销售额'].sum()
EMEA_profit_sub = EMEA_data.groupby('子类别')['利润'].sum() / EMEA_data['利润'].sum()

plt.figure(figsize=(13,5))

plt.subplot(1,2,1)
EMEA_sale_sub.sort_values().plot.barh()
plt.title('EMEA市场不同产品子类型销售额占比')

plt.subplot(1,2,2)
EMEA_profit_sub.sort_values().plot.barh()
plt.title('EMEA市场不同产品子类型利润占比')

plt.tight_layout()

# 可以看出在EMEA市场中,Copiers和Bookcases利润贡献最高。值得注意的是phones和storage销售额最高,但是利润却较低。
# 【可能存在成本过高、定价策略不当或折扣过多的情况,需要优化运营】
# Chairs销售额不低,但是却出现了负利润

在这里插入图片描述

Image Name
Image Name

# 研究各个市场的客户数量,下单数量,与购买数量
result1 = data.groupby('市场').agg(
    订单数=('订单ID', 'count'),
    总购买数量=('数量', 'sum'),
).reset_index()

# # 各市场的客户数量(原方法)
# result2 = data.groupby("市场")['客户名称'].value_counts()
# result2.to_csv('market_user_order_time.csv')
# market_user_amount_df = pd.read_csv('market_user_order_time.csv')

# number_list = []
# for i in result1['市场'].values:
#     numbers = market_user_amount_df.loc[market_user_amount_df['市场'] == i]['客户名称']
#     print(f'{i}:',len(numbers))
#     number = len(numbers)
#     number_list.append(number)

# dicts = {'下单客户数':number_list}
# numbers_df = pd.DataFrame(dicts)
# result = pd.concat([result1,numbers_df],axis=1)
# result


# 计算各市场的客户数量
customer_counts = data.groupby('市场')['客户名称'].nunique().reset_index(name='下单客户数')

# 合并结果
result = pd.merge(result1, customer_counts, on='市场')
result

在这里插入图片描述

plt.figure(figsize=(8,6))

# 绘制柱状图
plt.bar(result['市场'],result['订单数'])
plt.ylabel('订单数')
plt.ylim(300,15000)
plt.title('各市场订单数与下单客户数',size=14)

# 次坐标轴
plt.twinx()
plt.plot(result['市场'],result['下单客户数'],marker='*')
plt.ylabel('下单客户数')

在这里插入图片描述

Image Name
综上所述:
一.从销售额上看,在7个市场中,【APAC,EU,US,LATAM】这四个市场的销售额都较高,达到了700万以上,其中APAC市场达到了1100万以上。【Africa,Canada,EMEA】这三个市场销售额较低,特别是Canada,仅有24.47万元。

二.从利润上看,APAC与EU两个市场的利润额最大,分别为43.6万元,37.29万元。值得注意的是,在APAC市场中主要的利润来源是Technology类型产品中的【Copiers和Phones】,而在EU市场中的主力产品为Office Supplies产品【主要原因是:Office Supplies子产品较多,导致单一子产品利润虽然不高,但是总体利润水平却占大头】。针对这两个市场的不同情况,可以制定差异化的策略来进一步提升利润。
APAC:【
1.加强Technology产品的优势
优化产品组合:优先推广高利润的Technology产品,例如高端电子设备或创新性产品。
加强营销投入:加大对Technology产品的宣传力度,利用线上线下结合的方式,提高品牌认知度和市场份额。
精准客户定位:通过数据分析,挖掘购买Technology产品的高价值客户,制定针对性的促销策略。
2.兼顾开发其他类型的优质产品:从图中可以看出,除了Technology产品外,Furniture家具类型产品中,Bookcases和Chairs这两种类型产品的利润同样不低,
可以加大宣传与库存】
EU:【
1.深化Office Supplies产品的主导地位
扩大市场渗透:提供多样化的办公用品套餐,满足不同规模企业的需求。
强化品牌忠诚度:与大客户建立长期合作关系,例如通过订阅式服务提供持续的办公用品供应。
2.创新营销方式
季节性促销:针对办公用品的需求波动(如年初预算开销增加),推出促销活动。
线上线下融合:结合电商平台和实体店资源,为客户提供便捷的采购体验。
3.探索技术与办公用品的结合
推出智能办公用品,如智能文具或创新型办公设备,吸引对科技感兴趣的客户群体,提升产品附加值。】

三.EMEA市场的销售额占比为7.7%,但是利润占比却降低到3.0%,这是什么原因造成的?
通过深入分析发现:
1.EMEA市场销售额占比最高的两类产品Phones和Storage,利润占比却降低了一半,可能存在成本过高,定价策略不当或者折扣过多的问题。
继续向下分析发现,Phones和Storage的订单数量并不低,售价却较低,Phones的售价中位数为167,Storage的为61。利润占比最高的
Copiers售价中位数为291。【这里使用中位数,是因为考虑到都存在极端值影响】。所以可以看出主要原因可能是价格较低,销量上升,
但是可能由于成本较高,所以利润占比反而下降 。

2.存在销售额不低但是利润却为负的产品Chairs,Chairs的销售额为25.2万元,利润为-599元。可能存在成本过高等问题,需要深入分析。

四.加拿大作为全球GDP排行前10的国家,同时国土面积世界第二,作为一个如此具备市场潜力的国家,为什么利润占比只有1.2%?
通过深入分析发现:主要是由于Canada的下单客户数极少只有181人,导致订单数少,同时购买数量仅有833份,所以销售额与利润较低。需要当地部门深入了解分析原因。

时间

year_sale_data = data.groupby('订单年份')['销售额'].sum()
year_profit_data = data.groupby('订单年份')['利润'].sum()

plt.figure(figsize=(10,5))

plt.subplot(1,2,1)
plt.plot(year_sale_data.index,year_sale_data.values / 1000000,linestyle='-',marker='*')
plt.xlabel('年份')
plt.ylabel('销售额/百万元')
plt.xticks([2018, 2019, 2020, 2021])  # 手动指定年份刻度
plt.title('2018-2021年销售额变化趋势')

plt.subplot(1,2,2)
plt.plot(year_profit_data.index,year_profit_data.values / 1000000,linestyle='-',marker='*',color='r')
plt.xlabel('年份')
plt.ylabel('利润/百万元')
plt.xticks([2018, 2019, 2020, 2021])  # 手动指定年份刻度
plt.title('2018-2021年利润变化趋势')

在这里插入图片描述

# 查看各个市场的变化趋势
year_market_data = data.groupby(['订单年份','市场'])['利润'].sum()
year_market_data.to_csv('year_market_data.csv')

df = pd.read_csv('year_market_data.csv')

plt.figure(figsize=(10, 6))
sns.lineplot(data=df, x="订单年份", y="利润", hue="市场", marker="o")

# 设置标题和标签
plt.title("2018-2021年不同市场利润额趋势", fontsize=14)
plt.xlabel("年份", fontsize=12)
plt.ylabel("利润/元", fontsize=12)
plt.xticks([2018, 2019, 2020, 2021])  # 手动指定年份刻度
# 显示图例
plt.legend(title="城市", fontsize=10)


# 可以明显看出2018-2021年各市场利润均呈现上升趋势,其中APAC上升最快,利润最好。Canada上升缓慢,需要研究原因

在这里插入图片描述
该图展示的是2018-2021年的利润和销售额的变动:可以明显看出每年的6,7,8三个月份都存在相同的趋势,即先下降,后上升。
Image Name
异动分析:从下图中我们能明显看出,6,7,8月的销售额与利润异动主要是Phones,Copiers,Chairs,Bookcases等产品造成的。结合6,7,8这三个月份的特殊性,可以得出,主要是由于毕业季和开学季所导致的部分商品销售额变动。

一. 6月份分析
销售和利润特点:1.Phones(手机)和Copiers(复印机)销售额和利润出现显著增长(突出于其他类别)。
2.Bookcases(书柜)和Chairs(椅子)同样有小幅增长。
3.其他类别(如Art、Binders、Fasteners等)则相对平稳。
原因推测:
毕业季需求:1.高中生和大学生毕业后,Phones(通讯设备)需求上涨,用于保持社交联系、拍照留念等。
2.Copiers的需求可能与毕业相关的打印材料、档案整理等相关。
其他可能因素:1.针对毕业季的促销活动(如电商折扣),也会助推销售额增长。

二. 7月份分析
销售和利润特点:1.整体波动趋于平缓,除Phones保持相对稳定外,Copiers、Chairs、Bookcases的销售额和利润有明显下降。
2.某些商品类别(如Binders活页夹,等)甚至出现利润负值。
原因推测:
市场需求调整:1.6月份的需求高峰结束,市场逐步回归正常,尤其是毕业季相关需求减弱。
季中消费低谷:消费者处于毕业季后的观望期,而开学季的需求尚未完全启动。
库存压力:一些产品可能面临促销结束后的利润挤压,导致利润下滑。

三. 8月份分析
销售和利润特点:1.Phones和Copiers再次出现显著增长,且增长幅度更大。Chairs和Bookcases的销售额和利润也明显上升。
2.多数其他商品类别基本保持平稳。
原因推测:
开学季需求:1.Phones需求再次被拉动,可能与大学生开学前的换机潮有关。
2.Chairs和Bookcases的需求与新学期准备有关,例如宿舍家具、学习空间布置。
部分需求延后:7月未完成的开学采购在8月份集中爆发,尤其是家庭和学生消费者群体的补充购买行为。

Image Name

资料来源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值