数据分析方法(1)之漏斗分析
说到“漏斗模型”,这可是数据分析界的“流量守门人”!简单概括,它就像一个倒置的漏斗,用户从“顶部”(比如首页)进入,经过各种行为(比如点击、收藏、加购)最终到达“底部”(支付),而每个环节都会有用户流失。这个模型就像一个聪明的“淘宝侦探”,帮我们找出哪个环节“掉链子”了!
比如,在电商界,漏斗模型就像一个“用户旅程”导航仪。如果某天发现“收藏”到“加购”的转化率暴跌,那你得赶紧问自己:是不是“加购”流程太复杂了?还是用户看到价格后打了退堂鼓?
更有趣的是,漏斗模型还能让我们成为“用户对比大师”。比如,新用户和老用户在“支付”环节的表现差异有多大?答案可能让你大吃一惊!比如,老用户可能更“冲动”,而新用户则更“谨慎”。
最后,别忘了实战操作!比如,用漏斗模型分析一天的流量,看看哪一天的“支付”转化率最高。如果发现某天数据异常,那可能就是你的“运营大招”生效了!
总之,漏斗模型就像一把“数据分析的瑞士军刀”,不仅能帮忙发现问题,还能让你的用户“买得更爽”!
文章目录
- 1、理论
-
- 1.1、 定义
- 1.2、 使用场景
- 1.3、例子
- 1.4、作用
- 2、实战
-
- 2.1、数据集说明
- 2.2、数据预处理
- 2.3、每日各行为用户数
- 2.4、环节、整体转化率,解析原因建议
1、理论
1.1、 定义
- 漏斗模型是一套流程式数据分析,它能够反映用户行为从起点到终点各阶段用户转化率情况,是一种重要的分析模型。
1.2、 使用场景
- 网站和APP用户行为分析的流量监控、电商行业、零售的购买转化率、产品营销和销售等日常数据运营与数据分析。
1.3、例子
- 在购物app中,用户从首页进入产品页面到最终完成支付的行为,需要的环节包含:点击——收藏——加入购物车——支付。这其中的每个环节都有一定的转化率,我们需要做的是监控用户在各环节的行为情况,寻找每个转化环节的优化点,提高用户在环节之间的转化率,最终来提高GMV(商品交易总额)。
1.4、作用
- 1、监控用户在各个环节间的转化情况。降低流失是运营人群的重要目标,通过转化率可以迅速定位用户流失环节,针对改环节找到优化点,以此提升用户留存率。
- 2、多维度切分与呈现用户转化情况科学的漏斗分析能够展现转化率趋势的曲线,能帮助企业精细地捕捉用户行为变化,提升了转化分析的精度和效率,对选购流程的异常定位和策略调整效果验证很有意义。
- 3、不同属性的用户群体漏斗比较。运营或数据分析人员可通过不同属性的用户群体(如新注册用户与老客户)各环节转化率的差异对比,了解转化率最高的用户群体,给予福利等,并针对转化率异常环节进行调整。
2、实战
2.1、数据集说明
数据来自天池- 本数据集共有大约1200万条数据,数据为淘宝APP2014年11月18日至2014年12月18日的用户行为数据,共6列字段,列字段分别是: - user_id:用户身份,脱敏 - item_id:商品ID,脱敏 - behavior_type:用户行为类型(包含点击、收藏、加购物车、支付四种行为,分别用数字1、2、3、4表示) - user_geohash:地理位置 - item_category:品类ID(商品所属的品类) - time:用户行为发生的时间
2.2、数据预处理
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport warningsplt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号warnings.filterwarnings('ignore') # 忽略警告data = pd.read_csv('E:/a学习材料/excel +sql++/双十二/tianchi_mobile_recommend_train_user.csv')# 查看重复值数量data.duplicated().sum()# 删除重复值并替换原数据data.drop_duplicates(inplace=True)#查看缺失值data.isnull().sum()# 缺失值均为地理信位置,对用户行为分析无影响,直接删除该列data.drop('user_geohash',axis=1,inplace=True)# 重置索引data = data.reset_index(drop=True)
2.3、每日各行为用户数
# 提取日期 data['time'] = pd.to_datetime(data['time'])data['date'] = data['time'].dt.date# 提取每天的用户各行为的人数,为后面漏斗分析做准备df = data.pivot_table(index='date', columns='behavior_type', values='user_id', aggfunc='count',fill_value=0)fig = plt.figure(figsize=[12,5])plt.xlabel('日期')label=['点击','收藏','加购','支付']for i,j in enumerate(df.columns