Adventure项目总结

一、项目概述

1、成果预览

最近回顾了Adventure项目,在此记录、总结分析实现过程。该项目主要任务是利用python的pandas、numpy包从MySQL数据库中读取原始数据进行加工、聚合、分析,再利用Power BI进行dashboard的搭建。再以聚合后的数据为基础制作PPT,汇报分析结果,为业务团队自主分析提供数据支持,改进工作。
dashboard预览:Dashboard看板链接

Adventure项目总结_第1张图片

PPT预览
Adventure项目总结_第2张图片

2、背景介绍

1)公司背景

Adventure Works Cycle是国内一家生产和销售自行车及和相关配件的制造公司。利用每日商品销售及相关客户信息数据,获取商品销售趋势、地域分布情况以及简单用户画像,进行可视化展示,为运营人员提供自主分析工具。

2)产品介绍

公司主营业务有自行车(主要产品),服装,配件

  • 自行车:包括公路自行车、山地自行车、旅游自行车三大类
  • 服装:包括帽子、手套、袜子、背心、运动衫等
  • 配件:包括头盔、挡泥板、车架、清洁工、瓶子和笼子、车胎等
    这里主要分析的是自行车业务。

3、数据来源

1)ods_sales_orders 订单明细表
Adventure项目总结_第3张图片

2)ods_customer 每日新增用户表
Adventure项目总结_第4张图片

3)dim_date_df 日期维度表
Adventure项目总结_第5张图片

二、python处理数据

1、生成dw_order_by_day表

导入相关模块,连接数据库
Adventure项目总结_第6张图片

step 1:读取ods_sales_orders(订单明细表),生成sum_amount_order(销量订单聚合表),求总销售金额/客单价
Adventure项目总结_第7张图片

step2:利用空列表及循环生成对应随机值,与销量订单聚合表合并形成sum_amount_order_goal(销量订单聚合目标表)
Adventure项目总结_第8张图片

step3:读取dim_date_df日期维度表
Adventure项目总结_第9张图片

step4:对数据进行融合,生成dw_order_by_day表
Adventure项目总结_第10张图片

step5:删除旧的dw_order_by_day(每日环比表),存储新的dw_order_by_day
Adventure项目总结_第11张图片

2、生成dw_amount_diff表

step1:读取dw_order_by_day表
Adventure项目总结_第12张图片

step2:求取各阶段的总金额
Adventure项目总结_第13张图片

step3:求取各阶段的总订单数
Adventure项目总结_第14张图片

step4:求取各阶段的总金额、订单数的同期对比数据
Adventure项目总结_第15张图片

step5:删除旧的dw_amount_diff表,存储新的dw_amount_diff表
Adventure项目总结_第16张图片

3、生成dw_customer_order表

step1:读取最新日期的ods_sales_orders(订单明细表)
Adventure项目总结_第17张图片

step2:读取每日新增用户表ods_customer
Adventure项目总结_第18张图片

step3:读取日期维度表dim_date_df
Adventure项目总结_第19张图片

step4:对数据进行聚合
Adventure项目总结_第20张图片

step5:存储数据

三、搭建Dashboard

1、可视化看板布置

1)可视化工具:此处使用的可视化图表有切片器、卡片图、KPI图、环形图、子弹图、表格、地图等;
2)筛选器:用于区域、日期等字段信息的筛选;
3)书签:将按钮操作与书签相结合,完成不同页面的导航、跳转功能

2、报表展示

1)主页

  • 展示今日销售金额及目标完成情况、订单量、客单价以及同比情况;
  • 表格列明详细销售情况
  • 环形图展示各个种类产品销售占比情况- 利用地区和城市切片可以动态展现不同城市的销售情况
  • 地图和气泡图结合展示各个城市销售情况


    Adventure项目总结_第21张图片

    2)趋势详情页

  • 通过切片器筛选最近一段时间的销售变化趋势
  • 动态展示最近15天销售订单量完成情况
  • 动态展示最近15天销售金额以及目标完成情况
  • 动态展示最近15天客单价变化趋势


    Adventure项目总结_第22张图片

    3)城市详情页

  • 切片筛选区域和城市,动态展示不同地区销售情况


    Adventure项目总结_第23张图片

四、报告输出

1、指标搭建

1)目的

  • 优化销售策略,调整产品结构,才能保持高速增长,获取更多的收益,占领更多市场份额
  • 根据需求分析2019年11月自行车销售情况,为精细化运营提供数据支持

2)数据来源

dw_customer_order 产品销售信息表

ods_customer 每天新增客户信息表

dim_date_df 日期表

ods_sales_orders 订单明细表

3)分析思路

从整体的角度:分析2019.1—2019.11自行车整体销售表现

从地域的角度:分析11月每个区域销售量表现、11月TOP10城市销售量表现

从产品的角度:分析11月类别产品销售量表现、11月细分产品销售量表现

从用户的角度:分析11月用户年龄分布及每个年龄段产品购买喜好、11月男女用户分布情况

热销产品:分析11月TOP10产品销量榜、11月TOP10销量增速榜

Adventure项目总结_第24张图片

2、python加工数据

Adventure项目总结_第25张图片

1)整体销售表现

读取数据
Adventure项目总结_第26张图片

观察字段属性信息
Adventure项目总结_第27张图片

增加月份字段以便于进一步分析
Adventure项目总结_第28张图片

筛选自行车数据
Adventure项目总结_第29张图片

用groupby进行分组,求出每月订单量和销售金额总和,并进行排序
Adventure项目总结_第30张图片

求每月订单量环比
Adventure项目总结_第31张图片

转为dataframe形式
Adventure项目总结_第32张图片

同样求出每月销售金额环比,并转为dataframe,同时对两个环比字段进行重命名
Adventure项目总结_第33张图片

存入数据库

2)地域销售表现

筛选10月、11月数据后进行分组求和
Adventure项目总结_第34张图片

求出不同区域销售环比情况
Adventure项目总结_第35张图片

存入数据库

按城市分组并筛选销量前十的城市
Adventure项目总结_第36张图片

筛选10月、11月数据并计算月销售金额
Adventure项目总结_第37张图片

计算环比
Adventure项目总结_第38张图片

存入数据库

3)产品销售表现

求出月销量并合并表格
Adventure项目总结_第39张图片

计算细类产品销售占比情况并重命名
Adventure项目总结_第40张图片

查看自行车产品种类
Adventure项目总结_第41张图片

求出山地自行车具体型号销售数量以及种类月销量,并进行合并
Adventure项目总结_第42张图片

同样方法对公路自行车和旅游自行车进行处理

计算销量环比
Adventure项目总结_第43张图片

计算累计销量
Adventure项目总结_第44张图片

合并表格并存储
Adventure项目总结_第45张图片

4)用户行为分析

读取信息


用户年龄
合并表格,截取年份信息
Adventure项目总结_第46张图片

计算用户年龄并进行分层
Adventure项目总结_第47张图片

计算年龄比率,以便统计各年龄段占比情况

用户性别
观察性别分布情况并进行字段关联
Adventure项目总结_第48张图片

5)热点产品分析

11月产品销量TOP10产品,销售数量及环比
计算产品销量并排序

Adventure项目总结_第49张图片

切片、筛选信息,找出本月销量top10产品
Adventure项目总结_第50张图片

11月增速TOP10产品,销售数量及环比
切片、筛选信息
Adventure项目总结_第51张图片

合并表格
Adventure项目总结_第52张图片

存储数据

3、PPT制作

通过上述加工,将存入MySQL数据库的数据接入Power BI,绘制图像,从而完成自行车业务分析报告


Adventure项目总结_第53张图片

五、尝试使用Hive和SQL完成ETL过程

1、使用sqoop导数到hive数据库生成 ods 层数据

以生成dim_date_df表为例
Adventure项目总结_第54张图片

ods_sales_orders表、ods_customer表亦同样处理

2、使用hive库进行数据汇总加工生成dw层数据

以ods.dw_order_day为例进行数据加工
Adventure项目总结_第55张图片

3、sqoop导出分析结果到mysql

以导出dim_date_df表为例
Adventure项目总结_第56张图片

你可能感兴趣的:(Adventure项目总结)