用Python分析自行车业务

《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中

部分结果如下:

你可能感兴趣的:(用Python分析自行车业务)