第四届“泰迪杯”数据分析技能赛-赛题A:《通讯产品销售和盈利能力分析》报告
通讯产品销售和盈利能力分析
此报告是去年比赛的时候写的,代码上如果有不足的地方还望大家多多包涵~
赛题A二等奖报告
目录
通讯产品销售和盈利能力分析
一、 背景
二、 目标
三、 任务
任务 1
数据分析与预测
任务 1.1
实现思路:
实现代码:
任务 1.2
实现思路:
实现代码:
任务 1.3
实现思路:
实现代码:
任务 1.4
实现思路:
任务 2 可视化展示和撰写分析报告
任务 2.1
实现思路:
任务 2.2
任务 2.3
实现思路:
任务 2.4
实现思路:
任务 2.5
实现思路:
任务 2.6
结论:
一、 背景
进入本世纪以来,我国通讯产品得到了飞速发展,其技术先进,价格便宜,深受世界各国和地区尤其是非洲国家的欢迎。某通讯公司在非洲的多个国家深耕多年,产品与服务遍布整个非洲大陆。为了更好地了解公司的销售情况,采用产品的销售额和利润数据,对其盈利能力进行分析和预测,给决策人员提供分析报告,以便为非洲各国提供更好的产品销售策略和服务。
二、 目标
- 1. 统计产品在当地的销售数据,预测未来的销售情况。
- 2. 设计可视化数字大屏,展示产品的销售情况,分析产品的盈利能力。
三、 任务
任务 1
数据分析与预测
任务 1.1
- 统计各个年度/季度中,地区、国家、服务分类的销售额和利润数据,并计算各国、各服务分类销售额和利润的同比增长率。
实现思路:
- 首先将文件加载,然后新增记录年份月季度,并使用数据透视表,将年份、地区、国家、服务分类等字段作为行标,将要进行计算的字段:销售额、利润字段作为值,并对值进行求和运算,将处理好的数据保存为 excel 文件。 加载处理好的季度与年度销售额利润统计文件,按年份与服务分类进行分组,并使用agg 聚合函数对销售额与利润列进行求和。并自定义一个函数来计算出销售额与利润的同比增长率。将处理好的数据保存
实现代码:
def task1_1():df = pd.read_excel('../非洲通讯产品销售数据.xlsx')df = pd.DataFrame(df)df['日期'] = pd.to_datetime(df['日期'])df['年份'] = df['日期'].dt.yeardf['季度'] = df['日期'].dt.quarteryear_annual = pd.pivot_table(df, index=['年份', '地区', '国家', '服务分类'], values=['销售额', '利润'],aggfunc='sum').reset_index()quarter_annual = pd.pivot_table(df, index=['年份', '季度', '地区', '国家', '服务分类'], values=['销售额', '利润'],aggfunc='sum').reset_index()print(year_annual)print(quarter_annual)year_annual.to_excel('各年度销售额与利润统计.xlsx', index=False)quarter_annual.to_excel('各季度销售额与利润统计.xlsx', index=False)# task1_1()def tongbi(data):data['tongbi_shu'] = data.销售额.diff()data['tongbi_shu1'] = data.利润.diff()data.fillna(0, inplace=True)data['销售额同比增长率'] = data['tongbi_shu'] / (data['销售额'] - data['tongbi_shu'])data['利润同比增长率'] = data['tongbi_shu1'] / (data['利润'] - data['tongbi_shu1'])return data# ,并计算各国、各服务分类销售额和利润的同比增长率。
def task1_1_sub():df = pd.read_excel('各季度销售额与利润统计.xlsx')df1 = pd.read_excel('各年度销售额与利润统计.xlsx')df1.drop(columns=['服务分类'], inplace=True)df1 = df1.groupby(['年份', '国家']).agg({'销售额': 'sum', '利润': 'sum'}).reset_index()df1 = df1.groupby(['国家']).apply(tongbi)df1.to_excel('各国家同比增长率.xlsx', index=False)df2 = df.groupby(['年份', '服务分类']).agg({'销售额': 'sum', '利润': 'sum'}).reset_index()df2 = df.groupby(['服务分类']).apply(tongbi)df2.to_excel('各服务分类同比增长率.xlsx', index=False)print(df2)# task1_1_sub()# 任务 1.2 统计各地区、国家有关服务分类销售额和利润数据。
def task1_2():df = pd.read_excel('../非洲通讯产品销售数据.xlsx')# print(df.head(200).to_string())df1 = pd.pivot_table(df, index=['地区', '国家', '服务分类'], values=['销售额', '利润'], aggfunc=np.sum).reset_index()print(df1.head(100).to_string())df1.to_excel('各地区、国家、服务分类销售额和利润.xlsx', index=False)
各国、各服务分类销售额和利润的同比增长率处理代码
处理后的数据:
2020 年年度销售额前 3 名的国家及其年增长率
任务 1.2
- 统计各地区、国家有关服务分类销售额和利润数据。
实现思路:
- 首先将处理好的数据加载,并按照国家、服务分类、季度进行分组,并将处理好的文件保存。
实现代码:
def task1_2():df = pd.read_excel('../非洲通讯产品销售数据.xlsx')# print(df.head(200).to_string())df1 = pd.pivot_table(df, index=['地区', '国家', '服务分类'], values=['销售额', '利润'], aggfunc=np.sum).reset_index()print(df1.head(100).to_string())df1.to_excel('各地区、国家、服务分类销售额和利润.xlsx', index=False)
处理后的图表:
任务 1.3
- 统计各个销售经理的成交合同数和成交率。
实现思路:
- 首先将数据加载,分别按照销售经理字段进行分组求和,成交率字段求均值,将两个表进行合并,并更改成交率的格式为百分比格式。将处理好的文件进行保存。
实现代码:
def task1_3():df = pd.read_excel('../非洲通讯产品销售数据.xlsx', sheet_name=1)# print(df)df = pd.DataFrame(df)# df = df.drop(["备注:本表格中“销售合同”为“已成交合同”。"])# print(df.to_string())df1 = df["销售合同"].groupby(df["销售经理"]).sum()df1 = pd.DataFrame(df1).sort_values('销售经理', ascending=False).reset_index()df2 = df["成交率"].groupby(df["销售经理"]).mean()df2 = pd.DataFrame(df2).sort_values('销售经理', ascending=False).reset_index()df3 = pd.merge(df1, df2, on="销售经理")df3["成交率"] = df3["成交率"].apply(lambda x: format(x, '.2%'))print(df3)df3.to_excel("各销售经理的成交合同数和成交率.xlsx")
处理后的数据:
任务 1.4
- 分别预测各个地区、国家、服务分类 2021 年第一季度销售额和利润
实现思路:
- 通过 Excel 数据透视表,将年份、季度、拖拽到行标签,将销售额与利润作为作为计算字段进行求和,通过 Excel 公式:=TREND($B$20:$B$23) 来计算 2021 年的第一季度的销售额
任务 2 可视化展示和撰写分析报告
任务 2.1
- 绘制非洲各国产品的销售地图,并能够查看该国的销售额和利润。根据销售额的降序排列,绘制非洲各国产品销售额和利润数据的图表。
实现思路:
- 利用 TipDM-BI 平台,导入各国产品销售额和利润的数据表,根据国家画出地图,用颜色来区分各国的销售额和利润,图 2 将销售额作为行,国家为列绘制出柱状图,图3将利润作为行,国家为列绘制出柱状图。
任务 2.2
- 根据地区、国家等维度,绘制各服务分类的销售额和利润的年增长率及各季度同比增长率的图表。 实现思路: 通过各季度的同比增长率来绘制图表,将季度作为行标,将增长率作为列标
任务 2.3
- 根据地区、国家等维度,绘制 2021 年第一季度各服务分类的销售额和利润预测值的图表。
实现思路:
- 能力有限,需要用到机器学习,我们当时还没学……
任务 2.4
- 绘制销售经理的销售合同数前 5 名排行榜。
实现思路:
- 引入销售合同数量和销售经理,以销售合同数量作为排行榜的根据
任务 2.5
- 绘制销售额后 10 名的国家排行榜。
实现思路:
- 以国家作为行,销售额作为列,将销售额设为倒序并筛选十行,将图绘制出来。
任务 2.6
- 分析数字大屏的指标数据和图表,撰写公司产品的销售情况和盈利能力的分析报告。
结论:
- 根据图 1 可以看出家庭电话的销售额最高,其次是私人电话,最后是公共电话, 但总体的销售情况差距不大。 根据图二可以看出公共电话的利润是最低的,与利润最高的家庭电话相差了一倍。
第四届“泰迪杯”数据分析技能赛-赛题A:《通讯产品销售和盈利能力分析》报告相关推荐
- 2022泰迪杯数据分析技能赛B题方案及赛后总结:银行客户忠诚度分析
第五届"泰迪杯"数据分析技能赛(B题)『一等奖』,@队友:东可在编程.好同志歪歪 B题题目为"银行客户忠诚度分析",题目给出了短期客户产品购买数据"s ...
- 2021 年“泰迪杯”数据分析技能赛 B 题 肥料登记数据分析 (视频讲解+解题源码)、数据挖掘、数据分析实战
2021 年"泰迪杯"数据分析技能赛 B 题 肥料登记数据分析 (视频讲解+解题源码).数据挖掘.数据分析实战 前言: 整理了2021 年"泰迪杯"数据分析技能 ...
- 第五届“泰迪杯”数据分析技能赛 经验代码分享
第五届"泰迪杯"数据分析技能赛 经验/代码分享 品牌:"泰迪杯"数据分析技能赛 组织单位:泰迪杯数据分析技能赛组织委员会.广东泰迪智能科技股份有限公司.广东省工 ...
- 2022第五届“泰迪杯”数据分析技能赛-B题-银行客户忠诚度分析(下)
2022第五届"泰迪杯"数据分析技能赛-B题-银行客户忠诚度分析(上)链接:https://blog.csdn.net/weixin_60200880/article/detail ...
- 2022第五届“泰迪杯”数据分析技能赛-B题-银行客户忠诚度分析(上)
新手参加比赛,不足之处敬请谅解 题目链接:链接:https://pan.baidu.com/s/1x1U-kobvPjNMm8xnvS9Gdg 提取码:7id3 目录 任务1 数据探索与清洗 任务1 ...
- 第五届“泰迪杯”数据分析技能赛
为推广我国高校数据分析实践教学,培养学生数据分析的应用和创新能力,增加校企交流合作和信息共享,提升我国高校的教学质量和企业的竞争能力,"泰迪杯"数据分析技能赛(以下简称竞赛)于20 ...
- 第五届泰迪杯数据分析技能大赛思路
各有关单位: 为推广我国高校数据分析实践教学,培养学生数据分析的应用和创新能力,增加校企交流合作和信息共享,提升我国高校的教学质量和企业的竞争能力,"泰迪杯"数据分析技能赛(以下简 ...
- 记第一次Python数据分析练习——2018年“泰迪杯”数据分析职业技能大赛B题(2021/5/20)
文章目的 本人目前是应用统计专业大二(2021/5/20)的本科生,上学期上过Python课,但说实话讲的不深,过了一个学期也基本上忘光了. 最近深刻地觉得计算机专业真是好啊,以后我也要当程序员.JP ...
- 数据增长率怎么算_2019 年“泰迪杯”数据分析职业技能大赛A题 超市销售数据分析...
一.分析背景 近年来,随着新零售业的快速发展,消费者购买商品时有了更多的对比和选择,导致超市行业的竞争日益激烈,利润空间不断压缩.超市的经营管理产生了大量数据,对这些数据进行分析,可以提升超市的竞争力 ...
- 2022年”泰迪杯“数据分析技能赛B题:银行客户忠诚度分析
A题和B题我们小组都做了,最终A题二等奖,B题一等奖.总结写在最前面,泰迪杯技能赛不像数学建模比赛,所有的问题具有引导性,但一天完成建模和论文也不是一件容易的事,如果想要通过Python实现分析,需要 ...
最新文章
- golang map 初始化 和 使用
- Leetcode 240.剑指 Offer 06. 从尾到头打印链表 (每日一题 20210728)
- DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5的解决办法
- 剑指offer03-数组中重复的数字(java)|leetcode刷题
- c语言运算符类型转换,C语言中强制类型转换运算符的独特作用
- 微软删除最大的公开人脸识别数据集,只因员工离职?!
- Java多线程知识整理
- Mysql binlog入门
- python适用于哪些芯片_这些鲜为人知的Python功能,你值得拥有!
- arcgis中 shift数据重新定义投影_【更新85篇】地理数据科学技术文章合集,欢迎大家点赞、在看、转发三连!...
- 风力摆控制系统,stm32f1程序,通过pid控制算法实现了风力摆摆定长直线,变长直线,一定角度摆动,定点停滞
- [开源之美] nanomsg -- 进程间通讯
- 学习ajxa 必备插件
- web网页设计期末课程大作业:美食餐饮文化主题网站设计——中华美德6页面HTML+CSS+JavaScript
- 苹果手机itunes显示无法连接服务器,苹果手机无法连接到iTunes Store怎么办 连接失败解决方法...
- oppo电视怎么看电视台 oppo电视看CCTV直播方法
- 【BJOI2019】排兵布阵 DP
- 谷歌浏览器前端调试技巧01——使用F12清除缓存
- 自动填充被拆分的单元格
- android打地鼠案例
热门文章
- 在Windows中安装配置JDK+Eclipse+Maven
- CMake常用命令(一) cmake_minimum_required命令
- win7与internet时间同步出错_时间同步出错,教您时间同步出错
- Windows 10 无法访问共享的解决办法大全
- android内窥镜安装软件,DEPSTECH内窥镜
- 小甲鱼python线下培训
- IDEA中查找与替换快捷键(项目全局替换、该文件下替换)
- QT5.11编译出现undefined reference to `_imp___ZN12QApplicationC1ERiPPci’
- 用pinyin4j获取汉语拼音并首字母大写
- iOS关于破解ipa包