python每日分析练习:产品季度销售的比较分析

这次我们将关注一家零售公司的季度销售分析。

假设场景

一家零售公司希望分析其过去一年内各季度的销售表现,以便更好地理解其业务趋势,评估不同产品类别的表现,并优化未来的销售策略。

分析目的

理解季度销售趋势:分析公司整体和各产品类别的销售趋势。

评估产品类别表现:确定哪些产品类别表现最佳,哪些需要改进。

优化销售策略:基于分析结果,提出改进销售策略的建议。

分析步骤

数据准备:模拟包含各季度销售额和产品类别信息的数据。

季度销售趋势分析:可视化整体和按产品类别细分的季度销售额。

产品类别表现评估:对比不同产品类别的销售表现。

策略建议:根据分析结果,提出销售策略优化建议。

可视化改进前

初始图表尝试同时展示总销售趋势和各产品类别销售情况,导致图表复杂、难以解读。

第一次可视化改进后

简化图表设计,分别展示总销售趋势和产品类别销售比重,提高了信息的可读性和易懂性。

第一次改进后分析结论

季度趋势:销售额在第四季度显著增长,可能受假日季节影响。

产品类别:产品类别C和B表现优秀,而A类别表现不佳,需进一步分析原因。

策略建议:针对A产品的表现需要进一步做分析


可以看到第一次改进分析不出来每个产品的趋势变化和原因按这个分析结论估计很难得到读者的认可

第二次可视化改进

通过上述堆叠柱状图,我们可以更清晰地看到每个季度总销售额的变化趋势,以及不同产品类别(A、B、C)对总销售额的贡献。这种图表设计使得:

  • 同时观察总销售趋势和各个产品类别的表现变得更加直观。

  • 可以轻松识别哪些产品类别在特定季度内表现较好或需要改进。

  • 支持更加精确的销售策略调整,针对特定产品类别或季度采取行动。

但是这个图表怎么说呢,三个产品变化需要比较详细的看,然后B的颜色比较深好像在告诉读者应该关注B,C的波动看着大,实际是由于在AB的基础上堆叠导致,这个图只能大概看出整体的趋势,堆叠图不是很适用于分析多产品变化

第三次可视化改进

现在图表显示了三个产品类别的销售数据,每个类别占据了图表中的一个部分,并且都清晰地标注了波动原因。图表的布局更紧凑,重点在于一眼看到问题,然后各个产品间不会出现视觉上的重叠,同时把ABC三个产品的销售总额的饼图展示出来,这是两个图拼接的

分析结论

总的看A产品的销售额全年最低需要进一步分析,C产品最高

Category A Sales

        趋势:Category A 在Q1 - Q2展现出销售平稳,这是由于一个成功的营销活动,标注为 "Marketing Boost"。然后在Q3-Q4没有继续营销出现下滑

        结论:营销活动对Category A的销售有积极影响。建议未来继续投资营销和推广。

Category B Sales

        趋势:Category B 在Q3显示出销售额的显著增长,这被归因于 "Increased Demand"。

        结论:需求的增加反映出Category B的市场接受度好,可能是由于产品创新或市场需求的变化。为了支持这一趋势,公司应该关注产品供应和库存管理,确保能满足市场需求。

Category C Sales

        趋势:Category C 在年末出现销售下滑,这被标注为 "End-of-Year Dip"。

        结论:尽管一般认为假日季会带来销售高峰,Category C却遇到了销售下降。这是因为市场竞争加剧或消费者偏好的季节性变化。需要深入分析这一趋势背后的原因,并考虑调整产品定价、促销或者销售策略,以强化假日季销售。

本文的excel数据欢迎 关注公众号 数据分析螺丝钉 回复关键词 python可视化 领取,包含更多免费资料,一起每日学习升级打怪,关注不迷路

最后再对比一下改进前后的 差异

参考代码

# 绘制三个紧凑的子图,每个子图对应一个产品类别的销售趋势,包括Y轴刻度和波动原因的标注# 设置子图的风格和尺寸
sns.set(style="whitegrid")# 创建一个figure和三个subplot,共享x轴
fig, axes = plt.subplots(3, 1, figsize=(12, 8), sharex=True)# 自定义每个产品的颜色
category_colors = {'A': 'skyblue', 'B': 'mediumseagreen', 'C': 'salmon'}# 定义波动原因的标注位置
annotations = {'A': {'Q2': 'Marketing Boost'},'B': {'Q3': 'Increased Demand'},'C': {'Q4': 'End-of-Year Dip'}
}# 生成每个子图
for i, (ax, category) in enumerate(zip(axes, categories)):# 过滤数据category_data = df_retail[df_retail['Category'] == category]# 绘制线图sns.lineplot(ax=ax, data=category_data, x='Quarter', y='Sales', marker='o', label=f"{category} Sales", color=category_colors[category])# 添加标题ax.set_title(f"Category {category} Sales")# 添加Y轴标签ax.set_ylabel("Sales")# 设置Y轴刻度范围和标签ax.set_ylim(category_data['Sales'].min() - 5000, category_data['Sales'].max() + 5000)ax.set_yticks([category_data['Sales'].min(), category_data['Sales'].max()])# 标注波动原因if category in annotations:for quarter, text in annotations[category].items():y_value = category_data[category_data['Quarter'] == quarter]['Sales'].values[0]ax.text(quarter, y_value, text, fontsize=9, ha='center', va='bottom')# 移除网格线ax.grid(False)# 调整布局
plt.tight_layout()
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac 装 虚拟机 vmware、centos7等

vmware: https://www.vmware.com/products/fusion.html centos7 清华镜像: 暂时没有官方的 m1 arm架构镜像 centos7 链接: https://pan.baidu.com/s/1oZw1cLyl6Uo3lAD2_FqfEw?pwdzjt4 提取码: zjt4 复制这段内容后打开百度网盘手机App,操…

C语言例4-7:格式字符f的使用例子

%f&#xff0c;实型&#xff0c;小数部分为6位 代码如下&#xff1a; //格式字符f的使用例子 #include<stdio.h> int main(void) {float f 123.456;double d1, d2;d11111111111111.111111111;d22222222222222.222222222;printf("%f,%12f,%12.2f,%-12.2f,%.2f\n&qu…

服务运营|香港大学雷骁:收益管理中价格歧视的公平性

编者按&#xff1a; INFORMS George B. Dantzig Dissertation Award 用于表彰运筹学和管理科学领域中具有创新性和实用性的最佳毕业设计。香港大学助理教授雷骁题为“Revenue Management in Video Games and With Fairness” 是这一奖项2023年度的提名者之一。 这篇毕业设计重…

github vscode 笔记

目录 前言1. 新建代码库2. 下载代码到本地3. 更新代码并上传到github 前言 github方便多人协作维护代码。该笔记记录了下面三个过程&#xff1a; 在github上新建代码库&#xff0c;下载代码到本地&#xff0c;将更新代码并上传到github 1. 新建代码库 2. 下载代码到本地 链…

中国赛道领跑之争:安踏将耐克越甩越远

一双鞋、一件衣服每被穿一次&#xff0c;消费者就会把它背后的品牌和自身的体验联系起来&#xff0c;做出评判。所以&#xff0c;如果说有什么领域能充分展示国产品牌的发展进步&#xff0c;鞋服一定包含在内&#xff0c;尤其是强调专业性的体育运动市场。 一年前的2023年3月&…

【Python版】手把手带你如何进行Mock测试

什么是mock&#xff1f; mock测试是以可控的方式模拟真实的对象行为。程序员通常创造模拟对象来测试对象本身该具备的行为&#xff0c;很类似汽车设计者使用碰撞测试假人来模拟车辆碰撞中人的动态行为 为什么要使用Mock&#xff1f; 之所以使用mock测试&#xff0c;是因为真…

uniapp微信小程序_computed_计算BMI

一、computed的用法还有它是什么&#xff1f; 首先它叫计算属性&#xff0c;顾名思义他是用来计算属性&#xff0c;计算你在data模板上定义的属性&#xff08;其实在插值表达式也能直接计算但是首先太长了在{{}}里面写那么多不好看&#xff0c;还有其他特点我在下面一起说&…

paramiko,一个强大的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个强大的 Python 库 - paramiko。 Github地址&#xff1a;https://github.com/paramiko/paramiko 在网络编程中&#xff0c;远程操作是一项非常常见的需求&#xff0c;特别是…

[Java基础揉碎]抽象类

目录 通过问题引出 介绍 关键点 细节 ​编辑 抽象类的最佳设计模式--模版设计模式 1.先用最容易想到的方法 2.分析问题&#xff0c;提出使用模板设计模式 通过问题引出 假如我们有个动物类, 动物都有eat吃的方法, 但是具体吃什么, 我们不知道, 因为是什么动物我们不知道…

Camtasia Studio 2024:视频编辑与制作的新里程碑及需要下载吗

Camtasia Studio 2024&#xff1a;视频编辑与制作的新里程碑 在数字化时代&#xff0c;视频已经成为人们获取信息、娱乐和学习的主要方式之一。为了满足这一需求&#xff0c;视频编辑和制作软件也在不断发展和创新。Camtasia Studio 2024作为一款功能强大的视频编辑软件&#…

GIS+Python:地质灾害风险评价的智能化解决方案

地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下&#xff0c;地质灾害在世界范围内频繁发生。我国除滑坡灾害外&#xff0c;还包括崩塌、泥石流、地面沉…

3-Flume之拦截器与GangLia监控

Flume Interceptor 概述 Interceptor(拦截器)本身是Source的子组件之一&#xff0c;可以对数据进行拦截、过滤、替换等操作不同于Selector&#xff0c;一个Source上可以配置多个Interceptor&#xff0c;构成拦截器链。需要注意的是&#xff0c;后一个拦截器不能和前一个拦截…

芒果YOLOv8改进130:Neck篇,即插即用,CCFM重构跨尺度特征融合模块,构建CCFM模块,助力小目标检测涨点

芒果专栏 基于 CCFM 的改进结构,改进源码教程 | 详情如下🥇 💡本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv8改进专栏完整目录链接:👉 芒果YOLOv8深度改进教程 | 🔥 订阅一个…

HarmonyOS 健康系统联系案例 创建项目

上文 HarmonyOS 健康系统联系案例 整体原型图介绍 我们 介绍了健康系统的整体 UI 然后 我们一点一点来 今天先搭个环境 首先 我们打开开发工具首页 创建项目 一个非常令人怀念的步骤啊 我们点击 Create Project 创建一个新的工程 模板 还是选最基础的 Empty Ability 然后 …

Docker系列

目录 练习&#xff1a;去DockerHub搜索并拉取一个Redis镜像 docker下载nacos 练习&#xff1a;去DockerHub搜索并拉取一个Redis镜像 目标&#xff1a; 1&#xff09;去DockerHub搜索Redis镜像 2&#xff09;查看Redis镜像的名称和版本 3&#xff09;利用docker pull命令…

Java异常知识点详解

目录 1. 异常的概念与体系结构 1.1 异常的概念 1. 算术异常 2. 数组越界异常 3. 空指针异常 1.2 异常的体系结构 1.3 异常的分类 2. 异常的处理 2.1 防御式编程 2.2 异常的抛出 2.3 异常声明throws 2.4 try-catch捕获并处理 2.5 finally 2.4 异常的处理流程 3. 自…

Linux基本指令解析二

Linux基本指令解析二 常见指令1.date指令2.find指令3.grep指令4.zip/unzip指令5.tar指令6.bc指令7.uname –r指令 重要的几个热键关机 常见指令 1.date指令 date 指定格式显示时间&#xff1a; date %Y:%m:%d date 用法&#xff1a;date [OPTION]... [FORMAT] 1.在显示方面…

【Docker】Docker安全与最佳实践:保护你的容器化应用程序

欢迎来到英杰社区&#xff1a; https://bbs.csdn.net/topics/617804998 欢迎来到阿Q社区&#xff1a; https://bbs.csdn.net/topics/617897397 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff…

PostgreSQL数据库中表的物理大小, 妙懂

数据库中表的物理大小 这是一个很有意思的话题。尤其是在我们做物理设计和空间大小评估的时候。 PostgreSQL中对于稍长一点的列&#xff0c;直接使用了TOAST表来存储&#xff0c;默认是会对表中的数据进行压缩的。关于TOAST, 以后或有时间专门做简单介绍。 先看看相关函数的定…

javaWeb学生宿舍管理系统

一、摘要 本博客介绍了如何使用Spring Boot和MySQL构建一个功能完善的JavaWeb学生宿舍管理系统。该系统分为三个角色&#xff1a;管理员、宿管和学生。管理员拥有对整个系统的全面管理权限&#xff0c;包括学生管理、宿舍管理、入住管理和管理员管理&#xff1b;宿管负责宿舍的…