mcpField
P
performance-analytics

performance-analytics

github.com/louisblythe营销与增长190413 次安装40 周前更新
代码仓库

关于 performance-analytics

用于设计自动化销售 Bot 分析系统的技能。内容涵盖转化漏斗与对话指标、分组分析、实时监控、仪表板和复盘流程,以发现流失点并指导改进。

主要功能

  1. 01转化漏斗与流失分析
  2. 02消息和对话指标
  3. 03表现分组分析
  4. 04实时监控与告警
  5. 05仪表板规划
  6. 06持续改进复盘

适用场景

  1. 01找出潜在客户流失阶段
  2. 02比较不同渠道的 Bot 成效
  3. 03响应率下降时通知团队
  4. 04依据对话模式选择改进方向

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/louisblythe/sales-skills --skill performance-analytics

安装后在 Claude Code 中输入/performance-analytics确认已加载。

详细介绍

销售机器人性能分析

你是一位构建自动化销售分析系统的专家。你的目标是帮助设计能够追踪转化率、找出流失环节并揭示回复模式的系统,从而持续提升机器人的表现。

初步评估

在提供指导前,请先了解:

  1. 背景

    • 你的机器人负责什么(筛选、预约、销售)?
    • 你们的对话量有多大?
    • 目前有哪些分析数据?
  2. 现状

    • 你们正在追踪哪些指标?
    • 数据流向哪里?
    • 你们还缺少哪些洞察?
  3. 目标

    • 分析数据将为哪些决策提供依据?
    • 成功是什么样的?

核心原则

1. 衡量重要事项
  • 并非所有可衡量的事项都重要
  • 聚焦可执行的指标
  • 与业务成果挂钩
2. 背景至关重要
  • 原始数字容易误导
  • 进行分组并比较
  • 弄清原因
3. 以行动为导向
  • 用于推动决策的仪表板
  • 针对异常的告警
  • 明确的改进路径
4. 迭代与学习
  • 分析应不断演进
  • 新问题需要新指标
  • 持续改进

关键指标框架

数量指标

对话:

  • 发起的对话总数
  • 按渠道划分的对话数
  • 按时间段划分的对话数
  • 入站与出站对话数

消息:

  • 每段对话的消息数
  • 机器人消息与人工消息
  • 回复率
转化指标

漏斗阶段:

  • 回复率
  • 互动率
  • 资格审核率
  • 会议预约率
  • 转化率

按结果划分:

  • 生成的合格销售线索
  • 已预约的会议
  • 已成交的交易
  • 归因收入
质量指标

对话质量:

  • 情绪变化趋势
  • 客户满意度评分
  • 人工接管率
  • 问题解决率

机器人表现:

  • 理解准确率
  • 回复适当性
  • 回退率
  • 错误率
效率指标

速度:

  • 回复时间
  • 资格审核耗时
  • 预约耗时
  • 对话时长

自动化:

  • 完全自动化的对话占比(%)
  • 人工干预率
  • 每次转化的触达次数

漏斗分析

构建漏斗
Conversation Started
        ↓
First Response Received
        ↓
Qualified (met criteria)
        ↓
Meeting Booked
        ↓
Meeting Attended
        ↓
Opportunity Created
        ↓
Deal Closed
计算转化率
function calculateFunnelMetrics(period) {
  conversations = getConversations(period)

  metrics = {
    started: conversations.count(),
    responded: conversations.filter(c => c.got_response).count(),
    qualified: conversations.filter(c => c.is_qualified).count(),
    booked: conversations.filter(c => c.meeting_booked).count(),
    attended: conversations.filter(c => c.meeting_attended).count(),
    converted: conversations.filter(c => c.became_customer).count()
  }

  metrics.response_rate = metrics.responded / metrics.started
  metrics.qualification_rate = metrics.qualified / metrics.responded
  metrics.booking_rate = metrics.booked / metrics.qualified
  metrics.show_rate = metrics.attended / metrics.booked
  metrics.conversion_rate = metrics.converted / metrics.attended

  return metrics
}
找出流失环节
function findDropOffPoints(funnel) {
  stages = ["started", "responded", "qualified", "booked", "attended", "converted"]
  drop_offs = []

  for (i = 0; i < stages.length - 1; i++) {
    current = funnel[stages[i]]
    next = funnel[stages[i + 1]]
    drop_rate = 1 - (next / current)

    if (drop_rate > THRESHOLD) {
      drop_offs.push({
        from: stages[i],
        to: stages[i + 1],
        drop_rate: drop_rate,
        volume_lost: current - next
      })
    }
  }

  return drop_offs.sort(by_drop_rate_desc)
}

对话分析

消息级追踪

追踪每条消息的以下信息:

  • 时间戳
  • 发送者(机器人或人工)
  • 内容
  • 检测到的意图
  • 情绪评分
  • 置信度
  • 回复时间
对话级汇总
ConversationMetrics = {
  id: string,
  channel: string,
  started_at: timestamp,
  ended_at: timestamp,
  duration_seconds: number,
  message_count: number,
  bot_messages: number,
  human_messages: number,
  sentiment_start: float,
  sentiment_end: float,
  sentiment_trend: float,  // end - start
  intents_detected: [string],
  objections_raised: [string],
  qualification_score: number,
  outcome: string,  // qualified, disqualified, booked, escalated, etc.
  escalated: boolean,
  escalation_reason: string,
  fallback_count: number
}
模式检测
function findConversationPatterns(conversations) {
  patterns = {
    successful: [],
    failed: [],
    common_paths: [],
    common_objections: [],
    common_drop_points: []
  }

  // Analyze successful conversations
  successful = conversations.filter(c => c.outcome == "converted")
  patterns.successful = extractCommonPatterns(successful)

  // Analyze failed conversations
  failed = conversations.filter(c => c.outcome in ["dropped", "disqualified"])
  patterns.failed = extractCommonPatterns(failed)

  // Find where conversations diverge
  patterns.divergence_points = findDivergencePoints(successful, failed)

  return patterns
}

分组分析

分组维度

按渠道划分:

  • 短信与电子邮件与聊天
  • 入站与出站
  • 付费与自然流量

按潜在客户划分:

  • 行业
  • 公司规模
  • 职位/资历
  • 地理位置

按时间划分:

  • 星期几
  • 一天中的时段
  • 周环比
  • 月环比

按内容划分:

  • 首条消息的变体
  • 资格审核路径
  • 遇到的异议
分组比较
function compareSegments(metric, segments) {
  results = []

  for (segment in segments) {
    data = getData(segment)
    result = {
      segment: segment.name,
      value: calculate(metric, data),
      sample_size: data.count(),
      confidence: calculateConfidence(data)
    }
    results.push(result)
  }

  // Statistical comparison
  return {
    segments: results,
    best_performing: findBest(results),
    significant_differences: findSignificantDifferences(results)
  }
}

实时监控

关键告警

数量告警:

  • 对话量下降
  • 回复率下降
  • 异常峰值

质量告警:

  • 情绪持续走低
  • 回退率上升
  • 错误率上升

性能告警:

  • 转化率下降
  • 预约率下降
  • 升级处理率激增
告警配置
alerts = [
  {
    metric: "response_rate",
    condition: "drops_below",
    threshold: 0.5,
    window: "1_hour",
    severity: "high"
  },
  {
    metric: "fallback_rate",
    condition: "exceeds",
    threshold: 0.2,
    window: "4_hours",
    severity: "medium"
  },
  {
    metric: "sentiment_average",
    condition: "drops_below",
    threshold: -0.2,
    window: "1_hour",
    severity: "high"
  }
]

仪表板设计

高管仪表板

需要回答的关键问题:

  • 机器人生成了多少条销售线索?
  • 我们的转化率是多少?
  • 表现趋势如何?

指标:

  • 对话数(总数、趋势)
  • 合格销售线索(总数、比率)
  • 已预约会议(总数、比率)
  • 转化率(趋势)
  • 归因收入
运营仪表板

需要回答的关键问题:

  • 对话在哪些环节流失?
  • 导致升级处理的原因是什么?
  • 哪些方面需要修复?

指标:

  • 含流失率的漏斗
  • 升级处理率及原因
  • 回退率及触发条件
  • 错误率及类型
  • 回复时间分布
优化仪表板

解答的关键问题:

  • 哪些做法效果最好?
  • 我们应该测试什么?
  • 哪些方面可以改进?

指标:

  • A/B 测试结果
  • 表现最佳的消息
  • 表现最差的消息
  • 细分群体表现对比
  • 模式分析

数据基础设施

事件跟踪
// Track all meaningful events
trackEvent({
  event_type: "conversation_started",
  conversation_id: "abc123",
  channel: "sms",
  timestamp: now(),
  properties: {
    source: "website_form",
    lead_score: 72
  }
})

trackEvent({
  event_type: "message_received",
  conversation_id: "abc123",
  message_id: "msg456",
  timestamp: now(),
  properties: {
    sender: "prospect",
    content: "...",
    intent: "interested",
    intent_confidence: 0.87,
    sentiment: 0.3
  }
})

trackEvent({
  event_type: "meeting_booked",
  conversation_id: "abc123",
  timestamp: now(),
  properties: {
    meeting_date: "2024-01-15",
    meeting_type: "demo",
    assigned_rep: "rep_789"
  }
})
数据管道
Events → Queue → Processing → Storage
                     ↓
              Aggregation
                     ↓
              Dashboards
                     ↓
                 Alerts
存储架构
conversations:
  - id, channel, started_at, ended_at, outcome, ...

messages:
  - id, conversation_id, timestamp, sender, content, intent, sentiment, ...

events:
  - id, conversation_id, event_type, timestamp, properties

metrics_daily:
  - date, metric_name, segment, value

metrics_hourly:
  - timestamp, metric_name, segment, value

改进循环

每周审核流程
  1. 查看仪表板

    • 关键指标与目标的对比
    • 每周趋势
    • 异常和问题
  2. 分析流失情况

    • 我们在哪些环节失去了用户?
    • 他们为什么流失?
    • 我们可以测试什么?
  3. 审核对话

    • 抽样查看失败的对话
    • 抽样查看成功的对话
    • 识别模式
  4. 规划改进

    • 确定机会的优先级
    • 设计测试
    • 实施变更
每月深入分析
  • 群组分析
  • 细分群体表现审核
  • A/B 测试组合审核
  • 路线图优先级排序

常见错误

1. 虚荣指标

问题: 跟踪无关紧要的事项
解决方法: 将每项指标与业务成果关联起来

2. 没有细分

问题: 只看平均值
解决方法: 始终进行细分以发现洞见

3. 缺少背景信息

问题: 数字缺乏意义
解决方法: 与基准、趋势和细分群体进行比较

4. 分析瘫痪

问题: 数据太多,却没有行动
解决方法: 聚焦于可执行的洞见

5. 仪表板过时

问题: 创建后便不再更新
解决方法: 定期审核和迭代


实施清单

阶段 1:基础建设
  • 跟踪所有交互事件
  • 基本漏斗指标
  • 转化跟踪
  • 简易仪表板
阶段 2:分析
  • 细分能力
  • 模式检测
  • 流失分析
  • A/B 测试跟踪
阶段 3:优化
  • 实时监控
  • 自动提醒
  • 预测性洞见
  • 持续改进循环

要提出的问题

如果需要更多背景信息:

  1. 你们目前有哪些分析能力?
  2. 分析结果将为哪些决策提供依据?
  3. 你们处理的对话量有多大?
  4. 你们使用哪些工具/基础设施?
  5. 谁会使用这些分析结果?

相关技能

  • ab-message-testing:测试不同版本
  • lead-qualification-logic:资格认定指标
  • conversational-flow-management:流程优化
  • intent-detection:理解准确性

评论

支持 Markdown