模块核心价值: 本模块旨在解决电商运营中最核心的“用户增长”难题。我们将学习如何从“流量获取 → 用户激活 → 价值分层 → 流失挽回”的全链路视角,运用Python进行量化分析,最终目标是降低获客成本、提升用户转化、挖掘高价值用户并延长其生命周期

  1. 全局诊断: 首先看新用户转化漏斗,定位主要流失环节。
  2. 价值洞察: 对成功转化的用户进行RFM分层,看我们的核心用户画像是怎样的。
  3. 风险预警: 针对最有价值的用户,建立流失预警模型,识别其中的高风险个体。
  4. 策略制定: 结合渠道ROI分析,为高风险、高价值用户制定精准、高效的召回策略。

python复制

import pandas as pd
import numpy as np
from datetime import datetime
import plotly.graph_objects as go
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# ==============================================================================
# 第1步:数据准备 (模拟一个更全面的数据集)
# ==============================================================================
print("="*30 + "\nSTEP 1: 数据准备\n" + "="*30)
# 创建一个包含用户行为、订单和渠道信息的大表
num_users = 500
np.random.seed(42)

# 用户行为数据
user_ids = range(1, num_users + 1)
events = ['app_launch', 'view_product', 'add_to_cart', 'checkout']
event_data = []
for user in user_ids:
    # 模拟不同用户的漏斗深度
    if np.random.rand() > 0.1: event_data.append({'user_id': user, 'event_name': 'app_launch'})
    if np.random.rand() > 0.2: event_data.append({'user_id': user, 'event_name': 'view_product'})
    if np.random.rand() > 0.6: event_data.append({'user_id': user, 'event_name': 'add_to_cart'})
    if np.random.rand() > 0.8: event_data.append({'user_id': user, 'event_name': 'checkout'})
log_df = pd.DataFrame(event_data)

# 订单数据
order_data = []
checkout_users = log_df[log_df['event_name'] == 'checkout']['user_id'].unique()
for user in checkout_users:
    num_orders = np.random.randint(1, 10)
    for i in range(num_orders):
        order_date = pd.to_datetime('2023-11-30') - pd.to_timedelta(np.random.randint(1, 90), unit='d')
        amount = np.random.randint(50, 500)
        order_data.append({'user_id': user, 'order_date': order_date, 'amount': amount})
order_df = pd.DataFrame(order_data)

print(f"已生成 {log_df.shape[0]} 条行为日志 和 {order_df.shape[0]} 条订单记录。")


# ==============================================================================
# 第2步:新用户转化漏斗分析 (诊断流量效率)
# ==============================================================================
print("\n" + "="*30 + "\nSTEP 2: 新用户转化漏斗分析\n" + "="*30)
funnel_steps = ['app_launch', 'view_product', 'add_to_cart', 'checkout']
step_uv = log_df.groupby('event_name')['user_id'].nunique().reindex(funnel_steps).reset_index()
step_uv.columns = ['step', 'user_count']

fig = go.Figure(go.Funnel(
    y = step_uv['step'], x = step_uv['user_count'],
    textinfo = "value+percent previous"))
fig.update_layout(title="新用户转化漏斗")
fig.show()

print(">>> 漏斗分析结论:用户从 'add_to_cart' 到 'checkout' 的转化率仅为 50%,是最大的流失瓶颈!需要优化购物车页面和结算流程。")


# ==============================================================================
# 第3步:核心用户价值分层 (RFM)
# ==============================================================================
print("\n" + "="*30 + "\nSTEP 3: 核心用户价值分层 (RFM)\n" + "="*30)
snapshot_date = datetime(2023, 12, 1)
rfm_analysis = order_df.groupby('user_id').agg(
    Recency=('order_date', lambda date: (snapshot_date - date.max()).days),
    Frequency=('order_date', 'count'),
    Monetary=('amount', 'sum')
).reset_index()

r_labels, f_labels, m_labels = range(4, 0, -1), range(1, 5), range(1, 5)
rfm_analysis['R_score'] = pd.qcut(rfm_analysis['Recency'], q=4, labels=r_labels, duplicates='drop')
rfm_analysis['F_score'] = pd.qcut(rfm_analysis['Frequency'], q=4, labels=f_labels, duplicates='drop')
rfm_analysis['M_score'] = pd.qcut(rfm_analysis['Monetary'], q=4, labels=m_labels, duplicates='drop')

# 筛选重要价值用户 (R/F/M得分都高的)
is_high_value = (rfm_analysis['R_score'].astype(int) >= 3) & \
                (rfm_analysis['F_score'].astype(int) >= 3) & \
                (rfm_analysis['M_score'].astype(int) >= 3)
high_value_users = rfm_analysis[is_high_value]
print(f"通过RFM模型,我们筛选出 {len(high_value_users)} 名重要价值用户。")
print("他们是我们的核心资产,必须重点维护!")
print(high_value_users.head())


# ==============================================================================
# 第4步:高价值用户流失预警
# ==============================================================================
print("\n" + "="*30 + "\nSTEP 4: 高价值用户流失预警\n" + "="*30)
# 此处简化处理:我们将“重要保持用户”(F/M高,但R低)定义为“预流失高价值用户”
r_avg = rfm_analysis['R_score'].astype(float).mean()
f_avg = rfm_analysis['F_score'].astype(float).mean()
m_avg = rfm_analysis['M_score'].astype(float).mean()

is_at_risk_high_value = (rfm_analysis['R_score'].astype(float) < r_avg) & \
                        (rfm_analysis['F_score'].astype(float) > f_avg) & \
                        (rfm_analysis['M_score'].astype(float) > m_avg)
at_risk_users = rfm_analysis[is_at_risk_high_value]

print(f"**预警**:发现 {len(at_risk_users)} 名高价值用户近期不活跃,有流失风险!")
print("他们是我们需要立即采取行动挽回的目标人群:")
print(at_risk_users[['user_id', 'Recency', 'Frequency', 'Monetary']])


# ==============================================================================
# 第5步:制定策略与最终结论
# ==============================================================================
print("\n" + "="*30 + "\nSTEP 5: 最终分析报告与行动建议\n" + "="*30)

# 先计算需要插入的变量
num_at_risk = len(at_risk_users)
avg_recency_threshold = int(rfm_analysis['Recency'].mean())

print("""
TO: CEO
FROM: 数据分析部
SUBJECT: 用户增长乏力专项分析报告

核心发现:
1.  **流量效率问题**: 新用户转化漏斗显示,用户在“加入购物车 -> 提交订单”环节流失严重,转化率仅50%,这是导致新客转化不足的首要原因。
2.  **高价值用户有流失风险**: 我们通过RFM模型识别出了一批核心高价值用户。然而,其中有 {num_at_risk} 名用户近期消费间隔过长(Recency > {avg_recency_threshold} 天),已进入“预流失”状态,若不干预,将对GMV造成重大损失。

行动建议:
1.  **产品优化 (治本)**: 立即组织产品和运营团队,针对购物车到结算页面进行专项优化。建议方案:简化结算流程、增加免运费提醒、提供更多支付选项。通过A/B测试验证优化效果。
2.  **精准挽回 (治标)**: 针对识别出的 {num_at_risk} 名“高价值预流失用户”,立即执行“精准召回Campaign”。
    *   **Action**: 由CRM团队通过邮件和短信,向这些用户推送大额专属优惠券(如“老朋友专享8折券”)。
    *   **Goal**: 在未来2周内,召回率达到30%以上。
    *   **Monitor**: 我部将持续追踪该批用户的后续行为,评估召回效果。

通过“优化流程”和“精准挽回”双管齐下,我们有信心在下个季度提升新用户转化率,并稳固核心用户群体,从而推动GMV重回增长轨道。
""".format(num_at_risk=num_at_risk, avg_recency_threshold=avg_recency_threshold))

漏斗分析结论:用户从 ‘add_to_cart’ 到 ‘checkout’ 的转化率仅为 50%,是最大的流失瓶颈!需要优化购物车页面和结算流程。

==============================

STEP 3: 核心用户价值分层 (RFM)

通过RFM模型,我们筛选出 31 名重要价值用户。
他们是我们的核心资产,必须重点维护!
user_id Recency Frequency Monetary R_score F_score M_score
0 2 11 7 1970 3 3 4
4 14 15 8 2441 3 4 4
12 55 15 7 1861 3 3 3
13 62 4 9 1935 4 4 3
15 88 9 8 2182 3 4 4

==============================

STEP 4: 高价值用户流失预警

预警:发现 15 名高价值用户近期不活跃,有流失风险!
他们是我们需要立即采取行动挽回的目标人群:
user_id Recency Frequency Monetary
7 32 25 7 1553
22 117 22 8 2224
34 158 20 7 1745
41 184 40 6 1775
45 199 26 7 2135
52 233 19 6 2081
53 236 33 9 2428
72 327 24 6 2028
75 342 32 9 2557
83 364 17 6 1432
90 406 39 6 1830
91 410 20 9 1955
99 434 18 6 2058
103 457 29 6 1694
106 484 29 8 2237

==============================

STEP 5: 最终分析报告与行动建议

TO: CEO
FROM: 数据分析部
SUBJECT: 用户增长乏力专项分析报告

核心发现:

  1. 流量效率问题: 新用户转化漏斗显示,用户在“加入购物车 -> 提交订单”环节流失严重,转化率仅50%,这是导致新客转化不足的首要原因。
  2. 高价值用户有流失风险: 我们通过RFM模型识别出了一批核心高价值用户。然而,其中有 15 名用户近期消费间隔过长(Recency > 23 天),已进入“预流失”状态,若不干预,将对GMV造成重大损失。

行动建议:

  1. 产品优化 (治本): 立即组织产品和运营团队,针对购物车到结算页面进行专项优化。建议方案:简化结算流程、增加免运费提醒、提供更多支付选项。通过A/B测试验证优化效果。
  2. 精准挽回 (治标): 针对识别出的 15 名“高价值预流失用户”,立即执行“精准召回Campaign”。
    • Action: 由CRM团队通过邮件和短信,向这些用户推送大额专属优惠券(如“老朋友专享8折券”)。
    • Goal: 在未来2周内,召回率达到30%以上。
    • Monitor: 我部将持续追踪该批用户的后续行为,评估召回效果。

通过“优化流程”和“精准挽回”双管齐下,我们有信心在下个季度提升新用户转化率,并稳固核心用户群体,从而推动GMV重回增长轨道。