skillhub-051-campaign-analytics
7.6 KiB
7.6 KiB
name, description, license, metadata
| name | description | license | metadata | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| campaign-analytics | 分析营销活动表现,提供多渠道归因、漏斗转化分析和ROI计算,助力营销优化。适用于分析营销活动、广告表现、归因模型、转化率,或计算跨渠道营销ROI、ROAS、CPA及活动指标。 | MIT |
|
营销活动分析
生产级营销活动表现分析,包含多渠道归因建模、漏斗转化分析和ROI计算。三个 Python CLI 工具仅使用标准库即可提供确定性、可重复的分析——无外部依赖、无 API 调用、无 ML 模型。
输入要求
所有脚本均接受一个 JSON 文件作为位置输入参数。完整示例请参见 assets/sample_campaign_data.json。
归因分析器
{
"journeys": [
{
"journey_id": "j1",
"touchpoints": [
{"channel": "organic_search", "timestamp": "2025-10-01T10:00:00", "interaction": "click"},
{"channel": "email", "timestamp": "2025-10-05T14:30:00", "interaction": "open"},
{"channel": "paid_search", "timestamp": "2025-10-08T09:15:00", "interaction": "click"}
],
"converted": true,
"revenue": 500.00
}
]
}
漏斗分析器
{
"funnel": {
"stages": ["Awareness", "Interest", "Consideration", "Intent", "Purchase"],
"counts": [10000, 5200, 2800, 1400, 420]
}
}
活动 ROI 计算器
{
"campaigns": [
{
"name": "Spring Email Campaign",
"channel": "email",
"spend": 5000.00,
"revenue": 25000.00,
"impressions": 50000,
"clicks": 2500,
"leads": 300,
"customers": 45
}
]
}
输入验证
在运行脚本之前,请确认你的 JSON 格式有效且符合预期的 schema。常见错误:
- 缺少必需的键(例如
journeys、funnel.stages、campaigns)→ 脚本退出并显示描述性的KeyError - 数组长度不匹配(漏斗数据中
stages与counts长度必须一致)→ 抛出ValueError - ROI 数据中存在非数值货币值 → 抛出
TypeError
在将数据传入任何脚本之前,使用 python -m json.tool your_file.json 验证 JSON 语法。
输出格式
所有脚本均通过 --format 参数支持两种输出格式:
--format text(默认):供审阅的可读表格和摘要--format json:供集成和管道使用的机器可读 JSON
典型分析工作流
要进行完整的活动审查,请按顺序依次运行三个脚本:
# 步骤 1 — 归因:了解哪些渠道推动转化
python scripts/attribution_analyzer.py campaign_data.json --model time-decay
# 步骤 2 — 漏斗:识别潜在客户在转化路径上的流失环节
python scripts/funnel_analyzer.py funnel_data.json
# 步骤 3 — ROI:计算盈利能力并与行业标准对标
python scripts/campaign_roi_calculator.py campaign_data.json
使用归因结果确定表现最佳的渠道,然后将漏斗分析聚焦于这些渠道的细分群体,最后验证 ROI 指标以确定预算重新分配的优先级。
使用方法
归因分析
# 运行全部 5 种归因模型
python scripts/attribution_analyzer.py campaign_data.json
# 运行指定模型
python scripts/attribution_analyzer.py campaign_data.json --model time-decay
# 输出 JSON 格式供管道集成
python scripts/attribution_analyzer.py campaign_data.json --format json
# 自定义时间衰减半衰期(默认:7 天)
python scripts/attribution_analyzer.py campaign_data.json --model time-decay --half-life 14
漏斗分析
# 基本漏斗分析
python scripts/funnel_analyzer.py funnel_data.json
# 输出 JSON 格式
python scripts/funnel_analyzer.py funnel_data.json --format json
活动 ROI 计算
# 计算所有活动的 ROI 指标
python scripts/campaign_roi_calculator.py campaign_data.json
# 输出 JSON 格式
python scripts/campaign_roi_calculator.py campaign_data.json --format json
脚本
1. attribution_analyzer.py
实现五种行业标准归因模型,用于在各营销渠道间分配转化贡献:
| 模型 | 说明 | 适用场景 |
|---|---|---|
| 首次接触 | 100% 贡献归因于首次互动 | 品牌知名度活动 |
| 末次接触 | 100% 贡献归因于末次互动 | 直接响应活动 |
| 线性 | 所有触点均分贡献 | 均衡的多渠道评估 |
| 时间衰减 | 越近的触点获得越多贡献 | 短销售周期 |
| 位置型 | 40/20/40 分配(首次/中间/末次) | 全漏斗营销 |
2. funnel_analyzer.py
分析转化漏斗,识别瓶颈和优化机会:
- 阶段间转化率与流失百分比
- 自动瓶颈识别(最大绝对值与相对值下降)
- 整体漏斗转化率
- 当提供多个细分群体时进行细分对比
3. campaign_roi_calculator.py
计算全面的 ROI 指标并附带行业对标:
- ROI:投资回报率百分比
- ROAS:广告支出回报率
- CPA:单次获客成本
- CPL:单条线索成本
- CAC:客户获取成本
- CTR:点击率
- CVR:转化率(线索到客户)
- 根据行业基准标记表现不佳的活动
参考指南
| 指南 | 位置 | 用途 |
|---|---|---|
| 归因模型指南 | references/attribution-models-guide.md |
深入解析 5 种模型,包含公式、优缺点及选择标准 |
| 活动指标基准 | references/campaign-metrics-benchmarks.md |
按渠道和行业的 CTR、CPC、CPM、CPA、ROAS 基准数据 |
| 漏斗优化框架 | references/funnel-optimization-framework.md |
逐阶段优化策略、常见瓶颈及最佳实践 |
最佳实践
- 使用多种归因模型——至少对比 3 种模型以交叉验证渠道价值;单一模型无法呈现全貌。
- 设置合理的回溯窗口——将时间衰减半衰期与你的平均销售周期长度相匹配。
- 细分漏斗——对比不同细分群体(渠道、同期群、地域)以识别表现驱动因素。
- 先与自身历史数据对标——行业基准提供参考背景,但历史数据才是最相关的比较依据。
- 定期运行 ROI 分析——活跃活动每周一次,战略复盘每月一次。
- 纳入所有成本——将创意、工具和人力成本与媒体支出一同计入,才能得到准确的 ROI。
- 严谨记录 A/B 测试——使用提供的模板确保统计有效性和明确的决策标准。
局限性
- 无统计显著性检验——脚本仅提供描述性指标;p 值计算需要使用外部工具。
- 仅依赖标准库——无高级统计库。适用于大多数活动规模,但未针对超过 10 万条旅程的数据集进行优化。
- 离线分析——脚本分析静态 JSON 快照;无实时数据连接或 API 集成。
- 单币种——所有货币值假定为同一币种;不支持货币换算。
- 简化的时间衰减——基于可配置半衰期的指数衰减;未考虑工作日/周末或季节性模式。
- 无跨设备追踪——归因按提供的旅程数据原样运行;跨设备身份解析需在上游处理。
相关技能
- analytics-tracking:用于设置追踪。不用于分析数据(那是本技能的功能)。
- ab-test-setup:用于设计实验,检验分析揭示的内容。
- marketing-ops:用于将洞察路由至正确的执行技能。
- paid-ads:用于根据分析结果优化广告支出。