本文共 4308 字,大约阅读时间需要 14 分钟。
用户行为分析是数据分析的重要组成部分,理解每个行为的含义有助于优化用户体验和提升转化率。
浏览:作为用户与商品接触的第一个行为,浏览行为占75.66%,印证了浏览行为的高频率。值得注意的是,浏览行为中大部分用户可能只浏览商品但不下单,因此需要通过促销活动吸引用户下单。
加购物车:占14.65%,显示出用户对商品有购买意向但犹豫的现象,这一环节的成单率较高,适合通过优惠券等方式提升下单率。
下单:仅占6.97%,表明有较大的提升空间,可以通过限时优惠等活动吸引更多用户下单。
收藏和评论:占比较低,分别为2.46%和1.16%,这提示需要加强与用户的互动,提升收藏和评论率。
通过统计各行为类型的数量和占比,可以清晰地了解用户行为分布。使用以下代码可视化结果:
# 行为类型数量统计ser_type_cnt = df['type_map'].value_counts()# 行为类型数量占比ser_type_pct = df['type_map'].value_counts(normalize=True)# 合并pd.concat([ser_type_cnt, ser_type_pct],axis=1).style.format("{:.2%}",subset=['proportion']).bar(subset='proportion') 观察结果表明,浏览行为占主导地位,建议通过优化推荐算法和精准营销活动提升下单率。
流量指标是衡量网站访问量和用户行为的重要工具,通过分析这些指标可以发现业务趋势和潜在问题。
常用的流量指标包括访问总量、访客数、日均访问量、人均访问量、消费用户人均访问量等。以下是具体计算方法:
总访问量:统计一段时间内所有访问的总和
总访客数:统计一段时间内所有唯一访客的数量
日均访问量:将总访问量按天平均分配
人均访问量:将总访问量除以总访客数
使用以下代码计算用户访问量指标:
# 总访问量pv = df[df['type_map'] == '浏览']['user_id'].count()print('总访问量:{}'.format(pv))# 总访客数uv = df['user_id'].nunique()print('总访客数:{}'.format(uv))# 日均访问量pv_per_day = pv / df['date'].nunique()print('日均访问量:%.0f' %pv_per_day)# 人均访问量=总访问量/总访客数pv_per_user = pv / uvprint('人均访问量:%.2f' %pv_per_user) 观察结果显示,总访问量高达2,757,485次,访客数为440,373人,日均访问量为39,3926次,人均访问量为6.26次/用户。
针对消费用户设计流量指标可以更好地分析用户购买行为。常用的指标包括消费用户数量、消费用户总访问量、消费用户数占比等。
消费用户数量:统计有下单行为的用户总数
消费用户总访问量:统计消费用户的总浏览次数
消费用户数占比:消费用户数占总用户数的比例
消费用户人均访问量:消费用户的平均浏览次数
消费用户人均消费次数:消费用户的平均下单次数
使用以下代码计算消费用户流量指标:
# 消费用户的唯一iduser_pay = df[df['type_map'] == '下单']['user_id'].unique()print('消费用户数量:{}'.format(len(user_pay)))# 消费用户的总访问量pv_pay = df[df['user_id'].isin(user_pay)]['type_map'].value_counts()['浏览']print('消费用户总访问量:{}'.format(pv_pay))# 消费用户数占比user_pay_rate = len(user_pay) / uvprint('消费用户数占比:%.2f%%' %(user_pay_rate*100))# 消费用户人均访问量pv_per_buy_user = pv_pay / len(user_pay)print('消费用户人均访问量:%.2f' %pv_per_buy_user)# 消费用户人均消费次数cnt_per_buy_user = df[df['type_map'] == '下单'].shape[0]/len(user_pay)print('消费用户人均消费次数:%.2f' %cnt_per_buy_user) 观察结果显示,消费用户数量为187,549人,消费用户总访问量为1,400,380次,消费用户数占比为42.59%,消费用户人均访问量为7.47次,人均消费次数为1.18次。
复购率是衡量用户忠诚度的重要指标,分析复购率可以帮助识别高潜力客户群体。
使用以下代码计算用户维度的复购率:
# 每个用户消费总次数df_pay_num = df[df['type_map'] == '下单'].groupby(['user_id'])['type'].count().to_frame(name='num')# 消费次数>=2的客户数repay_num = df_pay_num[df_pay_num['num']>1].shape[0]# 消费总客户数total_pay_num = df_pay_num.shape[0]# 复购率repay_rate =round(repay_num/total_pay_num,4)print('用户维度的复购率:%.2f%%' %(repay_rate*100)) 观察结果显示,用户维度的复购率为11.55%,较低,建议通过精准营销活动提升复购率。
使用以下代码计算商品维度的复购率:
# 对用户和商品id分组统计下单的次数df_sku_user_pay = df[df['type_map'] == '下单'].groupby(['sku_id','user_id'], as_index=False)['type'].count()# 筛选每个商品下用户下单次数大于1的df_sku_user_repay = df_sku_user_pay[df_sku_user_pay['type']>1]# 对商品分组统计下单次数大于1的客户数df_sku_repay_cnt = df_sku_user_repay.groupby(['sku_id'], as_index=False)['user_id'].count().sort_values(by='user_id',ascending=False)
观察结果显示,大多数商品的复购率较低,仅有极少数商品的复购率较高,如50%的商品由于总下单数量较少无统计意义。
转化漏斗分析是优化用户行为路径的重要工具,帮助识别转化中的瓶颈。
使用以下代码计算浏览到下单的转化率:
# 筛选用户的浏览数据df_pv = df[df['type_map'] =='浏览']# 筛选客户的下单数据df_pay = df[df['type_map'] =='下单']cols = ['user_id','sku_id','action_time','type_map']# 将用户浏览和下单行为进行匹配df_pv_pay = pd.merge(df_pv[cols], df_pay[cols], on=['user_id','sku_id'], how='inner', suffixes=('_pv', '_pay'))# 筛选下单时间在浏览时间之后的数据t_0 = df_pv_pay.shape[0]df_pv_pay = df_pv_pay[df_pv_pay['action_time_pay'] > df_pv_pay['action_time_pv']]t_1 = df_pv_pay.shape[0]print('时间筛选前数量 %.0f'%t_0)print('时间筛选后数量 %.0f'%t_1)print('时间筛选后减少数量 %.0f'%(t_0-t_1)) 观察结果显示,时间筛选后浏览到下单的用户数为162,772人,转化率为7.3%。
使用以下代码计算浏览到加购物车到下单的转化率:
# 筛选用户的加购物车数据df_cart = df[df['type_map'] =='加购物车']# 浏览用户与加购物车匹配df_pv_cart = pd.merge(df_pv[cols], df_cart[cols], on=['user_id','sku_id'], how='inner', suffixes=('_pv', '_cart'))# 加购物车用户与下单匹配df_cart_pay = pd.merge(df_cart[cols], df_pay[cols], on=['user_id','sku_id'], how='inner', suffixes=('_cart', '_pay'))# 加购物车用户与下单匹配df_pv_cart_pay = pd.merge(df_pv_cart, df_cart_pay, on=['user_id','sku_id','action_time_cart','type_map_cart'], how='inner') 观察结果显示,浏览到加购物车到下单的转化率为6.16%,较低,建议优化购物车引导和下单流程。
消费时长分析可以帮助了解用户行为路径的特点,进而优化营销策略。
使用以下代码计算消费时长分布:
# 获取时间差成分,筛选小时数pcp_interval = pcp_interval['interval'].dt.components['hours']
观察结果显示,大部分用户的消费时长集中在1小时以内,表明用户购买决策较为迅速。
通过分布可视化可以清晰地看到用户行为的时长特点,便于针对不同用户群体制定营销策略。
转载地址:http://rpvfk.baihongyu.com/