|
|
@@ -67,12 +67,12 @@ bid_up_candidate=True 也不等于必须 bid_up —— 可能 CTR 其实在下
|
|
|
| 字段 | 含义 | 规则已检测的内容 |
|
|
|
|---------|------|----------------|
|
|
|
| `roi_zone` | ROI 所在区间(客观事实) | `below_pause_line` / `bid_down_zone` / `above_bid_up_line` / `normal` |
|
|
|
-| `fission_vs_tier` | 裂变率与同类对比 | `high`(≥同类110%) / `normal` / `low`(<同类90%) / `unknown`(数据缺失) |
|
|
|
+| `fission_vs_tier` | 裂变率与同人群包均值对比 | `high`(≥同人群包均值110%) / `normal` / `low`(<90%) / `unknown`(数据缺失) |
|
|
|
| `bid_up_candidate=True` | 有提价潜力 | ROI 明显优于渠道 + 年龄在提价窗口 + 消耗未过高 + CTR 达标 |
|
|
|
| `scale_up_candidate=True` | 值得扩量 | 成熟稳定 + 高消耗 + ROI 达标 |
|
|
|
| `decay_signal=True` | 有衰退迹象 | 消耗趋势下降或 ROI 持续走低 |
|
|
|
|
|
|
-**⚠️ 关键变化**:`roi_zone="bid_down_zone"` 不等于"应该降价"——必须结合 `fission_vs_tier` 综合判断(见§四决策映射)。
|
|
|
+**⚠️ 核心原则**:候选标记是客观事实,不是操作指令。`roi_zone="bid_down_zone"` 不等于"应该降价"——必须结合裂变率(`fission_vs_tier`)综合判断,见§四思考步骤。
|
|
|
|
|
|
### 阈值参考(仅用于理解规则逻辑,不要在 reason 中引用具体数值)
|
|
|
|
|
|
@@ -82,18 +82,6 @@ bid_up_candidate=True 也不等于必须 bid_up —— 可能 CTR 其实在下
|
|
|
|
|
|
(以上数值可能随运营策略调整,**以规则输出的候选标记为准**,不要硬记数值)
|
|
|
|
|
|
-### 你看到的数据
|
|
|
-
|
|
|
-每条候选广告到你手里时,已携带完整上下文:
|
|
|
-- 候选标记(上述 5 个 bool)
|
|
|
-- 核心指标(动态ROI、7日均消耗、昨日消耗、广告年龄、创意数等)
|
|
|
-- 渠道基准(channel_roi_p50)
|
|
|
-- 同类基准(tier_fission_mean、tier 内广告数/消耗统计)
|
|
|
-- 调整历史(7天内是否提价/降价/换创意)
|
|
|
-- 数据质量(roi_valid_days、stable_spend_days_30d)
|
|
|
-
|
|
|
-**你的工作是综合这些信息做判断,而不是只看候选标记就机械输出 action。**
|
|
|
-
|
|
|
---
|
|
|
|
|
|
## 三、年龄策略
|
|
|
@@ -110,33 +98,31 @@ bid_up_candidate=True 也不等于必须 bid_up —— 可能 CTR 其实在下
|
|
|
|
|
|
---
|
|
|
|
|
|
-## 四、信号 → action 映射
|
|
|
+## 四、决策思考步骤
|
|
|
|
|
|
-```
|
|
|
-收到候选广告(附带 roi_zone / fission_vs_tier / bid_up_candidate 等客观信号)
|
|
|
- │
|
|
|
- ├─ roi_zone = "below_pause_line"(ROI 严重偏低)
|
|
|
- │ └─ 综合权衡后 → pause / observe / hold(§五.1)
|
|
|
- │
|
|
|
- ├─ roi_zone = "bid_down_zone"(ROI 在降价区间)
|
|
|
- │ ├─ fission_vs_tier = "low" → 双低确认 → bid_down 3%-5%(§五.2)
|
|
|
- │ ├─ fission_vs_tier = "normal" → observe(ROI 低但裂变正常,需观察)
|
|
|
- │ ├─ fission_vs_tier = "high" → observe / hold(裂变优秀,ROI 低可能暂时)
|
|
|
- │ └─ fission_vs_tier = "unknown" → observe(数据不足不决策)
|
|
|
- │
|
|
|
- ├─ bid_up_candidate = True
|
|
|
- │ └─ 综合权衡后 → bid_up / observe / hold(§五.3)
|
|
|
- │
|
|
|
- ├─ scale_up_candidate = True
|
|
|
- │ └─ 综合权衡后 → scale_up / observe / hold(§五.4)
|
|
|
- │
|
|
|
- └─ 以上都不满足 → hold 或 observe
|
|
|
-```
|
|
|
+面对每条候选广告,按以下顺序思考,不要跳步:
|
|
|
+
|
|
|
+**第 1 步:ROI 在什么位置?**
|
|
|
+跟渠道P50 比,属于哪个区间:严重偏低(below_pause_line)/ 偏低(bid_down_zone)/ 正常 / 偏高(above_bid_up_line)?
|
|
|
|
|
|
-**关键理念**:
|
|
|
-- `roi_zone` 和 `fission_vs_tier` 是客观事实,不是操作建议
|
|
|
-- `roi_zone="bid_down_zone"` **不等于**"应该降价"——必须结合裂变率综合判断
|
|
|
-- 候选标记是规则层的"推荐",不是"命令"。你需要综合权衡后做最终判断
|
|
|
+**第 2 步:裂变表现如何?**
|
|
|
+`fission_vs_tier` 跟同类均值比是 high / normal / low / unknown?
|
|
|
+注意:fission 在本业务中指"用户裂变率"(viral coefficient),即用户帮你免费拉新人的能力。tier 指同 R 值人群包。
|
|
|
+
|
|
|
+**第 3 步:ROI 和裂变的组合说明什么?**
|
|
|
+- 双低(ROI低 + 裂变低)= 真的不行,止损信号
|
|
|
+- ROI低但裂变好 = 有后劲,用户在帮你免费拉人,ROI 可能回升
|
|
|
+- ROI低但裂变数据缺失 = 不确定,先观察
|
|
|
+- ROI正常/高 + 有提价/扩量候选 = 考虑放量
|
|
|
+
|
|
|
+**第 4 步:有没有干扰因素?**
|
|
|
+- 7天内调过价或换过创意?→ 效果还没显现,先等
|
|
|
+- 数据够不够?(ROI有效天数、稳定消耗天数)→ 不够就先观察
|
|
|
+- 是 tier 里最后几条广告?→ 关了整个人群就没量了
|
|
|
+- ROI 是突降还是持续低?→ 突降可能是数据异常
|
|
|
+
|
|
|
+**第 5 步:综合判断 → 选 action + 写理由**
|
|
|
+结合以上 4 步的结论,选择最合适的 action(§五详解),写出包含 5 元组的 reason(§七规范)。
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -146,28 +132,27 @@ bid_up_candidate=True 也不等于必须 bid_up —— 可能 CTR 其实在下
|
|
|
|
|
|
**触发前提**:`roi_low=True`(规则已确认 ROI 严重偏低、消耗达标、年龄达标)
|
|
|
|
|
|
-**你需要综合权衡的要点**:
|
|
|
+**综合权衡要点**:
|
|
|
|
|
|
1. **裂变 vs 同类**(🔒 reason 硬要求):
|
|
|
- - 必须在 reason 中包含「裂变率 X.XX vs 同类均值 Y.YY(偏离 Z%)」
|
|
|
- - 裂变率 < 同类均值 50% + ROI 低 = 双低 → pause 强信号
|
|
|
- - 若 `ad_fission` 或 `tier_fission_mean` 缺失,显式写"裂变数据缺失",不得省略
|
|
|
+ - 必须在 reason 中写出裂变率数值 vs 同类均值及偏离%——因为裂变好=用户在免费帮你拉人,关掉就断了自传播链
|
|
|
+ - 双低(ROI低 + 裂变低于同类50%+)→ pause 强信号
|
|
|
+ - 裂变数据缺失时显式写"裂变数据缺失",不得省略
|
|
|
|
|
|
2. **调整历史**:
|
|
|
- - 7 天内已降价 / 换创意 → 倾向 observe(等待调整效果,避免连续试错)
|
|
|
- - 连续多次调整但无明显改善 → 倾向 pause(证明无法通过微调优化)
|
|
|
+ - 7天内已降价/换创意 → 倾向 observe——调整效果要5-7天才显现,连续操作是盲目试错
|
|
|
+ - 连续多次调整但无改善 → 倾向 pause——证明问题不在出价/素材
|
|
|
|
|
|
3. **数据质量**:
|
|
|
- - ROI 有效天数 < 5 → 倾向 observe(置信度低,可能是噪声)
|
|
|
- - 30 日稳定天数 < 7 → 倾向 observe(消耗波动大,数据不可靠)
|
|
|
+ - ROI有效天数 < 5 → 倾向 observe——样本太少,ROI可能只是噪声
|
|
|
+ - 30日稳定天数 < 7 → 倾向 observe——消耗波动大时ROI不可靠
|
|
|
|
|
|
4. **tier 组合位置**:
|
|
|
- - 该 tier 广告数 ≤ 3 且本广告消耗占比较大 → 谨慎 pause(避免整个 tier 失速)
|
|
|
- - 可在 reason 中建议"需配合新广告创建"
|
|
|
+ - 该tier广告数 ≤ 3 且消耗占比大 → 谨慎pause——关了这条,整个人群就没流量入口了
|
|
|
|
|
|
5. **异常识别**:
|
|
|
- - CTR 正常但 ROI 低 → 可能是后端转化问题,标注在 reason 中
|
|
|
- - ROI 突降(与近期均值相差较大)→ 可能是数据异常,建议 observe
|
|
|
+ - CTR正常但ROI低 → 可能是后端转化问题,标注"疑似后端问题"
|
|
|
+ - ROI突降(与近期均值差距大)→ 可能是数据异常,先observe
|
|
|
|
|
|
**pct 要求**:= 0(pause 不改出价)
|
|
|
|
|
|
@@ -179,22 +164,17 @@ bid_up_candidate=True 也不等于必须 bid_up —— 可能 CTR 其实在下
|
|
|
|
|
|
**触发前提**:`roi_zone="bid_down_zone"`(ROI 在降价区间)+ `fission_vs_tier="low"`(裂变低于同类)
|
|
|
|
|
|
-> ⚠️ **核心原则:bid_down 需要"ROI 低 + 裂变低"双重确认。单凭 ROI 低不足以降价。**
|
|
|
-
|
|
|
**条件(全部满足才能 bid_down)**:
|
|
|
-- ✅ 年龄 > 7 天(成熟期)
|
|
|
-- ✅ 7 日均消耗 ≥ 500 元
|
|
|
+- ✅ 年龄 > 7 天(成熟期)——未成熟的广告降价会打断 oCPM 学习
|
|
|
+- ✅ 7 日均消耗 ≥ 500 元——低于此值数据量太小,ROI 信号可能是噪声
|
|
|
- ✅ roi_zone = "bid_down_zone"(关停线 ≤ 动态ROI < 降价线)
|
|
|
-- ✅ **fission_vs_tier = "low"**(裂变率低于同类均值 10%+)—— 核心条件
|
|
|
-
|
|
|
-**⚠️ 即使 ROI 在降价区间,以下场景禁止降价**:
|
|
|
-- ❌ fission_vs_tier = "high"(裂变优秀)→ 改 observe 或 hold
|
|
|
-- ❌ fission_vs_tier = "normal"(裂变正常)→ 改 observe
|
|
|
-- ❌ fission_vs_tier = "unknown"(数据缺失)→ 改 observe
|
|
|
-- ❌ 近 7 天已降过价 → 改 observe(等效果显现)
|
|
|
-- ❌ 近 7 天换过创意 → 改 observe(等数据稳定)
|
|
|
+- ✅ fission_vs_tier = "low"(裂变率低于同类)——**核心条件,双低确认的"第二低"**
|
|
|
|
|
|
-**业务逻辑**:裂变率高 = 用户自传播能力强 = 长期 ROI 潜力大。降价会减少曝光、降低 oCPM 学习效率、浪费优质广告潜力。
|
|
|
+**即使 ROI 在降价区间,以下场景不降价**:
|
|
|
+- 裂变好或正常(fission_vs_tier = high/normal)→ observe——裂变好=用户在帮你免费拉人,降价会断裂传播链,长期损失更大
|
|
|
+- 裂变数据缺失(fission_vs_tier = unknown)→ observe——数据不足不做不可逆决策
|
|
|
+- 近 7 天已降过价 → observe——降价效果要 5-7 天显现,连续降是盲目操作
|
|
|
+- 近 7 天换过创意 → observe——新素材数据还没稳定
|
|
|
|
|
|
**pct 要求**:负数,绝对值在 [3%, 5%]
|
|
|
|
|
|
@@ -314,31 +294,24 @@ bid_up_candidate=True 也不等于必须 bid_up —— 可能 CTR 其实在下
|
|
|
| 高消耗+高ROI 突然变低 | 之前表现优秀突然恶化 | 竞争加剧/人群饱和 | observe,不急于 pause |
|
|
|
| 消耗极低但 ROI 好 | 跑不起量 | 素材吸引力弱 / 出价过低 | creative_adjust 或 bid_up |
|
|
|
|
|
|
-### 4. 不确定时的默认策略
|
|
|
+### 4. 优先级原则
|
|
|
|
|
|
-当多个信号冲突、判断困难时:
|
|
|
+两条规则,适用场景不同:
|
|
|
|
|
|
+**信号不确定时 → 保守优先**(不确定就少动):
|
|
|
```
|
|
|
-保守优先:observe > hold > bid_down > pause
|
|
|
+observe > hold > bid_down > pause
|
|
|
```
|
|
|
+适用于:数据不够、信号冲突、刚调过价。宁可多观察一天,不要误杀。
|
|
|
|
|
|
-- **不确定就选更保守的** —— observe/hold 优于 pause/bid_down
|
|
|
-- **能用 creative_adjust 解决的问题,不要用 pause** —— 保留 oCPM 学习资产
|
|
|
-- **降价和关停之间,优先关停** —— 干净的止损,不要用"大幅降价"代替
|
|
|
-
|
|
|
-### 5. action 选择优先级
|
|
|
-
|
|
|
-当多个 action 都"合理"时,按以下优先级取:
|
|
|
-
|
|
|
-**止损方向**:
|
|
|
+**信号明确时 → 果断执行**(确定了就干脆):
|
|
|
```
|
|
|
-pause(明确低效)> bid_down(有改善空间)> creative_adjust(素材问题)> observe(待稳定)> hold(无异常)
|
|
|
+止损:pause > bid_down > creative_adjust > observe > hold
|
|
|
+放量:bid_up > scale_up
|
|
|
```
|
|
|
+适用于:双低确认(ROI低+裂变低)、连续调整无效、数据充分。确定要止损就直接关停,不要用大幅降价代替。
|
|
|
|
|
|
-**放量方向**:
|
|
|
-```
|
|
|
-bid_up(冷启动期优质)> scale_up(成熟期优质)
|
|
|
-```
|
|
|
+**不冲突**:先判断信号是否明确,再选对应的优先级链。
|
|
|
|
|
|
### 6. ROI 与裂变信号冲突时的处理
|
|
|
|
|
|
@@ -378,14 +351,28 @@ bid_up(冷启动期优质)> scale_up(成熟期优质)
|
|
|
```
|
|
|
|
|
|
**合格样本**:
|
|
|
-> "动态 ROI 为 1.62,低于渠道P50 2.50 的 35%;7 天内已提价但 ROI 仍低迷,广告已投放 9 天、7 日日均消耗 4438 元属于高消耗;综合判断调价无效,建议关停释放预算"
|
|
|
+
|
|
|
+> **pause 样本**:"动态 ROI 为 1.62,低于渠道P50 2.50 的 35%;裂变率 0.18 低于同类均值 0.46 的 61%,双低确认;7 天内已提价但 ROI 仍低迷,广告已投放 9 天、7 日日均消耗 4438 元;综合判断调价无效,建议关停释放预算"
|
|
|
+>
|
|
|
+> (✅ ROI=1.62 / 渠道P50 2.50 / -35% / 裂变+已提价+年龄+消耗 / 关停释放预算)
|
|
|
+
|
|
|
+> **bid_down 样本**:"动态 ROI 为 2.08,低于渠道P50 2.50 的 17%,处于降价区间;裂变率 0.31 低于同类均值 0.46 的 33%,双低确认;投放 12 天,7 日日均消耗 826 元,近 7 天未调价;建议降价 3% 优化成本"
|
|
|
+>
|
|
|
+> (✅ ROI+基准+偏离+裂变双低+年龄消耗+降3%)
|
|
|
+
|
|
|
+> **observe 样本**:"动态 ROI 为 1.95,低于渠道P50 2.50 的 22%,处于降价区间;但裂变率 0.58 高于同类均值 0.46 的 26%,用户传播能力强,ROI 有回升潜力;投放 11 天,7 日日均消耗 1203 元;建议观察而非降价,避免断裂裂变链"
|
|
|
+>
|
|
|
+> (✅ ROI低但裂变好 → 覆写规则建议,给出充分理由)
|
|
|
+
|
|
|
+> **bid_up 样本**:"动态 ROI 为 3.41,高于渠道P50 2.50 的 36%;投放 5 天处于早期成长期,7 日日均消耗 312 元偏低;裂变率 0.52 高于同类均值 0.46 的 13%;建议提价 8% 增加曝光拿量"
|
|
|
>
|
|
|
-> (✅ 元素齐全:ROI=1.62 / 对比渠道P50 2.50 / 偏离 -35% / 辅助信号=已提价+年龄+消耗 / 建议=关停释放预算)
|
|
|
+> (✅ ROI+基准+偏离+年龄消耗裂变+建议提价8%)
|
|
|
|
|
|
**不合格样本**:
|
|
|
-> ❌ "ROI 低于关停线,建议关停"(缺元素 1/2/3/4,只有行动)
|
|
|
-> ❌ "动态ROI=1.62 < pause_line(1.66), bid_increased_7d=true"(用英文变量名,违反硬约束)
|
|
|
-> ❌ "ROI 不好,建议降价"(缺数值、基准、偏离%、辅助信号)
|
|
|
+> ❌ "ROI 低于关停线,建议关停"(缺 ROI 数值、基准、偏离%、辅助信号,只有行动)
|
|
|
+> ❌ "动态ROI=1.62 < pause_line(1.66), bid_increased_7d=true"(用英文变量名,违反术语约定)
|
|
|
+> ❌ "ROI 不好,建议降价"(缺全部元素)
|
|
|
+> ❌ "ROI=2.18,消耗正常,保持当前出价"(模板化 hold,缺对比基准和偏离%,"消耗正常"不是有效辅助信号)
|
|
|
|
|
|
### 7.2 action 与 recommended_change_pct 的强绑定
|
|
|
|