电商用户行为统计与可视化分析

1. 核心指标定义
  • 用户行为类型:浏览($V$)、点击($C$)、加购($A$)、下单($O$)、支付($P$)
  • 关键公式
    • 转化率:$$ \text{转化率} = \frac{\text{目标行为次数}}{\text{起始行为次数}} \times 100% $$
    • 用户活跃度:$$ \text{DAU} = \sum_{i=1}^{n} \mathbb{I}(\text{用户}_i \text{单日行为量} > 0) $$
2. 数据预处理流程
import pandas as pd

# 模拟数据生成(实际需从数据库导入)
data = pd.DataFrame({
    'user_id': [101, 102, 101, 103, 102],
    'behavior': ['view', 'click', 'cart', 'view', 'order'],
    'timestamp': ['2023-06-01 08:30', '2023-06-01 09:15', 
                  '2023-06-02 11:20', '2023-06-02 14:00', '2023-06-03 16:45']
})

# 数据清洗与转换
data['date'] = pd.to_datetime(data['timestamp']).dt.date  # 提取日期
behavior_map = {'view':1, 'click':2, 'cart':3, 'order':4, 'pay':5}  # 行为编码
data['behavior_code'] = data['behavior'].map(behavior_map)

3. 统计指标计算
# 行为分布统计
behavior_counts = data['behavior'].value_counts()

# 漏斗转化率计算
funnel = {
    'view_to_click': behavior_counts.get('click', 0) / behavior_counts['view'],
    'click_to_cart': behavior_counts.get('cart', 0) / behavior_counts['click']
}

4. 可视化实现

A. 行为分布环形图

import matplotlib.pyplot as plt

plt.figure(figsize=(8, 6))
plt.pie(behavior_counts, labels=behavior_counts.index, autopct='%1.1f%%', 
        wedgeprops={'width':0.4})  # 环形图参数
plt.title("用户行为分布比例")
plt.show()

B. 转化漏斗图

from pyecharts.charts import Funnel

funnel_chart = (
    Funnel()
    .add("转化率", 
         [list(z) for z in zip(['浏览','点击','加购'], list(funnel.values()))],
         label_opts={"position": "inside"})
)
funnel_chart.render("funnel.html")  # 生成交互式图表

C. 用户活跃热力图

import seaborn as sns

# 按日期统计活跃用户
daily_active = data.groupby('date')['user_id'].nunique().reset_index()
daily_active.columns = ['date', 'active_users']

plt.figure(figsize=(10, 4))
sns.lineplot(data=daily_active, x='date', y='active_users', marker='o')
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.title("每日活跃用户趋势")
plt.xlabel("日期")
plt.ylabel("活跃用户量")

5. 分析结论
  • 浏览→点击转化率:$ \approx 32.5% $
  • 关键流失点:加购→下单阶段转化率低于$15%$,需优化购物车流程
  • 每周三活跃峰值:较日均值提升$ \Delta = +18.7% $,可针对性促销

工具建议:实际部署时结合SQL直接查询业务数据库,使用Tableau/Plotly实现动态看板。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐