当前位置: 首页 > news >正文

电商双 11 美妆数据分析总结(补充)

数据分析与可视化

借助matplotlibseaborn库,将数据转化为直观图表,揭示业务规律:

 店铺表现对比

python

运行

import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei']  # 支持中文显示
plt.figure(figsize=(12, 10))# 子图1:各店铺商品数量
plt.subplot(2, 2, 1)
data['店名'].value_counts().sort_values().plot.bar()
plt.title('各品牌商品数')# 子图2:各店铺总销量
plt.subplot(2, 2, 2)
data.groupby('店名').sale_count.sum().sort_values().plot.bar()
plt.title('各品牌总销量')# 子图3:各店铺总销售额
plt.subplot(2, 2, 3)
data.groupby('店名')['销售额'].sum().sort_values().plot.bar()
plt.title('各品牌总销售额')# 子图4:各店铺平均单价
plt.subplot(2, 2, 4)
avg_price = data.groupby('店名')['销售额'].sum() / data.groupby('店名').sale_count.sum()
avg_price.sort_values().plot.bar()
plt.title('各品牌平均每单单价')plt.tight_layout()  # 自动调整子图间距

洞察:通过四幅条形图,可直观对比不同店铺的 “商品丰富度”“市场渗透率(销量)”“营收能力(销售额)” 和 “定价策略(平均单价)”,快速定位头部店铺和短板店铺。

 价格区间与销售额关联

python

运行

# 划分价格区间(A:0-100元,B:100-200元,C:200-300元,D:300元以上)
A = avg_price[(avg_price <= 100) & (avg_price > 0)].index
B = avg_price[(avg_price <= 200) & (avg_price > 100)].index
C = avg_price[(avg_price <= 300) & (avg_price > 200)].index
D = avg_price[avg_price > 300].indexplt.figure(figsize=(16, 8))
# 子图1:各区间品牌销售额占比(饼图)
plt.subplot(1, 2, 1)
sum_sale_byprice = sum_sale[A].append(sum_sale[B]).append(sum_sale[C]).append(sum_sale[D])
plt.pie(sum_sale_byprice, labels=sum_sale_byprice.index, colors=['grey']*len(A)+['g']*len(B)+['y']*len(C)+['m']*len(D),autopct='%0f%%')# 子图2:各区间平均店铺销售额(条形图)
plt.subplot(1, 2, 2)
plt.bar('0-100元', np.mean(sum_sale[A]), color='grey')
plt.bar('100-200元', np.mean(sum_sale[B]), color='g')
plt.bar('200-300元', np.mean(sum_sale[C]), color='y')
plt.bar('300元以上', np.mean(sum_sale[D]), color='m')
plt.title('不同价格区间的平均店铺销售额')

洞察:通过饼图和条形图结合,可判断 “高价商品是否更赚钱”“哪个价格区间的市场容量最大” 等问题,为定价和选品提供依据。

商品类别销售分布

python

运行

plt.figure(figsize=(12, 12))
# 大类销量占比(饼图)
plt.subplot(2, 2, 1)
data.groupby('main_type').sale_count.sum().plot.pie(autopct='%0f%%', title='各大类销量占比')# 大类销售额占比(饼图)
plt.subplot(2, 2, 2)
data.groupby('main_type')['销售额'].sum().plot.pie(autopct='%0f%%', title='各大类销售额占比')# 小类销量占比(饼图)
plt.subplot(2, 2, 3)
data.groupby('sub_type').sale_count.sum().plot.pie(autopct='%0f%%', title='各小类销量占比')# 小类销售额占比(饼图)
plt.subplot(2, 2, 4)
data.groupby('sub_type')['销售额'].sum().plot.pie(autopct='%0f%%', title='各小类销售额占比')

洞察:对比 “销量占比” 和 “销售额占比”,可发现 “高销量不一定高营收”(如低价商品可能销量大但利润低),帮助识别 “高价值类别”(如销量中等但单价高的精华类)。

男士专用商品销售分析

 品类与品牌表现
通过代码筛选男士专用商品并可视化分析:
python
male_data = data1.loc[data['是否男士专用'] == '是']
plt.figure(figsize = (12,8))
sns.barplot(x = '店名', y = 'sale_count', hue = 'main_type', estimator=np.sum, data = male_data, ci = 0)

核心发现:
- 男士专用护肤品销量前三名品牌:妮维雅、欧莱雅、相宜本草
- 男士商品销量主要集中在护肤品品类
- 男士化妆品数据中,几乎都是唇膏类产品(因分类规则将唇膏归于化妆品类的口红类)


品牌市场份额
对比各品牌男士专用商品的销量与销售额:
python
plt.figure(figsize = (16,12))
# 男士专用商品销量分析
plt.subplot(2,2,1)
male_data.groupby('店名').sale_count.sum().sort_values(ascending = True).plot.bar()
# 男士专用商品销售额分析
plt.subplot(2,2,2)
male_data.groupby('店名')['销售额'].sum().sort_values(ascending = True).plot.bar()

关键结论:
- 欧莱雅和妮维雅占据男士专用商品的绝大部分市场(销量和销售额双领先)
- 妮维雅主打男士专用商品,在非男士市场表现较差
- 相宜本草在男士市场排名第三,但与前两名差距较大,其优势主要在非男士市场


非男士专用商品销售对比

通过对比分析非男士专用商品数据:
python
fmale_data = data1.loc[data['是否男士专用'] == '否']
# 非男士专用商品销量与销售额可视化

主要发现:
- 欧莱雅在非男士市场销售额名列前茅(尽管销量表现一般)
- 相宜本草在非男士市场表现遥遥领先
- 品牌在男女细分市场的表现存在显著差异,反映出不同的品牌定位


时间维度销售趋势分析

每日销量与销售额变化
python
from datetime import datetime 
# 时间格式转换与可视化
sale_day.index = [datetime.strptime(i, '%Y/%m/%d') for i in sale_day.index]

趋势特点:
- 销量与销售额走势高度一致(正相关关系)
- 11月9日达到销售峰值,11月11日(双11当天)降至最低
- 11月10日前趋势稳定,11日急剧下降,之后缓慢回升


双11销售异常原因分析
- 双11当天销量下滑可能源于用户对平台卡顿的担忧,选择提前购买
- 9日销量峰值与双11预热、预售活动相关
- 11日后增长可能与店铺持续优惠(如满减券)刺激二次消费有关


评论数据洞察

评论数与销量关系
python
# 各店铺总评论数与评论效率分析
plt.subplot(1,2,1)
data.groupby('店名').comment_count.sum().sort_values().plot.bar()
plt.subplot(1,2,2)
(data1.groupby('店名').sale_count.sum()/data1.groupby('店名').comment_count.sum()).sort_values().plot.bar()
```

关键发现:
- 悦诗风吟评论数远高于其他品牌(与其商品数量第一相匹配)
- 相宜本草销量高但评论数相对较低
- 评论效率指标(平均多少单一条评论)显示:
- 相宜本草和蜜丝佛陀该指标最高(约28单/条评论)
- 多数品牌在5-10单/条评论区间
- 高指标品牌可能存在刷单嫌疑(需结合好评率等数据进一步验证)


http://www.dtcms.com/a/331377.html

相关文章:

  • 入门概述(面试常问)
  • 中久数创——笔试题
  • Android构建工具版本兼容性对照表
  • Git 中切换到指定 tag
  • 会议系统核心流程详解:创建、加入与消息交互
  • 卫星通信链路预算之七:上行载噪比计算
  • MySQL-dble分库分表方案
  • 【最新版】怎么下载mysqlclient并成功安装?
  • 物化视图优先迁移大表,缩短逻辑迁移时间
  • MySql——binlog和redolog的区别
  • uniapp开发动态添加密码验证
  • Go语言全面解析:从入门到精通
  • C/C++ 指针与内存操作详解——从一级指针到字符串转换函数的完整解析
  • 拒绝“孤岛式”作战,全方位构筑隧道应急通信解决方案
  • Java 学习笔记(基础篇2)
  • 13、C 语言结构体尺寸知识点总结
  • LeetCode 刷题【41. 缺失的第一个正数】
  • 【力扣322】零钱兑换
  • 非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana
  • GraphRAG查询(Query)流程实现原理分析
  • NetLimiter:精准掌控网络流量,优化网络体验
  • 《中国人工智能安全承诺框架》发布
  • arthas火焰图怎么看
  • 搭建 Docker 私有仓库
  • 前端css学习笔记5:列表表格背景样式设置
  • 【Golang】Golang内存泄漏问题排查(二)
  • 服务器路由相关配置Linux和Windows
  • Android POS应用在android运行常见问题及解决方案
  • 当消息队列遇上AI:飞算JavaAI实现智能流量调度与故障自愈实践
  • 在 Windows 系统中解决 Git 推送时出现的 Permission denied (publickey) 错误,请按照以下详细步骤操作: