预算与 ROI
High Contrast
Dark Mode
Light Mode
Sepia
Forest
1 min read223 words

预算与 ROI

广告是投资不是花费——每一分钱都要算回报。

预算规划框架

graph TD GOAL[业务目标] --> REV[目标收入] REV --> ROAS_T[目标 ROAS] ROAS_T --> BUDGET[广告预算 = 目标收入 / ROAS] BUDGET --> ALLOC[渠道分配] ALLOC --> SEARCH[搜索广告 40%] ALLOC --> SOCIAL[社交广告 35%] ALLOC --> RETARGET[再营销 15%] ALLOC --> TEST_B[测试预算 10%] style GOAL fill:#e3f2fd,stroke:#1565c0,stroke-width:2px style BUDGET fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px

ROAS 计算与优化

"""
ROAS 计算器与优化引擎
"""
from dataclasses import dataclass
@dataclass
class CampaignROAS:
"""广告系列 ROAS 分析"""
name: str
spend: float
revenue: float
orders: int
clicks: int
@property
def roas(self) -> float:
return self.revenue / self.spend if self.spend else 0
@property
def aov(self) -> float:
"""客单价"""
return self.revenue / self.orders if self.orders else 0
@property
def cpa(self) -> float:
return self.spend / self.orders if self.orders else 0
@property
def cpc(self) -> float:
return self.spend / self.clicks if self.clicks else 0
@property
def cvr(self) -> float:
return self.orders / self.clicks * 100 if self.clicks else 0
def optimize_suggestions(self) -> list[str]:
"""优化建议"""
tips = []
if self.roas < 2:
tips.append("ROAS < 2: 考虑暂停并重新规划")
elif self.roas < 3:
tips.append("ROAS 2-3: 优化转化率或提高客单价")
if self.cvr < 2:
tips.append("CVR 低: 优化落地页体验和相关性")
if self.cpc > 10:
tips.append("CPC 偏高: 拓展长尾词或优化 QS")
if self.aov < 100:
tips.append("客单价低: 设置满减/捆绑销售")
return tips if tips else ["表现优秀,可考虑加预算放量"]
campaigns = [
CampaignROAS("Google 搜索 - 品牌词", 5000, 30000, 120, 2000),
CampaignROAS("Facebook - 再营销", 3000, 12000, 60, 1500),
CampaignROAS("TikTok - 拉新", 8000, 16000, 80, 5000),
CampaignROAS("Google 搜索 - 通用词", 6000, 9000, 30, 3000),
]
print("=== ROAS 分析报告 ===")
print(f"{'广告系列':<25} {'花费':>8} {'收入':>8} {'ROAS':>6} {'CPA':>8} {'CVR':>6}")
print("-" * 65)
total_spend = 0
total_revenue = 0
for c in campaigns:
total_spend += c.spend
total_revenue += c.revenue
print(f"{c.name:<25} ¥{c.spend:>6,.0f} ¥{c.revenue:>6,.0f} "
f"{c.roas:>5.1f}x ¥{c.cpa:>6.0f} {c.cvr:>5.1f}%")
for tip in c.optimize_suggestions():
print(f"  → {tip}")
print(f"\n{'总计':<25} ¥{total_spend:>6,.0f} ¥{total_revenue:>6,.0f} "
f"{total_revenue/total_spend:>5.1f}x")

出价策略

"""
出价策略选择
"""
BIDDING_STRATEGIES = {
"手动 CPC": {
"原理": "手动设定每次点击出价",
"控制": "完全控制",
"适合": "新账户测试、低预算",
"风险": "耗时、可能错过机会",
"成熟度": "初级",
},
"增强 CPC": {
"原理": "手动出价 + 系统微调 (±30%)",
"控制": "高度控制",
"适合": "积累数据期",
"风险": "可能超出设定出价",
"成熟度": "初中级",
},
"目标 CPA": {
"原理": "系统自动出价以达到目标 CPA",
"控制": "中度控制",
"适合": "有 30+ 转化数据",
"风险": "可能减少展示量",
"成熟度": "中级",
},
"目标 ROAS": {
"原理": "系统优化出价以达到目标回报率",
"控制": "中度控制",
"适合": "有 50+ 转化 + 收入数据",
"风险": "波动较大",
"成熟度": "高级",
},
"最大化转化": {
"原理": "在预算内尽可能多转化",
"控制": "低控制",
"适合": "快速放量",
"风险": "CPA 可能偏高",
"成熟度": "中级",
},
"最大化价值": {
"原理": "在预算内最大化转化价值",
"控制": "低控制",
"适合": "产品价格差异大",
"风险": "偏向高客单产品",
"成熟度": "高级",
},
}
print("=== 出价策略路径 ===")
for strategy, info in BIDDING_STRATEGIES.items():
print(f"\n【{strategy}】 ({info['成熟度']})")
print(f"  原理: {info['原理']}")
print(f"  适合: {info['适合']}")
print(f"  风险: {info['风险']}")

预算节奏控制

graph LR subgraph 月度节奏 W1[第1周 探索] -->|25%| W2[第2周 优化] W2 -->|25%| W3[第3周 放量] W3 -->|30%| W4[第4周 冲刺] end style W1 fill:#e3f2fd,stroke:#1565c0 style W3 fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px style W4 fill:#fff3e0,stroke:#e65100,stroke-width:2px
"""
预算节奏管理
"""
def plan_monthly_budget(total: float, goal: str = "均衡") -> dict:
"""月度预算分配"""
patterns = {
"均衡": [0.25, 0.25, 0.25, 0.25],
"月末冲刺": [0.20, 0.20, 0.25, 0.35],
"月初抢量": [0.35, 0.25, 0.20, 0.20],
"促销集中": [0.15, 0.15, 0.15, 0.55],
}
ratio = patterns.get(goal, patterns["均衡"])
weeks = {}
for i, r in enumerate(ratio, 1):
weekly = total * r
daily = weekly / 7
weeks[f"第{i}周"] = {
"预算": f"¥{weekly:,.0f}",
"日均": f"¥{daily:,.0f}",
"占比": f"{r*100:.0f}%",
}
return {"总预算": f"¥{total:,.0f}", "策略": goal, "分配": weeks}
result = plan_monthly_budget(50000, "月末冲刺")
print(f"=== 月度预算: {result['总预算']} ({result['策略']}) ===")
for week, data in result["分配"].items():
print(f"  {week}: {data['预算']} ({data['占比']}) 日均 {data['日均']}")

核心公式速查

指标 公式 及格线
ROAS 收入 / 广告费 > 3x
CPA 广告费 / 转化数 < 客单价 × 30%
CAC 总获客成本 / 新客数 < LTV × 33%
LTV 客单价 × 购买频次 × 留存月数 > 3 × CAC
毛利 ROAS (收入 - COGS) / 广告费 > 1.5x

小结

下一章: AI 智能广告