积分安全交互保障 · 数据回收报告
📅 报告日期: 2026-06-15
🚀 Phase 1 上线: 2026-05-05 (9 家)
🚀 Phase 2 上线: 2026-05-29 (11 家)
📊 数据截至: 2026-06-14 (T+4 订单完整至 6/11)
一、核心指标 KPI 摘要
Phase 1 (9 家积分商家) · 5/5–6/14 累计 41 天
B − A 点击率
−0.37pp
A: 21.58% / B: 21.21%
B − A CB 订单数
−193 (−2.3%)
A: 8,216 / B: 8,023
B − A 佣金
−$1,517 (−19.2%)
A: $7,919 / B: $6,402
B 真实正向商家增量
+$365
tesco/rewe/kohls/allegro
Phase 2 (11 家推荐商家) · 5/29–6/14 累计 17 天
B − A 点击率
−0.01pp
A: 22.11% / B: 22.10%(持平)
B − A CB 订单数
−194 (−17.2%)
A: 1,126 / B: 932
B − A 佣金
−$130 (−18.1%)
A: $718 / B: $589
B 真实正向商家增量
+$25
doordash/moonpig/vistaprint
⚠️ 核心结论: Phase 1 click rate 已衰减并转负(+0.58pp → −0.37pp),佣金大幅负向 −19.2% 主要由 agoda B 桶 enabled=1 命中率仅 25% 拖累(−$1,224)。Phase 2 click 持平,但真实正向集中在 vistaprint/moonpig/shop-apotheke/mediaexpert 等少数商家。整体效应不及 PRD 预期 +3~+8pp。
二、实验背景
9 家积分体系商家(Phase 1) + 11 家扩展商家(Phase 2) 因用户担心激活 CB 影响自家积分/会员权益,click rate 显著低于全局均值。本实验在 icon / CB Popup / FCB 弹窗三处展示"积分不受影响"文案,50/50 AB 灰度。
实验组 B: extra.core_tips_style = '6.19.90-2' AND core_tips_enabled = 1 (真实看到文案)
对照组 A: extra.core_tips_style = '6.19.90-1' (无文案)
9 家 Phase 1 商家: tesco.com / allegro.pl / samsclub.com / kohls.com / target.com / marksandspencer.com / agoda.com / rewe.de / argos.co.uk
11 家 Phase 2 商家: sephora.com / doordash.com / gap.com / diy.com / shop-apotheke.com / ocado.com / moonpig.com / just-eat.co.uk / mediaexpert.pl / vistaprint.com / westlotto.de
三、数据口径与时间窗
| 项 | 说明 |
| 曝光表 | v_dwd_log_parse_extension_service_impress_di |
| 点击表 | v_dwd_log_parse_extension_service_click_di |
| 激活成功(出站) | dwd_log_event_outbound_result_det_d |
| SP journey | dws_log_sp_user_shopping_journey_detail_di |
| 订单表 | dwd_trd_user_orders_di (bu='CP' AND is_cb_order=1) |
| 场景过滤 | type='CB' AND scene IN ('Popup','FirstPage','Icon') |
| Phase 2 版本过滤 | 3 段式版本号 ≥ 6.20.60 |
| 订单延迟 | T+0=4% / T+1=50% / T+4=95% → PRE/POST 避开 3 天内日期 |
| 窗口对齐 | 同 DOW + 同长度 + T+4 完整 |
四、AB 点击层累计
| Scope | 窗口 | A 曝光 | A 点击 | A 率 | B 曝光 | B 点击 | B 率 | B − A |
| Phase 1 (9 家) | 5/5–6/14 (41 天) |
55,023 | 11,874 | 21.58% |
55,043 | 11,677 | 21.21% |
−0.37pp |
| Phase 2 (11 家,版本过滤) | 5/29–6/14 (17 天) |
16,505 | 3,649 | 22.11% |
16,327 | 3,609 | 22.10% |
−0.01pp |
五、Phase 1 按商家 click rate (5/5–6/14)
| 商家 | A 曝光 | A 点击 | A 率 | B 曝光 | B 点击 | B 率 | B − A |
| agoda.com | 4,876 | 1,122 | 23.01% | 5,045 | 1,174 | 23.27% | +0.26 |
| target.com | 10,962 | 2,025 | 18.47% | 11,035 | 2,089 | 18.93% | +0.46 |
| rewe.de | 4,346 | 472 | 10.86% | 4,336 | 470 | 10.84% | −0.02 |
| marksandspencer.com | 7,229 | 1,676 | 23.18% | 7,153 | 1,649 | 23.05% | −0.13 |
| kohls.com | 5,028 | 535 | 10.64% | 4,823 | 488 | 10.12% | −0.52 |
| allegro.pl | 12,786 | 3,310 | 25.89% | 12,630 | 3,181 | 25.19% | −0.70 |
| samsclub.com | 6,477 | 1,059 | 16.35% | 6,507 | 1,016 | 15.61% | −0.74 |
| tesco.com | 6,894 | 1,925 | 27.92% | 7,062 | 1,899 | 26.89% | −1.03 |
| argos.co.uk | 仍零数据 — 配置问题严重 | — |
六、Phase 2 按商家 click rate (版本过滤,5/29–6/14)
| 商家 | A 曝光 | A 点击 | A 率 | B 曝光 | B 点击 | B 率 | B − A |
| vistaprint.com | 309 | 37 | 11.97% | 334 | 53 | 15.87% | +3.90 |
| shop-apotheke.com | 1,506 | 316 | 20.98% | 1,495 | 351 | 23.48% | +2.50 |
| moonpig.com | 1,571 | 487 | 31.00% | 1,612 | 529 | 32.82% | +1.82 |
| mediaexpert.pl | 1,517 | 204 | 13.45% | 1,396 | 207 | 14.83% | +1.38 |
| doordash.com | 5,120 | 937 | 18.30% | 5,193 | 956 | 18.41% | +0.11 |
| diy.com (B&Q) | 1,390 | 360 | 25.90% | 1,454 | 367 | 25.24% | −0.66 |
| sephora.com | 1,145 | 171 | 14.93% | 1,013 | 144 | 14.22% | −0.71 |
| ocado.com | 1,498 | 389 | 25.97% | 1,432 | 360 | 25.14% | −0.83 |
| gap.com | 1,301 | 270 | 20.75% | 1,248 | 230 | 18.43% | −2.32 |
| just-eat.co.uk | 1,431 | 493 | 34.45% | 1,409 | 436 | 30.94% | −3.51 |
| westlotto.de | 59 | 13 | 22.03% | 53 | 10 | 18.87% | −3.16 |
七、Phase 1 严格漏斗 + 订单佣金 (5/5–6/11, T+4 完整)
口径: B 实验组 = 真实看到文案 (style=2 AND enabled=1) → 点击 popup → 同 domain CB 订单
| 商家 | A 曝光 | A 点击 | A 订单 | A 佣金 | B 曝光 | B 点击 | B 订单 | B 佣金 | Δ订单 | Δ佣金 |
| allegro.pl | 12,346 | 3,168 | 4,456 | $2,110.85 | 12,165 | 3,029 | 4,569 | $2,082.82 | +113 | −$28.03 |
| tesco.com | 6,613 | 1,832 | 1,692 | $745.88 | 6,332 | 1,651 | 1,571 | $967.51 | −121 | +$221.63 |
| rewe.de | 4,304 | 454 | 260 | $480.56 | 4,081 | 411 | 320 | $597.89 | +60 | +$117.33 |
| kohls.com | 4,889 | 513 | 51 | $131.71 | 4,294 | 436 | 52 | $157.36 | +1 | +$25.65 |
| marksandspencer.com | 7,010 | 1,599 | 554 | $445.65 | 6,608 | 1,491 | 496 | $423.34 | −58 | −$22.31 |
| samsclub.com | 6,234 | 997 | 440 | $1,005.43 | 5,472 | 848 | 407 | $503.50 | −33 | −$501.93 |
| target.com | 10,471 | 1,876 | 644 | $1,207.28 | 8,724 | 1,571 | 576 | $1,101.42 | −68 | −$105.86 |
| agoda.com | 4,225 | 925 | 119 | $1,792.11 | 1,043 | 215 | 32 | $568.51 | −87 | −$1,223.60 |
| Phase 1 合计 | 56,092 | 11,364 | 8,216 | $7,919.47 | 48,719 | 9,652 | 8,023 | $6,402.35 | −193 (−2.3%) | −$1,517.12 (−19.2%) |
主要拖累: agoda B 桶曝光仅 A 的 25%(1,043 vs 4,225),enabled=1 命中率严重偏低,导致 −$1,224 佣金缺口。samsclub-US 持续负向 −$502。两者合计抵消 Phase 1 其他商家全部正向。
八、Phase 2 严格漏斗 + 订单佣金 (5/29–6/11, T+4 完整,版本过滤)
| 商家 | A 曝光 | A 点击 | A 订单 | A 佣金 | B 曝光 | B 点击 | B 订单 | B 佣金 | Δ订单 | Δ佣金 |
| doordash.com | 4,359 | 742 | 417 | $137.00 | 3,128 | 548 | 353 | $152.26 | −64 | +$15.26 |
| just-eat.co.uk | 1,211 | 404 | 224 | $77.45 | 753 | 261 | 198 | $66.64 | −26 | −$10.81 |
| moonpig.com | 1,337 | 443 | 240 | $26.02 | 978 | 326 | 179 | $31.79 | −61 | +$5.77 |
| sephora.com | 871 | 125 | 41 | $138.86 | 654 | 85 | 61 | $107.84 | +20 | −$31.02 |
| diy.com | 1,156 | 286 | 78 | $126.12 | 843 | 225 | 70 | $98.45 | −8 | −$27.67 |
| mediaexpert.pl | 1,340 | 181 | 47 | $104.29 | 828 | 159 | 37 | $87.02 | −10 | −$17.27 |
| ocado.com | 1,356 | 342 | 21 | $43.53 | 997 | 203 | 10 | $19.96 | −11 | −$23.57 |
| shop-apotheke.com | 1,282 | 264 | 8 | $11.68 | 652 | 167 | 3 | $5.92 | −5 | −$5.76 |
| vistaprint.com | 273 | 32 | 12 | $9.21 | 192 | 36 | 13 | $13.66 | +1 | +$4.45 |
| gap.com | 1,105 | 230 | 12 | $12.93 | 922 | 165 | 8 | $4.97 | −4 | −$7.96 |
| westlotto.de | 59 | 13 | 26 | $31.19 | 0 | 0 | 0 | $0 | −26 | −$31.19 |
| Phase 2 合计 | 14,349 | 3,062 | 1,126 | $718.28 | 8,947 | 2,175 | 932 | $588.51 | −194 (−17.2%) | −$129.77 (−18.1%) |
桶量失衡: Phase 2 B/A 曝光比例仅 62%,虽然 click rate 持平,但下游订单/佣金的绝对值差距主要来自桶量失衡而非真实负向效应。
九、效应演化轨迹
Phase 1 演化
| 时间窗 | 天数 | click B−A | 订单 B−A | 佣金 B−A |
| 5/14 | 10 | +0.58pp | — | — |
| 5/15 | 11 | +0.22pp | — | — |
| 5/31 | 27 | +0.15pp | +105 (+1.9%) | +$73 (+1.6%) |
| 6/3 | 30 | 0.00pp | — | — |
| 6/8 | 35 | −0.35pp | −156 (−2.1%) | −$1,360 (−18.9%) |
| 6/14/11 | 38–41 | −0.37pp | −193 (−2.3%) | −$1,517 (−19.2%) |
Phase 2 演化(版本过滤)
| 时间窗 | 天数 | click B−A | 订单 B−A | 佣金 B−A |
| 6/3 | 6 | +0.34pp | — | — |
| 6/11 | 14 | −0.11pp | −218 (−27.7%) | −$185 (−32.6%) |
| 6/14/11 | 14–17 | −0.01pp | −194 (−17.2%) | −$130 (−18.1%) |
十、真实正向商家(剔除桶量失衡 + 负向干扰)
| Phase | 商家 | Δ佣金 | 备注 |
| 1 | tesco.com | +$221.63 | 桶量平衡(96%),订单 −121 但佣金涨,B 单均高 |
| 1 | rewe.de | +$117.33 | 桶量平衡(95%),订单 +60(+23%) |
| 1 | kohls.com | +$25.65 | 订单几乎持平,佣金小幅正向 |
| 1 | allegro.pl | +113 单 | 桶量平衡,订单 +2.5%,佣金 −$28(单均下降) |
| 2 | doordash.com | +$15.26 | 桶量失衡但佣金正向 |
| 2 | moonpig.com | +$5.77 | click +1.82pp 稳定 |
| 2 | vistaprint.com | +$4.45 | click +3.90pp 最强,样本小 |
| 真实正向合计 | +$390 | 约占大盘佣金 5-6% |
十一、结论与建议
真实结论: 文案确实在 tesco/rewe/kohls/allegro/doordash/moonpig/vistaprint 等约 7 家商家持续带来订单或佣金正向,合计 ~$390/期。但整体 PRE/POST 累计效果被 agoda(B 桶失衡 −$1,224)和 samsclub(持续负向 −$502)严重抵消,大盘表现 −19% 佣金。
紧急行动清单
| 优先级 | 商家/问题 | 行动 |
| 🔥 立即 | agoda B 桶 enabled=1 命中率仅 25% | 排查文案下发逻辑,agoda 是高佣金商家,严重拖累 |
| 🔥 立即 | argos.co.uk 41 天零数据 | BD/PM 必须介入修复曝光下发 |
| ⚠️ 排查 | samsclub-US, gap-US, just-eat 持续负向 | 文案对北美超市/餐饮场景适配性差,需重做或精准下发 |
| ✅ 保留 | tesco/rewe/kohls/allegro/doordash/moonpig/vistaprint | 持续观察 + 单店全量推荐 |
| ❌ 关停 | Phase 1 整体效应已转负 | 考虑全量回滚或重做文案 V2,只保留正向商家 |
| 💡 验证 | shop-apotheke / mediaexpert 反转(+2.50 / +1.38) | 确认文案是否在 6/3 后调整(可能 DE/PL 文案重新下发) |
十二、统计逻辑详解
1. AB 桶定义
- B 实验组(严格):
core_tips_style = '6.19.90-2' AND core_tips_enabled = '1' — 同时满足"被分到实验桶"且"真实展示了文案"
- A 对照组:
core_tips_style = '6.19.90-1' — 对照桶 enabled 字段始终为 0
- 关键陷阱: 仅按 style 过滤会包含未真实展示文案的用户(Phase 2 命中率 ~25%),夸大 B 样本
2. 严格 6 层漏斗
每层都是前一层子集,严格按"看到文案→点击→激活→SP→下单"链路:
| 层 | 数据源 | 过滤条件 |
| ① 曝光 | impress 表 | extra JSON 含 AB tag |
| ② 点击 | click 表 | 同 AB tag + guid 在① |
| ③ 激活成功 | outbound 表 | outbound_state='1' AND NOT (reason_type='0' AND reason='1') |
| ④ SP 用户 | journey 表 | guid 在③ |
| ⑤ 下单用户 | order 表 | bu='CP' AND is_cb_order=1 |
| ⑥ 订单数 + 佣金 | order 表聚合 | count(1), sum(commission) |
3. 时间窗对齐规则
- click 累计: pt >= 实验上线日 至最新 pt
- 严格漏斗 + 订单: 上线日 至 (今日 − 4 天) — 保证 T+4 联盟回调完整
- 同 DOW 对齐: PRE 窗口和 POST 窗口必须长度相同且起始为同一周天
4. 版本号过滤(Phase 2)
Phase 2 仅统计扩展版本 ≥ 6.20.60 的用户:
WHERE (
cast(substring_index(version, '.', 1) AS unsigned) * 10000
+ cast(substring_index(substring_index(version, '.', 2), '.', -1) AS unsigned) * 100
+ cast(substring_index(version, '.', -1) AS unsigned)
) >= 62060
3 段式版本号数值化: major×10000 + minor×100 + patch
5. ITT vs 严格漏斗
- ITT (Intent-To-Treat): 按"被分桶"算订单,无视是否真完成链路 — 适合早期信号
- 严格漏斗: 必须看到→点击→激活→SP→下单全通 — 适合放量决策
- 实测两者差异 ~6pp 但方向一致,严格漏斗终态是决策依据
6. 真实正向商家筛选
- 剔除 B/A 桶量比 < 50% 的商家(避免桶量失衡误判)
- 保留 B 佣金 > A 佣金 的商家
- 排除样本量 < 50 用户的边缘 case
十三、SQL 全集
📝 SQL 1 · Phase 1 累计 click rate
SELECT
i.arm, i.impr_users,
COALESCE(c.click_users, 0) AS click_users,
ROUND(100.0 * COALESCE(c.click_users, 0) / NULLIF(i.impr_users, 0), 2) AS click_rate_pct
FROM (
SELECT
CASE WHEN get_json_object(extra, '$.core_tips_style') = '6.19.90-2' THEN 'B_exp'
WHEN get_json_object(extra, '$.core_tips_style') = '6.19.90-1' THEN 'A_ctrl' END AS arm,
count(distinct guid) AS impr_users
FROM v_dwd_log_parse_extension_service_impress_di
WHERE pt BETWEEN '2026-05-05' AND '2026-06-14'
AND domain IN ('tesco.com','allegro.pl','samsclub.com','kohls.com','target.com',
'marksandspencer.com','agoda.com','rewe.de','argos.co.uk')
AND type = 'CB' AND scene IN ('Popup','FirstPage','Icon')
AND get_json_object(extra, '$.core_tips_style') IN ('6.19.90-1','6.19.90-2')
GROUP BY 1
) i
LEFT JOIN (
-- 同结构换 v_dwd_log_parse_extension_service_click_di
SELECT
CASE WHEN get_json_object(extra, '$.core_tips_style') = '6.19.90-2' THEN 'B_exp'
WHEN get_json_object(extra, '$.core_tips_style') = '6.19.90-1' THEN 'A_ctrl' END AS arm,
count(distinct guid) AS click_users
FROM v_dwd_log_parse_extension_service_click_di
WHERE pt BETWEEN '2026-05-05' AND '2026-06-14'
AND domain IN (...同上...)
AND type = 'CB' AND scene IN ('Popup','FirstPage','Icon')
AND get_json_object(extra, '$.core_tips_style') IN ('6.19.90-1','6.19.90-2')
GROUP BY 1
) c ON i.arm = c.arm
ORDER BY i.arm;
📝 SQL 2 · Phase 2 累计 click rate(版本过滤)
SELECT i.arm, i.impr_users, COALESCE(c.click_users,0) AS click_users,
ROUND(100.0*COALESCE(c.click_users,0)/NULLIF(i.impr_users,0),2) AS click_rate_pct
FROM (
SELECT CASE WHEN get_json_object(extra,'$.core_tips_style')='6.19.90-2' THEN 'B_exp'
WHEN get_json_object(extra,'$.core_tips_style')='6.19.90-1' THEN 'A_ctrl' END AS arm,
count(distinct guid) AS impr_users
FROM v_dwd_log_parse_extension_service_impress_di
WHERE pt BETWEEN '2026-05-29' AND '2026-06-14'
AND domain IN ('sephora.com','doordash.com','gap.com','diy.com','shop-apotheke.com',
'ocado.com','moonpig.com','just-eat.co.uk','mediaexpert.pl',
'vistaprint.com','westlotto.de')
AND type='CB' AND scene IN ('Popup','FirstPage','Icon')
AND get_json_object(extra,'$.core_tips_style') IN ('6.19.90-1','6.19.90-2')
AND (cast(substring_index(version,'.',1) AS unsigned)*10000
+ cast(substring_index(substring_index(version,'.',2),'.',-1) AS unsigned)*100
+ cast(substring_index(version,'.',-1) AS unsigned)) >= 62060
GROUP BY 1
) i
LEFT JOIN (
-- 同结构换 click 表
) c ON i.arm=c.arm
ORDER BY i.arm;
📝 SQL 3 · Phase 1 严格漏斗 + 订单佣金(B 实验组)
SELECT
'B_exp' AS arm, i.domain,
count(distinct i.guid) AS impr_users,
count(distinct case when c.guid is not null then i.guid end) AS click_users,
count(distinct case when c.guid is not null AND o.guid is not null then i.guid end) AS order_users,
sum(case when c.guid is not null AND o.guid is not null then o.cb_orders else 0 end) AS orders,
ROUND(sum(case when c.guid is not null AND o.guid is not null then o.commission else 0 end),2) AS commission
FROM (
-- 看到了文案的用户 (style=2 AND enabled=1)
SELECT DISTINCT guid, domain FROM v_dwd_log_parse_extension_service_impress_di
WHERE pt BETWEEN '2026-05-05' AND '2026-06-11'
AND domain IN (... 9 家 ...)
AND type='CB' AND scene IN ('Popup','FirstPage','Icon')
AND get_json_object(extra,'$.core_tips_style')='6.19.90-2'
AND get_json_object(extra,'$.core_tips_enabled')='1'
) i
LEFT JOIN (
-- 点击了带文案的 popup
SELECT DISTINCT guid, domain FROM v_dwd_log_parse_extension_service_click_di
WHERE pt BETWEEN '2026-05-05' AND '2026-06-11'
AND domain IN (... 9 家 ...)
AND type='CB' AND scene IN ('Popup','FirstPage','Icon')
AND get_json_object(extra,'$.core_tips_style')='6.19.90-2'
AND get_json_object(extra,'$.core_tips_enabled')='1'
) c ON i.guid=c.guid AND i.domain=c.domain
LEFT JOIN (
-- CB 订单 GROUP BY guid 算佣金
SELECT guid, domain, count(1) AS cb_orders, sum(commission) AS commission
FROM dwd_trd_user_orders_di
WHERE create_date BETWEEN '2026-05-05' AND '2026-06-11'
AND domain IN (... 9 家 ...)
AND bu='CP' AND is_cb_order=1
GROUP BY guid, domain
) o ON i.guid=o.guid AND i.domain=o.domain
GROUP BY i.domain
ORDER BY i.domain;
-- A 对照组同结构, 去掉 enabled=1 过滤, style 改为 '6.19.90-1'
📝 SQL 4 · Phase 2 严格漏斗(含版本过滤)
-- 与 SQL 3 同结构, 增加版本过滤,domain 改 11 家 Phase 2,日期改 5/29 起
SELECT
'B_exp' AS arm, i.domain,
count(distinct i.guid) AS impr_users,
count(distinct case when c.guid is not null then i.guid end) AS click_users,
count(distinct case when c.guid is not null AND o.guid is not null then i.guid end) AS order_users,
sum(case when c.guid is not null AND o.guid is not null then o.cb_orders else 0 end) AS orders,
ROUND(sum(case when c.guid is not null AND o.guid is not null then o.commission else 0 end),2) AS commission
FROM (
SELECT DISTINCT guid, domain FROM v_dwd_log_parse_extension_service_impress_di
WHERE pt BETWEEN '2026-05-29' AND '2026-06-11'
AND domain IN ('sephora.com','doordash.com','gap.com','diy.com','shop-apotheke.com',
'ocado.com','moonpig.com','just-eat.co.uk','mediaexpert.pl',
'vistaprint.com','westlotto.de')
AND type='CB' AND scene IN ('Popup','FirstPage','Icon')
AND get_json_object(extra,'$.core_tips_style')='6.19.90-2'
AND get_json_object(extra,'$.core_tips_enabled')='1'
AND (cast(substring_index(version,'.',1) AS unsigned)*10000
+ cast(substring_index(substring_index(version,'.',2),'.',-1) AS unsigned)*100
+ cast(substring_index(version,'.',-1) AS unsigned)) >= 62060
) i
LEFT JOIN ( -- click 表同结构 ) c ON i.guid=c.guid AND i.domain=c.domain
LEFT JOIN ( -- order 表 GROUP BY guid,domain ) o ON i.guid=o.guid AND i.domain=o.domain
GROUP BY i.domain
ORDER BY i.domain;
📝 SQL 5 · 完整漏斗(含 outbound 激活成功 + SP journey)
SELECT '<arm>' AS arm,
count(distinct i.guid) AS impr_users,
count(distinct case when c.guid is not null then i.guid end) AS click_users,
count(distinct case when c.guid is not null AND ob.client_id is not null then i.guid end) AS act_users,
count(distinct case when c.guid is not null AND ob.client_id is not null AND sp.guid is not null then i.guid end) AS sp_users,
count(distinct case when c.guid is not null AND ob.client_id is not null AND sp.guid is not null AND o.guid is not null then i.guid end) AS order_users,
sum(case when c.guid is not null AND ob.client_id is not null AND sp.guid is not null AND o.guid is not null then o.cb_orders else 0 end) AS orders
FROM (impress style=2 AND enabled=1) i
LEFT JOIN (click 同 tag) c ON i.guid=c.guid
LEFT JOIN (
-- outbound: 激活成功
SELECT DISTINCT client_id FROM dwd_log_event_outbound_result_det_d
WHERE access_at >= '2026-05-05' AND access_at < '2026-06-12' -- 注意:用 access_at 不是 pt
AND domain IN (...) AND business='2' AND outbound_state='1'
AND NOT (outbound_state_reason_type='0' AND outbound_state_reason='1')
) ob ON i.guid=ob.client_id
LEFT JOIN (
SELECT DISTINCT guid FROM dws_log_sp_user_shopping_journey_detail_di
WHERE pt BETWEEN '2026-05-05' AND '2026-06-11' AND domain IN (...)
) sp ON i.guid=sp.guid
LEFT JOIN (
SELECT guid, count(1) AS cb_orders FROM dwd_trd_user_orders_di
WHERE create_date BETWEEN '2026-05-05' AND '2026-06-11' AND domain IN (...)
AND bu='CP' AND is_cb_order=1 GROUP BY guid
) o ON i.guid=o.guid;
📝 SQL 6 · 版本号 ≥ 6.20.60 过滤片段
-- 3 段式版本号数值化: major×10000 + minor×100 + patch >= 62060
AND (
cast(substring_index(version, '.', 1) AS unsigned) * 10000
+ cast(substring_index(substring_index(version, '.', 2), '.', -1) AS unsigned) * 100
+ cast(substring_index(version, '.', -1) AS unsigned)
) >= 62060
-- 示例:
-- '6.20.60' → 6*10000 + 20*100 + 60 = 62060 ✓
-- '6.20.69' → 62069 ✓
-- '6.30.9' → 6*10000 + 30*100 + 9 = 63009 ✓
-- '6.19.89' → 61989 ✗ 不符合
关键陷阱速查
| 陷阱 | 避坑 |
| outbound 表无 pt 字段 | 用 access_at 时间戳过滤 |
| 激活成功判定 | outbound_state='1' AND NOT (reason_type='0' AND reason='1') 不要光看 state=1 |
| CB outbound 标识 | business='2' 是字符串不是数字 |
| 订单延迟 | T+0=4%, T+4=95%, PRE/POST 切勿包含 3 天内日期 |
| kpis 聚合表无 extra JSON | 做 AB 必回 raw 表 v_dwd_log_parse_extension_service_* |
| chained LEFT JOIN 级联陷阱 | 所有 LEFT JOIN 都从 base 表 i.guid 直接 JOIN,不要 c.guid → o.guid |
| 订单表 country 字段名 | 是 visit_country 不是 country |
| 同 DOW 对齐 | PRE/POST 必须同长度同起始 DOW(周一对周一) |