2. 促销场景的因果图建模:定义促销变量、结果变量与混杂因子,构建DAG
在因果推断的框架下,促销活动并非简单的“投放即生效”过程。用户购买行为受到价格、渠道、季节、用户自身属性等多重因素交织影响。若直接使用原始特征进行预测,模型极易学到虚假关联(如“夏季促销”与“高销量”的相关性,而非因果性)。本章的核心任务是:通过构建有向无环图(DAG),明确促销场景中的因果结构,为后续的特征提取与工程落地奠定理论基础。
2.1 核心变量定义
在促销因果图中,我们首先需要明确三类核心节点:处理变量(Treatment)、结果变量(Outcome)和混杂因子(Confounders)。下表给出了促销场景下的典型定义:
| 变量类型 | 变量名称 | 符号 | 定义与说明 |
|---|---|---|---|
| 处理变量 (T) | 促销强度 | Promo |
是否促销、折扣深度、满减金额等。是因果干预的核心变量。 |
| 结果变量 (Y) | 用户转化 | Conversion |
是否购买、购买数量、GMV等。是因果效应评估的目标。 |
| 混杂因子 (C) | 用户历史行为 | History |
过去30天购买次数、客单价。同时影响促销触达概率和转化。 |
| 混杂因子 (C) | 季节/节假日 | Season |
是否双11、618、春节。同时影响促销策略和用户购买意愿。 |
| 混杂因子 (C) | 商品品类 | Category |
快消品、耐用品、高客单价商品。影响促销敏感度和转化率。 |
| 工具变量 (IV) | 平台推送渠道 | Channel |
短信、App Push、首页弹窗。仅通过影响促销曝光来影响转化。 |
工程提示:在特征工程阶段,
History 和 Season 是必须纳入模型的特征。若遗漏,模型会将“高活跃用户更易被促销转化”这一混杂效应错误地归因为促销本身的因果效应,导致促销效果被高估。
2.2 构建促销场景DAG
基于上述变量定义,我们构建一个包含混杂因子和工具变量的标准促销因果图。该图清晰地展示了变量间的因果流向:
DAG解读:
- 混杂路径(后门路径): C1/C2/C3 → T 和 C1/C2/C3 → Y。这些路径同时影响促销决策和转化结果,是产生偏差的主要来源。
- 因果路径(前门路径): T → Y。这是我们关心的核心因果效应。
- 工具变量路径: IV → T → Y。IV仅通过T影响Y,可用于处理未观测混杂。
2.3 混杂因子的识别与处理策略
在工程落地中,识别混杂因子是特征提取的第一步。以下是针对促销场景的常见混杂因子及其处理策略:
- 用户历史行为(History)
- 识别依据:高活跃用户更易被促销触达,且本身转化率更高。
- 工程策略:构建“过去30天购买次数”、“历史客单价”等特征,直接纳入模型作为控制变量。
- 季节/节假日(Season)
- 识别依据:大促期间促销力度大,同时用户购买意愿自然上升。
- 工程策略:使用One-Hot编码或Embedding表示月份、是否节假日,作为固定效应特征。
- 商品品类(Category)
- 识别依据:快消品促销频繁且敏感度高,耐用品促销周期长。
- 工程策略:构建品类ID特征,或计算品类级别的促销弹性作为交叉特征。
避坑指南:不要将“促销曝光次数”同时作为处理变量和混杂因子。曝光次数本身是促销策略的一部分,若将其作为混杂因子控制,会阻断部分因果路径,导致“过度控制偏差”(Overcontrol Bias)。
2.4 从DAG到特征工程的映射
构建DAG的最终目的是指导特征提取。下表展示了DAG节点与工程特征的对应关系:
| DAG节点 | 原始数据字段 | 工程特征示例 | 特征类型 |
|---|---|---|---|
| 促销强度 (T) | 折扣率、满减金额 | discount_rate, is_promo |
核心因果特征 |
| 用户历史 (C1) | 订单表、浏览日志 | last_30d_order_cnt, avg_order_value |
混杂控制特征 |
| 季节 (C2) | 日期、日历 | is_holiday, month_embed |
混杂控制特征 |
| 商品品类 (C3) | 商品主数据 | category_id, category_promo_elasticity |
混杂控制特征 |
| 推送渠道 (IV) | 推送日志 | push_channel_type |
工具变量特征 |
2.5 构建DAG的工程流程
在实际项目中,构建DAG并非一次性工作,而是需要与业务方反复对齐的迭代过程。以下是推荐的工程落地流程:
- 业务访谈:与运营、产品经理确认“促销是如何触达用户的?”、“哪些因素会影响促销决策?”。
- 数据探索:通过相关性分析、条件独立性检验(如卡方检验、Fisher精确检验)初步验证变量关系。
- DAG草图绘制:使用
networkx或dagitty库绘制初始DAG。 - 专家评审:邀请业务专家评审DAG结构,确认是否存在遗漏的混杂因子或反向因果。
- 特征提取:根据DAG中的节点,提取对应的工程特征,并确保所有混杂因子都被纳入模型。
工程工具推荐:Python库
dowhy 和 causalnex 支持从数据中自动学习DAG结构,并验证后门准则。在促销场景中,建议先使用业务知识构建DAG,再使用数据驱动方法进行修正,避免纯数据驱动导致的“虚假因果边”。