数据分析

可视化案例-单车销售情况分析

2020-08-30  本文已影响0人  Elena_fan

单车销售可视化案例总结
老师指路->https://www.jianshu.com/u/1f32f227da5f
使用工具:Anaconda-jupyter、Excel、powerBI

用户消费行为的分析报告
数据为用户在一家单车网站上的消费记录

import pandas as pd  
import numpy as np 
columns=['user_id','order_dt','order_products','order_amount']
df=pd.read_table('bicycle_master.txt',names=columns, sep='\s+')
#\s+ 可容纳多个换行符

user_id:用户ID
order_dt:购买日期
order_products:购买产品数
order_amount:购买金额

df.head()#查看前五条记录
显示记录
df.describe()#查看数据描述统计
数据描述

分析:
大部分订单只消费了少量商品(平均2.4),有一定值干扰
用户的消费金额比较稳定,平均消费35元,中位数在25元,有一定极值的干扰

df['order_dt']=pd.to_datetime(df.order_dt,format="%Y%m%d")
df['month']=df.order_dt.values.astype('datetime64[M]')
#天数全部变为01
#df['year']=df.order_dt.values.astype('datetime64[Y]')
#df['year']#日期全部转化为年份
日期转换

对 order_dt 列(取values),转换类型为datetime64[M],默认就会是每月的第一天了。设置为[Y]就是每年的1月1日,然后生成新的一列 month/year

1.进行用户消费趋势的分析(按月)

每月的消费总金额

grouped_month=df.groupby('month')#按月分组
order_month_amount=grouped_month.order_amount.sum()
#求每月消费总金额
order_month_amount.head()
每月消费总金额
grouped_month_info = grouped_month[['order_amount','user_id','order_products']].agg({'order_amount':sum, 'user_id': 'count', 'order_products':sum})

每月的消费次数、产品购买量、消费人数

求每月的消费总金额(求和),消费总次数(计数),购买产品数(求和),共有18个月信息


月消费统计1
月消费统计2
grouped_month_info.rename(columns = {'order_amount':'消费金额', 'user_id': '消费次数', 'order_products': '产品购买量'}, inplace=True)
grouped_month_info
月消费统计-更名

求消费人数,将消费次数做去重处理
重置索引
将month字段转换为字符型

grouped_month_info['消费人次'] = grouped_month['user_id'].unique().map(len)
#去重,去除一人购物多次情况
grouped_month_info = grouped_month_info.reset_index()
#重置索引
grouped_month_info['month'] = grouped_month_info['month'].astype(str)
#将month 转换为字符型

将处理过的数据,导入到Excel表格中

grouped_month_info.to_excel(r'.\月销售额、销售次数、产品购买量、消费人数.xlsx')
月消费

将Excel数据导入到powerBI,可视化数据

每月消费统计-月销售额

分析:
由上图可知,消费总金额在前三个月达到最高峰,后续消费较为稳定,有轻微下降趋势
产品购买量在前三个月达到最高峰,后续消费较为稳定,有轻微下降趋势
前三个月消费人数在10000笔左右,后续月份的平均消费人数则在2500人

2.用户个体消费分析

可视化结果:


用户个体消费分析

分析:
1、从直方图可知,用户消费金额,绝大部分呈现集中趋势,小部分异常值干扰了判断,可以使用过滤操作排除异常

使用切比雪夫定理过滤掉异常值,因为切比雪夫定理说明,95%的数据都分布在5个标准差之内,剩下5%的极值就不要了

2、按照用户消费金额进行升序排序,由图可以知道50%的用户仅贡献了11%的消费额度,而排名前5000的用户就贡献了60%的消费额度

3.用户消费行为

可视化结果:

用户消费行为分析

分析:
1、(左下图)断崖式下跌很正常:可以理解用户流失比例基本一致,一开始用户迅猛增长数量比较多流失的也比较多,后面没有用户 用户最后一次购买的分布比第一次分布广
大部分最后一次购买,集中在前三个月,说明很多用户购买了一次后就不再进行购买
随着时间的递增,最后一次购买数量也在递增,消费呈现流失上升的状况(这也是正常,随着时间的增长,可能运营没跟上,或者用户忠诚度下降了)
2、 R :消费时间 F:消费金额 M:消费频次
从RFM 分层可知,大部分用户是重要保持客户,但是这是由于极值的影响,所以 RFM 的划分标准应该以业务为准,也可以通过切比雪夫去除极值后求均值,并且 RFM 的各个划分标准可以都不一样

尽量用小部分的用户覆盖大部分的额度
不要为了数据好看划分等级
用户生命周期-新客,活跃,回流,流失(一段时间不消费,或者不活跃)

4.复购率和回购率分析

可视化结果:

复购率回购率

分析:
复购率稳定在20%左右,前一个月因为有大量新用户涌入,而这批用户只购买了一次,所以导致复购率降低

总结

1 熟悉业务知识
2 pandas 函数使用
3 powerBI使用

上一篇 下一篇

猜你喜欢

热点阅读