项目文件夹

文件
2026-07-13 21:35:56 +08:00

7.6 KiB

name, description, license, metadata
name description license metadata
campaign-analytics 分析营销活动表现,提供多渠道归因、漏斗转化分析和ROI计算,助力营销优化。适用于分析营销活动、广告表现、归因模型、转化率,或计算跨渠道营销ROI、ROAS、CPA及活动指标。 MIT
version author category domain updated python-tools tech-stack
1.0.0 Alireza Rezvani marketing campaign-analytics 2026-02-06 attribution_analyzer.py, funnel_analyzer.py, campaign_roi_calculator.py marketing-analytics, attribution-modeling

营销活动分析

生产级营销活动表现分析,包含多渠道归因建模、漏斗转化分析和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。常见错误:

  • 缺少必需的键(例如 journeysfunnel.stagescampaigns)→ 脚本退出并显示描述性的 KeyError
  • 数组长度不匹配(漏斗数据中 stagescounts 长度必须一致)→ 抛出 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 逐阶段优化策略、常见瓶颈及最佳实践

最佳实践

  1. 使用多种归因模型——至少对比 3 种模型以交叉验证渠道价值;单一模型无法呈现全貌。
  2. 设置合理的回溯窗口——将时间衰减半衰期与你的平均销售周期长度相匹配。
  3. 细分漏斗——对比不同细分群体(渠道、同期群、地域)以识别表现驱动因素。
  4. 先与自身历史数据对标——行业基准提供参考背景,但历史数据才是最相关的比较依据。
  5. 定期运行 ROI 分析——活跃活动每周一次,战略复盘每月一次。
  6. 纳入所有成本——将创意、工具和人力成本与媒体支出一同计入,才能得到准确的 ROI。
  7. 严谨记录 A/B 测试——使用提供的模板确保统计有效性和明确的决策标准。

局限性

  • 无统计显著性检验——脚本仅提供描述性指标;p 值计算需要使用外部工具。
  • 仅依赖标准库——无高级统计库。适用于大多数活动规模,但未针对超过 10 万条旅程的数据集进行优化。
  • 离线分析——脚本分析静态 JSON 快照;无实时数据连接或 API 集成。
  • 单币种——所有货币值假定为同一币种;不支持货币换算。
  • 简化的时间衰减——基于可配置半衰期的指数衰减;未考虑工作日/周末或季节性模式。
  • 无跨设备追踪——归因按提供的旅程数据原样运行;跨设备身份解析需在上游处理。

相关技能

  • analytics-tracking:用于设置追踪。用于分析数据(那是本技能的功能)。
  • ab-test-setup:用于设计实验,检验分析揭示的内容。
  • marketing-ops:用于将洞察路由至正确的执行技能。
  • paid-ads:用于根据分析结果优化广告支出。