《2019年11月自行车业务》分析报告
1 背景
2019年12月业务组组长需要向领导汇报2019年11月自行车销售情况,为精细化运营提供数据支持,能精准的定位目标客户群体。
2 目的
1、如何制定销售策略,调整产品结构,才能保持高速增长,获取更多的收益,占领更多市场份额,是公司最关心的问题。
2、报告通过对整个公司的自行车销量持续监测和分析,掌握公司自行车销售状况、走势的变化,为客户制订、调整和检查销售策略,完善产品结构提供依据。
• 用Python连接Mysql数据库对数据进行分析与处理
• 探索数据库并罗列分析指标
• Powerbi可视化
• 制作PPT
PPT成果如下(Gif图):
3 数据处理
3.1 数据来源
基础表存于Mysql数据库, 数据库名:adventure_ods
dw_customer_order 产品销售信息事实表
ods_customer 每天新增客户信息表
dim_date_df 日期表
ods_sales_orders 订单明细表
3.2 数据理解
3.3 数据导入与处理
3.3.0 导入模块
一、从整体的角度分析
1.1 从数据库读取源数据:dw_customer_order
1.2 查看数据
1.3 新建一列create_year_month,取create_date的年月按月度分析
1.4 筛选类别为自行车的数据进行分析
1.5 分析2019.1—2019.11自行车整体销售表现(销量、销售额、销量环比、销售额环比)
1.5.1 以月为时间维度分组查询销量、销售金额
1.5.2 新增列order_num_diff、sum_amount_diff求销量与销售金额的环比
1.5.3 字段注释
create_year_month:时间(按月分类) order_num:本月累计销售数量
sum_amount:本月累计销售金额 order_num_diff:本月销售数量环比
sum_amount_diff:本月销售金额环比 dw_customer_order:用户订单表
1.5.4 将数据存入Mysql数据库(2019.1—2019.11自行车整体销售表现)
二、从地域的角度分析
2.1、分析11月每个区域销售量表现
2.1.1 求10、11月销量的表现
2.1.2 新增销售额、销量的环比
第一种方法:
为了在Powerbi中制表方面对比,将10月份的环比赋值为0
第二种方法:
2.1.3 再筛选出11月份的数据
2.1.4 将数据存入数据库(11月每个区域销售量表现)
2.3 求11月TOP10城市销售量表现
2.3.1 以城市和月份分组,求自行车的销售额和销量
2.3.2 筛选11月份数据
2.3.3 以销量进行逆序排序求出Top10城市销量
2.3.4 求Top10城市的环比
(要先求出10、11月份的环比再从中筛选出11月份的数据)
再将10月份的环比赋值为0
2.3.5 将数据存入数据库(11月TOP10城市销售量表现)
三、从产品的角度分析
3.1 分析类别产品销售量表现(从占比分析)
3.1.1 先求产品的总销量
3.1.2 合并自行车销售信息表+自行车每月总销量
3.1.3 新增占比列 order_proportion
3.1.4 字段注释
create_date:时间 product_name:产品名 cpzl_zw:产品类别
cplb_zw:产品大类 order_num_x:产品当天销售数量 customer_num:当天用户购买人数,
sum_amount:产品当天销售金额 chinese_province:省份 chinese_city:城市 chinese_territory:区域
create_year_month:月份 sum_month_order:本月累计销量 order_proportion:产品销量占比
3.1.5 数据存入数据库(类别产品销售量表现)
3.2 细分产品销售量表现
3.2.1 公路自行车细分市场销量表现
1、筛选细分品类为公路自行车的数据
2、求公路自行车不同型号产品销售数量
3、求每个月公路自行车的总销售数量
4、合并公路自行车gather_customer_order_road_month与每月累计销售数量
(用于计算不同型号产品的占比)
3.2.2 山地自行车细分市场销量表现
1、筛选细分品类为山地自行车的数据
2、求山地自行车不同型号产品销售数量
3、求每个月山地自行车的总销售数量并与山地自行车gather_customer_order_mountain_month表合并
3.2.3 旅游自行车细分市场销量表现
1、筛选细分品类为旅游自行车的数据
2、求旅游自行车不同型号产品销售数量
3、求每个月旅游自行车的总销售数量并与旅游自行车gather_customer_order_tour_month表合并
3.2.4 将山地自行车、旅游自行车、公路自行车每月销量信息合并
3.2.5 新增一列求各类自行车、销售量占每月自行车总销售量比率
3.2.6 字段注释:
create_year_month:时间,product_name:产品名,order_month_product:本月产品累计销量,sum_order_month:当月自行车总销量,
order_num_proportion:本月产品销量占比
3.2.7 将数据存入数据库(细分产品销售量表现)
四、从用户的角度分析
4.1 分析11月用户年龄分布及每个年龄段产品购买喜好
4.1.0 读取订单明细表:ods_sales_orders,用户表:ods_customer
4.1.1 合并销售订单表和客户信息表
4.1.2 过滤birth_date列为空值的数据并计算用户年龄区分年龄段
1、birth_date为字符串类型,要将字符串类型转化为时间类型
2、过滤缺失值
3、添加birth_year列,方便按年查询
4、修改出生年为int数据类型
5、计算用户年龄
6、新增'age_level'分层区间列(年龄段)
4.1.3 筛选销售订单为自行车的订单信息
4.1.4 计算年龄比率
4.1.5 将年龄分为3个层次
4.1.6 求每个年龄段人数以及占比
将年龄段总数与自行车销售订单表合并
求年龄段占比
4.2 11月男女用户比例及产品购买喜好
4.2.1 求男女比例
4.3 将数据存入数据库(性别年龄表现)
五、从热销产品的角度分析
5.1 11月TOP10产品销量榜(销售额、销量及环比)
5.1.1 筛选11月份数据
5.1.2 对自行车种进行分组计算销售额、销量并按销量进行倒序排序求Top10
5.1.3 计算Top10环比
(要先求出10、11月份的环比再从中筛选出11月份的数据)
新增环比列
为了在Powerbi中制表方面对比,将10月份的环比赋值为0
5.2 将数据存入数据库(11月TOP10产品销量榜)
4 使用Powerbi连接Mysql数据库进行可视化分析
5 将Powerbi中图表引用到PPT中
部分结果如下: