paper2skills Playbook

Identity Fragmentation Debiasing(身份碎片化纠偏)

Skill-Identity-Fragmentation-Debiasing · 13-广告分析

causalexperimentoptimizationrag广告与投放知识图谱与RAG风控与合规WF-B 广告优化WF-H 复购增长
实现难度⭐⭐☆☆☆
业务视角
适用角色广告优化师 / 投放负责人 · CMO · 运营负责人
适用平台Amazon PPC(SP/SB/SD)· TikTok Ads · Meta 广告 · 多平台归因
什么情况下用广告账户几十个系列,不知道哪个在真正赚钱;ROAS 看起来好看但实际利润没有提升;预算有限想集中打高价值用户
成功是什么样的每分广告预算有明确 ROI 追踪,砍掉低效渠道后同等预算 ROAS 提升 30-50%
业务痛点
ROAS 好看但利润没有涨不知道哪个素材真的有效归因窗口期不同数据打架TikTok/Meta/Amazon 广告数据整合不了

1. 解决的问题

核心思想:用户在多设备间切换(手机看广告、电脑下单)导致底层 Cookie/IDFA 无法跨端串联,同一真实用户被拆分为多个"碎片化身份"。这使得广告平台看到的 ROAS 严重失真——有的记录"只有曝光没有购买",有的记录"只有购买没有广告"。算法通过 Stratified Aggregation(分层聚合) 在 Cohort 层面重建真实曝光与购买的对应关系,无需跨设备图谱,还原因果 ROI。

2. 核心算法逻辑

核心思想:用户在多设备间切换(手机看广告、电脑下单)导致底层 Cookie/IDFA 无法跨端串联,同一真实用户被拆分为多个"碎片化身份"。这使得广告平台看到的 ROAS 严重失真——有的记录"只有曝光没有购买",有的记录"只有购买没有广告"。算法通过 Stratified Aggregation(分层聚合) 在 Cohort 层面重建真实曝光与购买的对应关系,无需跨设备图谱,还原因果 ROI。

3. 业务应用场景

业务问题:女装独立站通过 Instagram(手机端)大量投放信息流广告。后台报表显示广告 CVR 极低(曝光了但转化接近 0),财务部门准备砍掉 Instagram 预算。真实情况是:高活跃用户在手机看到广告后,习惯切换到电脑上完成购买——这部分转化在设备级日志中被完全"断链",无法归因到 Instagram。

数据要求: - 字段:`user_id(或邮箱哈希/手机号哈希)| device_id | cohort(地区+时段) | exposed | converted` - 数据源:Instagram Ads API(曝光数据)+ Shopify 后台(订单数据,含 UTM 来源) - 如无 user\_id 关联能力,则退化为 Cohort 层面的聚合统计(不需要用户级关联)

预期产出: - 朴素设备级 ATE:≈ 0.016(严重低估) - Stratified Aggregation 纠偏后 ATE:≈ 0.055-0.065(接近真实效果) - 纠偏后 ROI 从 0.28 提升至 0.80+,揭示 Instagram 渠道被严重低估

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

未自动抽取;请查看原始 Skill 卡片。

7. 代码模板

代码块数量:1 · 路径:未检测到

from model import (
    simulate_cross_device_logs,
    naive_roi_estimate,
    StratifiedAggregationDebiaser,
    bias_decomposition_report,
)

# 1. 加载数据(或使用模拟数据)
df = simulate_cross_device_logs(
    n_true_users=3000,
    fragmentation_rate=0.40,  # 40% 用户跨设备碎片化
    ad_lift=0.06,              # 真实广告提升效果 6pp(仅模拟用)
    seed=2024,
)
# df = pd.read_csv("cross_device_log.csv")  # 真实数据替换

# 2. 朴素估计(展示有偏结果)
naive = naive_roi_estimate(df, ad_spend=10000.0)
print(f"朴素 ATE: {naive['naive_lift']:.4f}  朴素 ROI: {naive['naive_roi']:.3f}")
# 朴素 ATE: 0.0164   朴素 ROI: 0.279  ← 严重低估(碎片化失真)

# 3. Stratified Aggregation 纠偏
debiaser = StratifiedAggregationDebiaser(cohort_col="cohort", min_cohort_size=20)
debiaser.fit(df)  # 关键:内部自动按 user_id 聚合,恢复真实曝光/购买状态
corrected = debiaser.corrected_roi(ad_spend=10000.0, revenue_per_conversion=50.0)
print(f"纠偏 ATE: {corrected['corrected_ate']:.4f}  纠偏 ROI: {corrected['corrected_roi']:.3f}")
# 纠偏 ATE: 0.0548   纠偏 ROI: 0.821  ← 接近真实效果

# 4. Cohort 级别报告
cohort_df = debiaser.cohort_report()
print(cohort_df)
# cohort  n_users  n_exposed  n_control  cvr_exposed  cvr_control    ate  ci_lower  ci_upper
# C05      629        355        274        0.2901       0.1460   0.1442    0.0811    0.2072
# ...

# 5. 对比汇总
bias_df = bias_decomposition_report(naive, corrected, true_lift=0.06)
print(bias_df)

8. 论文来源

  • 2008.12849