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) 推送渠道 (IV) 促销强度 (T) 用户转化 (Y) 图例 混杂因子 (C) 处理变量 (T) 结果变量 (Y) 工具变量 (IV)
DAG解读:
  • 混杂路径(后门路径): C1/C2/C3 → T 和 C1/C2/C3 → Y。这些路径同时影响促销决策和转化结果,是产生偏差的主要来源。
  • 因果路径(前门路径): T → Y。这是我们关心的核心因果效应。
  • 工具变量路径: IV → T → Y。IV仅通过T影响Y,可用于处理未观测混杂。

2.3 混杂因子的识别与处理策略

在工程落地中,识别混杂因子是特征提取的第一步。以下是针对促销场景的常见混杂因子及其处理策略:

  1. 用户历史行为(History)
    • 识别依据:高活跃用户更易被促销触达,且本身转化率更高。
    • 工程策略:构建“过去30天购买次数”、“历史客单价”等特征,直接纳入模型作为控制变量。
  2. 季节/节假日(Season)
    • 识别依据:大促期间促销力度大,同时用户购买意愿自然上升。
    • 工程策略:使用One-Hot编码或Embedding表示月份、是否节假日,作为固定效应特征。
  3. 商品品类(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并非一次性工作,而是需要与业务方反复对齐的迭代过程。以下是推荐的工程落地流程:

  1. 业务访谈:与运营、产品经理确认“促销是如何触达用户的?”、“哪些因素会影响促销决策?”。
  2. 数据探索:通过相关性分析、条件独立性检验(如卡方检验、Fisher精确检验)初步验证变量关系。
  3. DAG草图绘制:使用networkx或dagitty库绘制初始DAG。
  4. 专家评审:邀请业务专家评审DAG结构,确认是否存在遗漏的混杂因子或反向因果。
  5. 特征提取:根据DAG中的节点,提取对应的工程特征,并确保所有混杂因子都被纳入模型。
工程工具推荐:Python库 dowhy 和 causalnex 支持从数据中自动学习DAG结构,并验证后门准则。在促销场景中,建议先使用业务知识构建DAG,再使用数据驱动方法进行修正,避免纯数据驱动导致的“虚假因果边”。