返回首页

无 A/B 的促销评估:Diff-in-Diff 和 PSM

本文描述了在无 A/B 测试的情况下评估开放促销效果的方法:使用 LFL 用户的 Diff-in-Diff 和倾向评分匹配。提供了计算示例、代码和组质量检查。

Diff-in-Diff 和 PSM:无测试的促销评估
Advertisement 728x90

无需A/B测试评估促销效果:双重差分与倾向得分匹配

在无法进行随机分配的促销活动中,必须采用替代评估手段。核心方法包括双重差分法(Diff-in-Diff)用于比较趋势变化,以及倾向得分匹配(PSM)构建可比对照组。这些技术能有效剥离季节性波动和市场自然趋势的影响,精准识别促销的真实效果。

构建对照组:区分促销效应与外部因素

一个可靠的对照组是判断促销真实影响的关键。若无对照组,节日期间任何指标增长都可能被错误归因于促销活动——实际上,这很可能只是季节性消费惯性的体现。

双重差分法:基于共性对照组的基础方案

双重差分法通过对比目标群体(参与促销用户)与对照组(全体用户)的指标变化趋势来衡量效果。直接比较促销前后数据会忽略初始差异——参与促销的用户通常忠诚度更高,且平均订单金额本就偏高。

Google AdInline article slot

该方法适用于同类可比用户(LFL用户),即促销前后均活跃的用户,从而排除新用户引入带来的干扰。

计算步骤如下:

  • 统计所有LFL用户的预促销期至促销期趋势;
  • 统计LFL促销参与者相同时间段的趋势;
  • 两者之差即为促销带来的增量效应。

以客单价为例:

Google AdInline article slot

| 时段 | 目标群体 | 全体用户 |

|------------|----------|----------|

| 促销前 | 2,500卢布 | 1,350卢布 |

Google AdInline article slot

| 促销期间 | 3,000卢布 | 1,500卢布 |

| 增长率 | +20% | +11% |

促销效应 = 20% - 11% = +9%。基准值估算:3,000 ÷ 1.09 ≈ 2,752卢布,增量收益约248卢布。

局限性:促销参与者可能具有不同于整体人群的行为特征,例如独特的消费周期或季节偏好。

增强型双重差分:主题对照组策略

针对线下促销(如烘焙食品折扣),可选取在同一门店购买相似商品的顾客作为对照组(如其他烘焙品类)。两组在产品类别、销售场景上高度一致:同一家门店,一类商品有优惠,另一类无。

此方法显著降低偏差,但无法完全消除——比如甜点爱好者可能更注重性价比,而披萨消费者倾向于批量购买,行为模式存在本质差异。

倾向得分匹配:模拟随机对照实验

倾向得分匹配(PSM)旨在复现A/B测试的随机分组逻辑。利用促销前的用户特征(如生命周期价值、活跃天数、历史客单价、账户年龄等),训练模型预测其参与促销的概率(倾向得分,范围0~1)。

模型基于不含参与标签的数据训练,随后使用k-最近邻算法(k-NN)按得分配对。为确保匹配精度,对照池规模需远大于目标群体。

使用XGBoost的示例代码:

# 定义模型参数(可通过Optuna优化)
model_params = {
    'objective': 'binary:logistic',
    'eval_metric': 'logloss',
    'learning_rate': 0.4,
    'max_depth': 3,
    'min_child_weight': 10,
    'subsample': 0.8,
    'colsample_bytree': 0.8,
    'lambda': 1.0,
    'alpha': 0.1,
    'random_state': seed,
    'n_estimators': 100
}

# 训练提升模型
pm = GradientBoostedPropensityModel(early_stop=False, **model_params)
ps = pm.fit_predict(all_data[features], all_data['test'])

# 进行配对匹配
matcher = NearestNeighborMatch(replace=False, ratio=1, random_state=seed)
all_data['score'] = ps
matched = matcher.match(all_data, 'test', ['score'])

# 最终分组结果
matched[(matched['test'] == 0)].describe()
matched[(matched['test'] == 1)].describe()

质量验证要点

  • 两组关键指标应相近;
  • 校准性检查:当得分=0.5时,约50%应为促销参与者;
  • 各特征分布需保持一致。

完成匹配后,即可应用双重差分法分析。主要限制包括:

  • 假设未来行为模式与过去相似;
  • 可能受区域季节性影响;
  • 对照池有限导致偏差——仅匹配未参与用户,包含因客观条件无法参与的群体。

核心结论

  • 对照组不可或缺:缺乏对照组将使促销效果与宏观趋势混淆;
  • 双重差分法简单高效:推荐使用LFL用户或主题对照组;
  • 倾向得分匹配更精准:虽需数据与算力支持,但可逼近A/B测试效果;
  • 务必验证匹配质量:检查指标、校准性和特征分布;
  • 优先选择A/B测试:若条件允许,应避免事后评估。

— Editorial Team

Advertisement 728x90

继续阅读