营销活动分析
生产级别的营销活动性能分析,采用多点归因模型、漏斗转化分析和ROI计算进行营销优化。三个Python命令行工具提供确定性的、可重复的分析,仅使用标准库——无需外部依赖、无需API调用、无需ML模型。
目录
功能
- 多点归因:五种归因模型(首次接触、最后接触、线性、时间衰减、位置基础)具有可配置参数
- 漏斗转化分析:分阶段转化率、流失识别、瓶颈检测和细分比较
- 营销活动ROI计算:ROI、ROAS、CPA、CPL、CAC指标与行业基准对比和性能不佳标记
- A/B测试支持:结构化A/B测试文档和分析模板
- 渠道比较:跨渠道性能比较与标准化指标
- 高管报告:现成的营销活动性能报告模板
输入要求
所有脚本接受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": "春季电子邮件营销活动",
"channel": "email",
"spend": 5000.00,
"revenue": 25000.00,
"impressions": 50000,
"clicks": 2500,
"leads": 300,
"customers": 45
}
]
}
输出格式
所有脚本通过--format标志支持两种输出格式:
--format text(默认):人类可读的表格和摘要,用于审核--format json:机器可读的JSON,用于集成和管道
如何使用
归因分析
# 运行所有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测试 – 使用提供的模板确保统计有效性和明确的决策标准。
限制
- 没有统计显著性测试 – A/B测试分析需要外部工具进行p值计算。脚本仅提供描述性指标。
- 仅标准库 – 没有高级统计或数据处理库。适合大多数营销活动规模,但未针对超过100K旅程的数据集进行优化。
- 离线分析 – 脚本分析静态JSON快照。没有实时数据连接或API集成。
- 单一货币 – 所有货币值假定为同一货币。不支持货币转换。
- 简化的时间衰减 – 使用基于可配置半衰期的指数衰减。不考虑工作日/周末或季节性模式。
- 没有跨设备跟踪 – 归因根据提供的旅程数据进行操作。跨设备身份解析必须在上游处理。