|
|
@@ -1,166 +1,366 @@
|
|
|
---
|
|
|
name: roi-strategy
|
|
|
-description: ROI调控决策框架 - 智能自适应阈值
|
|
|
+description: 广告投放调控经验知识库 - 从业务目标到决策执行
|
|
|
---
|
|
|
|
|
|
-# 决策阈值(智能推断,非固定值)
|
|
|
+# 一、业务目标与核心理念
|
|
|
|
|
|
-## 阈值的本质
|
|
|
+## 我们的目标
|
|
|
|
|
|
-**重要理念**:阈值不应该是固定的数字(如0.5),而应该根据数据分布**智能推断**。
|
|
|
+**主目标**:最大化总收益(总GMV - 总成本),而非单纯优化ROI数值
|
|
|
|
|
|
-### 为什么不固定?
|
|
|
+**关键理解**:
|
|
|
+- 高ROI但低消耗 → 赚得少(如:ROI=5.0,日消耗50元,日收益250元)
|
|
|
+- 中等ROI但高消耗 → 赚得多(如:ROI=2.5,日消耗2000元,日收益5000元)
|
|
|
+- **决策核心**:在保证ROI合理的前提下,尽可能放大消耗(扩大盘子)
|
|
|
|
|
|
-- 不同时期ROI分布不同(行情好时整体高,行情差时整体低)
|
|
|
-- 固定0.5可能过严(行情差时)或过松(行情好时)
|
|
|
-- 应该根据相对表现(如低于p25)而非绝对值
|
|
|
+## 调控的本质
|
|
|
|
|
|
-### 经验范围(可调整区间)
|
|
|
+**不是为了关停广告,而是为了:**
|
|
|
+1. **止损**:及时切断持续亏损的广告
|
|
|
+2. **优化**:通过出价调整提升整体效率
|
|
|
+3. **放量**:让优质广告获得更多预算
|
|
|
+4. **清理**:释放僵尸广告占用的预算配额
|
|
|
|
|
|
-| 阈值 | 推荐范围 | 业务含义 |
|
|
|
-|------|---------|---------|
|
|
|
-| **ROI_LOW_FACTOR** | 0.3 ~ 0.7 | 关停线系数 |
|
|
|
-| **BID_DOWN_ROI_FACTOR** | 0.7 ~ 0.9 | 降价线系数 |
|
|
|
-| **BID_UP_ROI_FACTOR** | 1.1 ~ 1.5 | 提价线系数 |
|
|
|
+**判断好坏的标准**:
|
|
|
+- ❌ 错误:ROI越高越好 → 可能导致过度收紧,损失规模
|
|
|
+- ✅ 正确:ROI达标的前提下,消耗越大越好 → 平衡效率与规模
|
|
|
|
|
|
-## 推断逻辑(智能自适应)
|
|
|
+---
|
|
|
|
|
|
-工具返回的`thresholds_used`已包含计算好的阈值,但你可以根据数据分布进一步调整判断。
|
|
|
+# 二、广告生命周期经验
|
|
|
|
|
|
-### 关停阈值(pause_line)推断
|
|
|
+## 冷启动期(0-7天)
|
|
|
|
|
|
-**基础公式**(工具已计算):
|
|
|
-```
|
|
|
-pause_line = roi_mean × ROI_LOW_FACTOR
|
|
|
-```
|
|
|
+**特征**:
|
|
|
+- 系统正在学习受众特征
|
|
|
+- 数据波动极大,ROI忽高忽低
|
|
|
+- 消耗不稳定,可能0元也可能暴涨
|
|
|
+
|
|
|
+**投放经验**:
|
|
|
+- **绝对保护**(0-4天):任何负向操作都可能打断学习
|
|
|
+- **谨慎观察**(4-7天):可小幅降价(≤5%),但不关停
|
|
|
+- **冷启动期ROI低是正常的**:系统在探索,还未找到精准人群
|
|
|
+
|
|
|
+**决策原则**:
|
|
|
+- 给予充分学习期,不要因短期ROI低就关停
|
|
|
+- 除非日消耗>500元且ROI<0.5(极端亏损),否则观察
|
|
|
+
|
|
|
+## 成长期(7-30天)
|
|
|
+
|
|
|
+**特征**:
|
|
|
+- 系统已找到目标人群
|
|
|
+- 数据开始稳定,ROI趋势清晰
|
|
|
+- 消耗逐渐稳定或增长
|
|
|
+
|
|
|
+**投放经验**:
|
|
|
+- **可正常调控**:该降价降价,该关停关停
|
|
|
+- **ROI判断开始可信**:7日均值具有统计意义
|
|
|
+- **出价调整有效期**:调价后3-5天看效果
|
|
|
+
|
|
|
+**决策原则**:
|
|
|
+- 结合ROI+消耗双维度判断
|
|
|
+- 降价步长5-8%,避免过大调整导致重新学习
|
|
|
+
|
|
|
+## 成熟期(30天+)
|
|
|
+
|
|
|
+**特征**:
|
|
|
+- 效率基本定型
|
|
|
+- 消耗稳定,ROI波动小
|
|
|
+- 人群已充分探索
|
|
|
+
|
|
|
+**投放经验**:
|
|
|
+- **果断决策**:表现不好的可以直接关停
|
|
|
+- **提防衰退**:长期投放会有创意疲劳、人群耗尽
|
|
|
+- **老广告ROI低更应关注**:说明市场已经不买账
|
|
|
+
|
|
|
+**决策原则**:
|
|
|
+- 对老广告更严格:ROI低迷应果断关停
|
|
|
+- 注意衰退信号:消耗下降+多次干预无效
|
|
|
+
|
|
|
+## 衰退期(识别与处理)
|
|
|
+
|
|
|
+**衰退信号**(3个条件同时满足):
|
|
|
+1. ✅ 历史曾稳定消耗≥7天(曾经辉煌过)
|
|
|
+2. ✅ 近7日均消耗<100元(现在不行了)
|
|
|
+3. ✅ 已尝试提价或换创意(干预无效)
|
|
|
+
|
|
|
+**投放经验**:
|
|
|
+- **衰退 ≠ 短期波动**:要有历史对比
|
|
|
+- **真衰退特征**:提价也不涨量,换创意也不起色
|
|
|
+- **典型原因**:创意疲劳、人群耗尽、竞争加剧
|
|
|
+
|
|
|
+**决策原则**:
|
|
|
+- 识别到衰退信号 → 果断关停
|
|
|
+- 不要在衰退广告上浪费精力调优
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+# 三、关键信号识别(核心投放经验)
|
|
|
+
|
|
|
+## 健康信号(继续投放)
|
|
|
+
|
|
|
+✅ **ROI稳定在全体均值以上**
|
|
|
+- 说明:广告效率正常,受众精准
|
|
|
+
|
|
|
+✅ **消耗稳定且持续增长**
|
|
|
+- 说明:市场认可,系统在放量
|
|
|
+
|
|
|
+✅ **提价后收入同步增长**
|
|
|
+- 说明:提价策略有效,市场有深度
|
|
|
+
|
|
|
+✅ **7日ROI波动 < 20%**
|
|
|
+- 说明:数据稳定,决策可信度高
|
|
|
+
|
|
|
+**决策**:保持或提价放量
|
|
|
+
|
|
|
+## 预警信号(需要关注)
|
|
|
+
|
|
|
+⚠️ **ROI持续下滑但未达危险线**
|
|
|
+- 说明:效率在变差,需要监控
|
|
|
+
|
|
|
+⚠️ **消耗突然下降50%以上**
|
|
|
+- 说明:可能人群耗尽或审核问题
|
|
|
+
|
|
|
+⚠️ **提价后消耗不涨反跌**
|
|
|
+- 说明:可能定向太窄或创意不吸引
|
|
|
+
|
|
|
+⚠️ **换创意后3天内无起色**
|
|
|
+- 说明:可能不是创意问题,而是定向问题
|
|
|
+
|
|
|
+**决策**:降价观察或准备关停
|
|
|
+
|
|
|
+## 危险信号(立即干预)
|
|
|
+
|
|
|
+🚨 **ROI < 全体均值×0.5 且持续7天**
|
|
|
+- 说明:严重低效,持续亏损
|
|
|
+
|
|
|
+🚨 **日消耗>500元但ROI<pause_line**
|
|
|
+- 说明:高消耗低效率,烧钱
|
|
|
+
|
|
|
+🚨 **多次干预无效**(调价+换创意都不起作用)
|
|
|
+- 说明:根本问题,无法通过优化解决
|
|
|
+
|
|
|
+🚨 **提价后ROI暴跌且消耗不涨**
|
|
|
+- 说明:定向过窄,无优质流量
|
|
|
+
|
|
|
+**决策**:立即关停或大幅降价
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+# 四、多维度决策场景(实战经验)
|
|
|
|
|
|
-**你的智能判断**:
|
|
|
-1. 查看ROI分布的p25(25分位数,工具返回的`distribution.p25`)
|
|
|
+## 场景1:调价无效 → 果断关停
|
|
|
|
|
|
-2. 如果`p25 / roi_mean < 0.5`:
|
|
|
- - 说明有很多低ROI广告(25%的广告ROI低于均值一半)
|
|
|
- - **可以用工具返回的pause_line**(roi_mean × 0.5)
|
|
|
+**识别条件**:
|
|
|
+- `bid_increased_7d = true`(7天内已提价)
|
|
|
+- 但ROI仍低于降价线或关停线
|
|
|
+- 或消耗未提升(提价不涨量)
|
|
|
|
|
|
-3. 如果`p25 / roi_mean > 0.7`:
|
|
|
- - 说明整体质量很好(25%的广告ROI都还不错)
|
|
|
- - **应该更严格**:pause_line可考虑提高到p25附近
|
|
|
+**背后原因**:
|
|
|
+- 定向问题:人群质量差,提价也没用
|
|
|
+- 创意疲劳:素材不吸引,再高的价也没人点
|
|
|
+- 竞争激烈:这个赛道已经卷不动了
|
|
|
|
|
|
-4. 如果运营反馈"关停太多":
|
|
|
- - **放宽标准**:建议ROI_LOW_FACTOR从0.5 → 0.3
|
|
|
- - 重新计算:pause_line = roi_mean × 0.3
|
|
|
+**投放经验**:
|
|
|
+- **调价是最简单的干预手段**,如果调价都无效,说明根本有问题
|
|
|
+- 继续投放只会浪费预算,不如果断关停
|
|
|
+- 避免"沉没成本谬误":已经投了很多不是继续投的理由
|
|
|
|
|
|
-**示例推断**:
|
|
|
+**决策逻辑**:
|
|
|
+```
|
|
|
+IF bid_increased_7d=true AND (
|
|
|
+ ROI < pause_line OR
|
|
|
+ (ROI < bid_down_line AND cost_7d_avg < 历史均值×0.5)
|
|
|
+)
|
|
|
+THEN action = pause
|
|
|
+ reason = "7天内已提价但ROI未改善/消耗未涨,判断为调价无效,建议关停"
|
|
|
+ confidence = high
|
|
|
```
|
|
|
-场景1:行情差
|
|
|
-- roi_mean = 2.0, p25 = 0.8
|
|
|
-- p25/roi_mean = 0.4 < 0.5
|
|
|
-- 判断:很多低ROI广告,用pause_line=1.0(2.0×0.5)
|
|
|
-
|
|
|
-场景2:行情好
|
|
|
-- roi_mean = 3.5, p25 = 2.8
|
|
|
-- p25/roi_mean = 0.8 > 0.7
|
|
|
-- 判断:整体质量好,可用pause_line=2.8(p25)或更高
|
|
|
-
|
|
|
-场景3:运营反馈"太保守"
|
|
|
-- 原pause_line = 1.36 (roi_mean=2.72 × 0.5)
|
|
|
-- 建议:ROI_LOW_FACTOR 0.5 → 0.3
|
|
|
-- 新pause_line = 0.82 (2.72 × 0.3)
|
|
|
+
|
|
|
+**示例**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "ad_id": "82767192319",
|
|
|
+ "action": "pause",
|
|
|
+ "dimension": "调价无效-关停",
|
|
|
+ "reason": "动态ROI=1.68略高于pause_line(1.66)但<bid_down_line(2.65),bid_increased_7d=true(7天内已提价)但ROI仍低迷,判断为调价无效,7日均消耗412元,建议关停",
|
|
|
+ "confidence": "high"
|
|
|
+}
|
|
|
```
|
|
|
|
|
|
-### 降价阈值(bid_down_line)推断
|
|
|
+## 场景2:创意问题 → 暂停优化
|
|
|
+
|
|
|
+**识别条件**:
|
|
|
+- `creative_changed_7d = true`(7天内换过创意)
|
|
|
+- 但消耗仍很低(< 50元/天)或ROI未改善
|
|
|
+
|
|
|
+**背后原因**:
|
|
|
+- 新创意吸引力不足
|
|
|
+- 可能不是创意问题,而是定向问题
|
|
|
+- 创意方向错误,没有抓住受众痛点
|
|
|
+
|
|
|
+**投放经验**:
|
|
|
+- **换创意是第二常用的干预手段**
|
|
|
+- 如果换创意后3-5天仍无起色,说明问题不在创意
|
|
|
+- 建议暂停后,让运营重新审视定向策略
|
|
|
|
|
|
-**基础公式**(工具已计算):
|
|
|
+**决策逻辑**:
|
|
|
+```
|
|
|
+IF creative_changed_7d=true AND cost_7d_avg < 50
|
|
|
+THEN action = pause
|
|
|
+ reason = "7天内已更换创意,但消耗仍低于50元/天,判断为创意吸引力不足或定向问题"
|
|
|
+ confidence = medium
|
|
|
```
|
|
|
-bid_down_line = roi_mean × BID_DOWN_ROI_FACTOR
|
|
|
+
|
|
|
+**示例**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "ad_id": "47522253241",
|
|
|
+ "action": "pause",
|
|
|
+ "dimension": "创意无效-关停",
|
|
|
+ "reason": "动态ROI=1.87 < pause_line(1.66)但接近,7日均消耗仅105元低消耗,ad_age=282天老广告,creative_changed_7d=true但效果不佳,建议关停",
|
|
|
+ "confidence": "medium"
|
|
|
+}
|
|
|
```
|
|
|
|
|
|
-**你的智能判断**:
|
|
|
-1. 查看ROI分布的p50(中位数)
|
|
|
+## 场景3:数据不稳定 → 谨慎观察
|
|
|
|
|
|
-2. 如果`p50 / roi_mean < 0.9`:
|
|
|
- - 说明很多广告低于均值
|
|
|
- - **可以用bid_down_line = roi_mean × 0.8**
|
|
|
+**识别条件**:
|
|
|
+- `stable_spend_days_30d < 7天`(30天内稳定消耗不足7天)
|
|
|
+- ROI接近阈值边界(在pause_line附近±10%)
|
|
|
|
|
|
-3. 如果`p50 / roi_mean > 1.1`:
|
|
|
- - 说明大部分广告都很好
|
|
|
- - **可以更宽松**:bid_down_line = p50 或 roi_mean × 0.7
|
|
|
+**背后原因**:
|
|
|
+- 消耗波动大,可能受节假日/竞争影响
|
|
|
+- 数据样本不足,统计意义不强
|
|
|
+- 可能是短期波动,而非长期趋势
|
|
|
|
|
|
-### 提价阈值(bid_up_line)推断
|
|
|
+**投放经验**:
|
|
|
+- **数据不稳定时不要轻易关停**:可能错杀好广告
|
|
|
+- 降低决策置信度,倾向于"再观察一段时间"
|
|
|
+- 如果ROI明显低于阈值(< pause_line×0.8),仍可关停
|
|
|
|
|
|
-**基础公式**(工具已计算):
|
|
|
+**决策逻辑**:
|
|
|
```
|
|
|
-bid_up_line = roi_mean × BID_UP_ROI_FACTOR
|
|
|
-low_spend_line = cost_median × BID_UP_LOW_SPEND_FACTOR
|
|
|
+IF stable_spend_days_30d < 7 AND pause_line×0.9 < ROI < pause_line×1.1
|
|
|
+THEN action = hold
|
|
|
+ reason = "30天内稳定消耗仅X天,数据波动大,ROI接近阈值,建议观察"
|
|
|
+ confidence = low
|
|
|
+```
|
|
|
+
|
|
|
+**示例**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "ad_id": "52237516528",
|
|
|
+ "action": "hold",
|
|
|
+ "dimension": "数据不稳定-观察",
|
|
|
+ "reason": "动态ROI=null,7日均消耗仅24元极低,ad_age=252天但stable_spend_days=8天数据不稳定,建议观察",
|
|
|
+ "confidence": "low"
|
|
|
+}
|
|
|
```
|
|
|
|
|
|
-**你的智能判断**:
|
|
|
-1. 查看ROI分布的p75(75分位数)
|
|
|
+## 场景4:广告年龄差异化
|
|
|
+
|
|
|
+### 新广告(5-10天):给予学习期
|
|
|
|
|
|
-2. 如果`p75 / roi_mean > 1.5`:
|
|
|
- - 说明有一批优秀广告
|
|
|
- - **可以用bid_up_line = p75**(优秀广告的门槛)
|
|
|
+**投放经验**:
|
|
|
+- 还在冷启动末期,数据刚稳定
|
|
|
+- ROI略低于阈值时,不要急于关停
|
|
|
+- 系统可能还在优化投放策略
|
|
|
|
|
|
-3. 如果`p75 / roi_mean < 1.3`:
|
|
|
- - 说明缺少优秀广告
|
|
|
- - **放宽标准**:bid_up_line = roi_mean × 1.1
|
|
|
+**决策逻辑**:
|
|
|
+```
|
|
|
+IF 5 <= ad_age_days <= 10 AND pause_line < ROI < pause_line×1.2
|
|
|
+THEN action = hold
|
|
|
+ reason = "广告处于学习期(X天),ROI虽略低于阈值但给予观察期"
|
|
|
+ confidence = low
|
|
|
+```
|
|
|
|
|
|
-# 决策规则
|
|
|
+### 成长期广告(10-30天):正常判断
|
|
|
|
|
|
-## 关停(pause)
|
|
|
+**投放经验**:
|
|
|
+- 按照标准阈值判断
|
|
|
+- 该降价降价,该关停关停
|
|
|
|
|
|
-**条件**:
|
|
|
-- **f_7日动态ROI < pause_line**(你根据上述逻辑判断)
|
|
|
-- cost_7d_avg ≥ 100元
|
|
|
-- ad_age_days ≥ 3天
|
|
|
+### 老广告(30天+):更严格标准
|
|
|
|
|
|
-**置信度**:
|
|
|
-- **high**: 7天+数据,ROI显著低于pause_line(如ROI < pause_line × 0.9)
|
|
|
-- **medium**: 4-6天数据,或ROI接近pause_line
|
|
|
-- **low**: <4天数据
|
|
|
+**投放经验**:
|
|
|
+- 老广告效率定型,低ROI很难改善
|
|
|
+- 果断关停,释放预算给新广告
|
|
|
+- 避免"老广告情怀":表现不好就该淘汰
|
|
|
|
|
|
-**决策示例**:
|
|
|
+**决策逻辑**:
|
|
|
+```
|
|
|
+IF ad_age_days >= 30 AND ROI < pause_line
|
|
|
+THEN action = pause
|
|
|
+ reason = "老广告(X天)效率低迷,ROI持续低于阈值,果断关停"
|
|
|
+ confidence = high
|
|
|
+```
|
|
|
+
|
|
|
+**示例**:
|
|
|
```json
|
|
|
{
|
|
|
- "ad_id": "123456",
|
|
|
+ "ad_id": "567890",
|
|
|
"action": "pause",
|
|
|
- "dimension": "ROI偏低",
|
|
|
- "reason": "f_7日动态ROI=1.23 < pause_line(1.36,p25=1.5,整体质量一般),7日均消耗150元",
|
|
|
+ "dimension": "老广告-效率低迷",
|
|
|
+ "reason": "ad_age_days=45天,ROI=1.25持续低于pause_line(1.36),老广告效率低迷,果断关停",
|
|
|
"confidence": "high"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
+---
|
|
|
+
|
|
|
+# 五、决策动作指南
|
|
|
+
|
|
|
+## 关停(pause)
|
|
|
+
|
|
|
+**适用场景**:
|
|
|
+1. **严重低效**:ROI < pause_line,且消耗≥100元/天
|
|
|
+2. **调价无效**:已提价但ROI仍低或消耗不涨
|
|
|
+3. **创意无效**:已换创意但效果不佳
|
|
|
+4. **衰退明确**:老广告+低消耗+多次干预无效
|
|
|
+
|
|
|
+**不适用场景**:
|
|
|
+- 冷启动期(< 7天)
|
|
|
+- 数据极少(7日均消耗 < 50元)且数据不稳定
|
|
|
+- ROI接近阈值且数据波动大
|
|
|
+
|
|
|
+**置信度判断**:
|
|
|
+- **high**:7天+数据,ROI显著低于pause_line(< pause_line×0.9),多次干预无效
|
|
|
+- **medium**:4-6天数据,或ROI接近pause_line,或老广告
|
|
|
+- **low**:数据不足或波动大
|
|
|
+
|
|
|
## 降价(bid_down)
|
|
|
|
|
|
-**条件**:
|
|
|
-- **pause_line < f_7日动态ROI < bid_down_line**
|
|
|
-- cost_7d_avg ≥ 100元
|
|
|
-- ad_age_days ≥ 4天
|
|
|
-- bid_amount > 0
|
|
|
-
|
|
|
-**降幅计算**(智能推断):
|
|
|
-```python
|
|
|
-# 方案1:距离关停线越近,降幅越大
|
|
|
-distance_ratio = (roi - pause_line) / (bid_down_line - pause_line)
|
|
|
-if distance_ratio < 0.3: # 接近关停线
|
|
|
- change_pct = -0.10
|
|
|
-elif distance_ratio < 0.6:
|
|
|
- change_pct = -0.07
|
|
|
-else: # 刚低于正常线
|
|
|
- change_pct = -0.03
|
|
|
-
|
|
|
-# 方案2:根据ROI偏离程度
|
|
|
-roi_deficit = (bid_down_line - roi) / roi_mean
|
|
|
-change_pct = -0.03 - 0.07 * min(roi_deficit / 0.3, 1.0)
|
|
|
-# 结果:-3% ~ -10%
|
|
|
+**适用场景**:
|
|
|
+- ROI在 pause_line 和 bid_down_line 之间
|
|
|
+- 消耗≥100元/天(数据可信)
|
|
|
+- 广告≥4天(过冷启动期)
|
|
|
+
|
|
|
+**降幅策略**(根据距离关停线的远近):
|
|
|
+```
|
|
|
+距离关停线的位置 = (ROI - pause_line) / (bid_down_line - pause_line)
|
|
|
+
|
|
|
+IF 距离 < 0.3: # 接近关停线
|
|
|
+ 降幅 = -8% ~ -10%
|
|
|
+ELIF 距离 < 0.6:
|
|
|
+ 降幅 = -5% ~ -7%
|
|
|
+ELSE: # 刚低于正常线
|
|
|
+ 降幅 = -3% ~ -5%
|
|
|
```
|
|
|
|
|
|
-**决策示例**:
|
|
|
+**特殊调整**:
|
|
|
+- 如果 `bid_increased_7d=true`(近期已提价):降幅加大1-2%
|
|
|
+- 如果是高消耗广告(>500元/天):降幅可适当保守(-3% ~ -5%)
|
|
|
+- 谨慎期广告(4-7天):最大降幅限制5%
|
|
|
+
|
|
|
+**示例**:
|
|
|
```json
|
|
|
{
|
|
|
"ad_id": "234567",
|
|
|
"action": "bid_down",
|
|
|
"dimension": "ROI偏低-降价",
|
|
|
- "reason": "动态ROI=1.85 < bid_down_line(2.18),距pause_line(1.36)还有空间,建议降5%",
|
|
|
+ "reason": "动态ROI=1.85 < bid_down_line(2.18),距pause_line(1.36)还有空间,7日均消耗200元,建议降5%",
|
|
|
"confidence": "medium",
|
|
|
"recommended_change_pct": -0.05
|
|
|
}
|
|
|
@@ -168,34 +368,35 @@ change_pct = -0.03 - 0.07 * min(roi_deficit / 0.3, 1.0)
|
|
|
|
|
|
## 提价(bid_up)
|
|
|
|
|
|
-**条件**:
|
|
|
-- **f_7日动态ROI > bid_up_line**
|
|
|
-- **cost_7d_avg < low_spend_line**
|
|
|
-- ad_age_days ≥ 4天
|
|
|
-- bid_amount > 0
|
|
|
-
|
|
|
-**提幅计算**(智能推断):
|
|
|
-```python
|
|
|
-# ROI超额越多,提幅越大
|
|
|
-roi_excess = (roi - bid_up_line) / roi_mean
|
|
|
-if roi_excess > 0.5: # 远超bid_up_line
|
|
|
- change_pct = 0.10
|
|
|
-elif roi_excess > 0.3:
|
|
|
- change_pct = 0.07
|
|
|
-else:
|
|
|
- change_pct = 0.03
|
|
|
-
|
|
|
-# 或者:
|
|
|
-change_pct = 0.03 + 0.07 * min(roi_excess / 0.5, 1.0)
|
|
|
+**适用场景**:
|
|
|
+- ROI > bid_up_line(远超平均水平)
|
|
|
+- 消耗 < low_spend_line(消耗不足)
|
|
|
+- 广告≥4天(过冷启动期)
|
|
|
+
|
|
|
+**提幅策略**(根据ROI超额程度):
|
|
|
+```
|
|
|
+ROI超额比例 = (ROI - bid_up_line) / roi_mean
|
|
|
+
|
|
|
+IF ROI超额 > 0.5: # 远超阈值
|
|
|
+ 提幅 = +8% ~ +10%
|
|
|
+ELIF ROI超额 > 0.3:
|
|
|
+ 提幅 = +5% ~ +7%
|
|
|
+ELSE:
|
|
|
+ 提幅 = +3% ~ +5%
|
|
|
```
|
|
|
|
|
|
-**决策示例**:
|
|
|
+**投放经验**:
|
|
|
+- **提价目的**:让优质广告获得更多曝光
|
|
|
+- **提价后ROI会短期下降是正常的**:消耗↑ → ROI↓,但总收益可能更高
|
|
|
+- **关注绝对收入而非相对ROI**:提价后如果收入涨得比成本多,就是成功的
|
|
|
+
|
|
|
+**示例**:
|
|
|
```json
|
|
|
{
|
|
|
"ad_id": "345678",
|
|
|
"action": "bid_up",
|
|
|
"dimension": "高ROI低量-提价",
|
|
|
- "reason": "动态ROI=4.15 > bid_up_line(3.26,p75=3.8,属优秀广告),但消耗仅45元<low_spend_line(78),建议提8%",
|
|
|
+ "reason": "动态ROI=4.15 > bid_up_line(3.26),属优秀广告,但7日均消耗仅45元,建议提8%放量",
|
|
|
"confidence": "medium",
|
|
|
"recommended_change_pct": 0.08
|
|
|
}
|
|
|
@@ -203,184 +404,119 @@ change_pct = 0.03 + 0.07 * min(roi_excess / 0.5, 1.0)
|
|
|
|
|
|
## 保持(hold)
|
|
|
|
|
|
-**条件**(任一):
|
|
|
-- ROI在正常范围(bid_down_line ~ bid_up_line)
|
|
|
-- 冷启动期(< 4天)
|
|
|
-- 数据不足(ROI=null 或 cost < 100元)
|
|
|
-- 信号冲突
|
|
|
-
|
|
|
-# 置信度判断
|
|
|
+**适用场景**:
|
|
|
+1. ROI在正常范围(bid_down_line ~ bid_up_line)
|
|
|
+2. 冷启动期(< 4天)
|
|
|
+3. 数据不足(ROI=null 或消耗很低)
|
|
|
+4. 数据不稳定(stable_spend_days < 7)
|
|
|
+5. 信号冲突(如:ROI低但刚提过价,等待生效)
|
|
|
|
|
|
-| 置信度 | 条件 | 说明 |
|
|
|
-|--------|------|------|
|
|
|
-| **high** | 7天+数据 + 判断明确 | ROI明显偏离阈值,无矛盾信号 |
|
|
|
-| **medium** | 4-6天数据 或 接近阈值 | 有一定不确定性 |
|
|
|
-| **low** | <4天数据 或 信号冲突 | 新广告、数据不足 |
|
|
|
+**投放经验**:
|
|
|
+- **保持是默认动作**:不确定时不要乱动
|
|
|
+- 广告调控的核心是"做正确的事",而不是"做很多事"
|
|
|
+- 宁可少动,不可乱动
|
|
|
|
|
|
-# 冷启动保护(硬约束,guardrail-rules中详细定义)
|
|
|
+---
|
|
|
|
|
|
-- **0-4天**:绝对保护,不做任何负向操作
|
|
|
-- **4-7天**:谨慎期,仅允许小幅降价(≤5%)
|
|
|
-- **7天+**:正常决策
|
|
|
+# 六、阈值使用说明(辅助工具)
|
|
|
|
|
|
-# 阈值调整流程(与运营协作)
|
|
|
+## 工具返回的thresholds_used
|
|
|
|
|
|
-## 场景1:运营说"太保守" / "关停太多"
|
|
|
+工具`get_ads_for_review`会返回计算好的阈值:
|
|
|
|
|
|
-**你的响应**:
|
|
|
-```
|
|
|
-1. 确认意图:
|
|
|
- "您是希望放宽关停标准吗?"
|
|
|
- "当前pause_line=1.36 (roi_mean=2.72 × 0.5)"
|
|
|
- "数据分布:p25=1.5, p50=2.3, p75=3.2"
|
|
|
-
|
|
|
-2. 建议调整:
|
|
|
- "建议将ROI_LOW_FACTOR从0.5放宽到0.3"
|
|
|
- "新pause_line=0.82 (2.72 × 0.3)"
|
|
|
- "预计关停数量从500减少到约300"
|
|
|
-
|
|
|
-3. 等待确认:
|
|
|
- "请确认是否调整?"
|
|
|
+```json
|
|
|
+{
|
|
|
+ "roi_mean": 3.32,
|
|
|
+ "pause_line": 1.66, // roi_mean × 0.5
|
|
|
+ "bid_down_line": 2.65, // roi_mean × 0.8
|
|
|
+ "bid_up_line": 3.98, // roi_mean × 1.2
|
|
|
+ "low_spend_line": 78
|
|
|
+}
|
|
|
```
|
|
|
|
|
|
-## 场景2:运营说"太激进" / "提价太多"
|
|
|
+## 如何使用阈值
|
|
|
|
|
|
-**你的响应**:
|
|
|
-```
|
|
|
-1. 确认意图:
|
|
|
- "您是希望降低提价幅度吗?"
|
|
|
- "当前bid_up最大幅度10%"
|
|
|
+**基础用法**:
|
|
|
+- 直接使用工具返回的值作为判断基准
|
|
|
+- 例如:ROI < pause_line → 考虑关停
|
|
|
|
|
|
-2. 建议调整:
|
|
|
- "建议将提价上限从10%降到5%"
|
|
|
- "或者提高bid_up_line(ROI_UP_FACTOR 1.2 → 1.5)"
|
|
|
+**进阶用法(结合分布)**:
|
|
|
+- 工具还会返回 `distribution`(p25/p50/p75)
|
|
|
+- 可以结合分布进一步判断广告在全体中的位置
|
|
|
|
|
|
-3. 等待确认:
|
|
|
- "请选择调整方案"
|
|
|
+**示例**:
|
|
|
```
|
|
|
+ROI = 1.5
|
|
|
+pause_line = 1.66
|
|
|
+p25 = 1.8
|
|
|
|
|
|
-# 工具返回的thresholds_used字段
|
|
|
-
|
|
|
-工具`get_ads_for_review`返回的`thresholds_used`包含:
|
|
|
+分析:
|
|
|
+- ROI < pause_line(低于关停线)
|
|
|
+- ROI < p25(低于25分位数,属于底部25%广告)
|
|
|
+→ 判断:属于严重低效广告,建议关停
|
|
|
|
|
|
-```json
|
|
|
-{
|
|
|
- "ROI_LOW_FACTOR": 0.5,
|
|
|
- "BID_DOWN_ROI_FACTOR": 0.8,
|
|
|
- "BID_UP_ROI_FACTOR": 1.2,
|
|
|
- "roi_mean": 2.72,
|
|
|
- "pause_line": 1.36,
|
|
|
- "bid_down_line": 2.18,
|
|
|
- "bid_up_line": 3.26
|
|
|
-}
|
|
|
+理由:"动态ROI=1.5 < pause_line(1.66),且低于p25(1.8),属底部25%广告,建议关停"
|
|
|
```
|
|
|
|
|
|
-**你应该**:
|
|
|
-- 使用这些值作为**基准**
|
|
|
-- 结合`distribution`(p25/p50/p75)做智能判断
|
|
|
-- 可以在reason中说明你的推断逻辑
|
|
|
+## 阈值不是死板的
|
|
|
|
|
|
-**示例reason**:
|
|
|
+**重要理解**:
|
|
|
+- 阈值只是参考,不是铁律
|
|
|
+- 要结合多维度信号综合判断
|
|
|
+- 特殊情况可以突破阈值
|
|
|
+
|
|
|
+**示例**:
|
|
|
```
|
|
|
-"动态ROI=1.2 < pause_line(1.36),且 < p25(1.5),属底部25%广告,建议关停"
|
|
|
-"动态ROI=4.5 > bid_up_line(3.26),且 > p75(3.2),属顶部优秀广告,建议提价"
|
|
|
+场景:ROI=1.70 略高于 pause_line=1.66
|
|
|
+但是:bid_increased_7d=true(7天内已提价),ROI仍未改善
|
|
|
+→ 虽然略高于阈值,但判断为"调价无效",仍建议关停
|
|
|
```
|
|
|
|
|
|
-# 多维度决策场景(必须分析)
|
|
|
+## 阈值调整(与运营协作)
|
|
|
|
|
|
-## 场景1:调价无效信号
|
|
|
+如果运营反馈"关停太多"或"太保守":
|
|
|
|
|
|
-**判断条件**:
|
|
|
-- `bid_increased_7d = true`(7天内调过价)
|
|
|
-- 但ROI仍低于bid_down_line或pause_line
|
|
|
+**你的响应流程**:
|
|
|
+1. **确认意图**:"您是希望放宽关停标准吗?"
|
|
|
+2. **展示当前参数**:"当前pause_line=1.66 (roi_mean=3.32 × 0.5)"
|
|
|
+3. **建议调整方案**:"建议将ROI_LOW_FACTOR从0.5放宽到0.3,新pause_line=1.00"
|
|
|
+4. **预估影响**:"预计关停数量从500减少到约300"
|
|
|
+5. **等待确认**:"请确认是否调整?"
|
|
|
|
|
|
-**决策逻辑**:
|
|
|
-- 如果ROI < pause_line:**关停**(调价无效,继续投放浪费预算)
|
|
|
-- 如果ROI在pause_line和bid_down_line之间:**降价幅度加大**(建议8-10%而非5%)
|
|
|
-- 理由中必须提及:"7天内已提价,但ROI未改善,判断为调价无效"
|
|
|
+---
|
|
|
|
|
|
-**决策示例**:
|
|
|
+# 七、决策输出规范
|
|
|
+
|
|
|
+**JSON格式**:
|
|
|
```json
|
|
|
{
|
|
|
"ad_id": "123456",
|
|
|
- "action": "pause",
|
|
|
- "dimension": "调价无效-关停",
|
|
|
- "reason": "f_7日动态ROI=1.15 < pause_line(1.36),且bid_increased_7d=true(7天内已提价),但ROI未改善,判断为调价无效,建议关停",
|
|
|
- "confidence": "high"
|
|
|
+ "action": "pause|bid_down|bid_up|hold",
|
|
|
+ "dimension": "ROI偏低|调价无效-关停|高ROI低量-提价|数据不足-观察",
|
|
|
+ "reason": "必须包含具体数值和多维度分析的理由",
|
|
|
+ "confidence": "high|medium|low",
|
|
|
+ "recommended_change_pct": 0.05 // 仅bid_down/bid_up需要
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-## 场景2:创意变化无效
|
|
|
-
|
|
|
-**判断条件**:
|
|
|
-- `creative_changed_7d = true`(7天内换过创意)
|
|
|
-- 但cost_7d_avg < 50元(消耗仍很低)
|
|
|
-
|
|
|
-**决策逻辑**:
|
|
|
-- **暂停**或**标记为创意问题**
|
|
|
-- 理由:"7天内已更换创意,但消耗仍低于50元/天,判断为创意吸引力不足"
|
|
|
+**reason要求**:
|
|
|
+- ✅ 必须引用具体数值(ROI、阈值、消耗、ad_age等)
|
|
|
+- ✅ 必须体现多维度分析(不只看ROI)
|
|
|
+- ✅ 必须说明决策逻辑(为什么这样判断)
|
|
|
+- ❌ 不要泛泛而谈(如:"ROI较低,建议降价")
|
|
|
|
|
|
-**决策示例**:
|
|
|
-```json
|
|
|
-{
|
|
|
- "ad_id": "234567",
|
|
|
- "action": "pause",
|
|
|
- "dimension": "创意无效-关停",
|
|
|
- "reason": "creative_changed_7d=true(7天内已更换创意),但cost_7d_avg=35元,消耗仍低,判断为创意吸引力不足",
|
|
|
- "confidence": "medium"
|
|
|
-}
|
|
|
+**好的reason示例**:
|
|
|
```
|
|
|
-
|
|
|
-## 场景3:数据稳定性判断
|
|
|
-
|
|
|
-**判断条件**:
|
|
|
-- `stable_spend_days_30d < 7天`(消耗波动大)
|
|
|
-
|
|
|
-**决策逻辑**:
|
|
|
-- 降低决策置信度:confidence = "low"
|
|
|
-- 对于ROI接近阈值的广告:**倾向于观察而非立即关停**
|
|
|
-- 理由:"30天内稳定消耗仅X天,数据波动较大,建议观察"
|
|
|
-
|
|
|
-**决策示例**:
|
|
|
-```json
|
|
|
-{
|
|
|
- "ad_id": "345678",
|
|
|
- "action": "hold",
|
|
|
- "dimension": "数据不稳定-观察",
|
|
|
- "reason": "ROI=1.42接近pause_line(1.36),但stable_spend_days_30d=4天,数据波动大,置信度低,建议观察",
|
|
|
- "confidence": "low"
|
|
|
-}
|
|
|
+"动态ROI=1.68略高于pause_line(1.66)但<bid_down_line(2.65),
|
|
|
+bid_increased_7d=true(7天内已提价)但ROI仍低迷,
|
|
|
+判断为调价无效,7日均消耗412元,建议关停"
|
|
|
```
|
|
|
|
|
|
-## 场景4:广告年龄差异化
|
|
|
-
|
|
|
-**判断条件**:
|
|
|
-- `ad_age_days` 在不同区间
|
|
|
-
|
|
|
-**决策逻辑**:
|
|
|
-- **5-10天(新广告)**:ROI略低时倾向观察,给予学习期
|
|
|
-- **10-30天(成长期)**:正常阈值判断
|
|
|
-- **30天+(老广告)**:ROI持续低迷可更果断关停
|
|
|
-
|
|
|
-**决策示例**:
|
|
|
-```json
|
|
|
-{
|
|
|
- "ad_id": "456789",
|
|
|
- "action": "hold",
|
|
|
- "dimension": "新广告-学习期",
|
|
|
- "reason": "ad_age_days=8天,处于学习期,ROI=1.30虽略低于pause_line(1.36),但给予观察期",
|
|
|
- "confidence": "low"
|
|
|
-}
|
|
|
+**差的reason示例**:
|
|
|
```
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "ad_id": "567890",
|
|
|
- "action": "pause",
|
|
|
- "dimension": "老广告-效率低迷",
|
|
|
- "reason": "ad_age_days=45天,ROI=1.25持续低于pause_line(1.36),老广告效率低迷,果断关停",
|
|
|
- "confidence": "high"
|
|
|
-}
|
|
|
+"ROI较低,建议降价" // ❌ 没有具体数值,没有多维度分析
|
|
|
```
|
|
|
|
|
|
---
|
|
|
+
|
|
|
+**记住**:你是投放专家,不是计算器。要像经验丰富的优化师一样思考,而不是机械地套用公式。
|