customer-success-manager

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Customer Success Manager

客户成功经理

Production-grade customer success analytics with multi-dimensional health scoring, churn risk prediction, and expansion opportunity identification. Three Python CLI tools provide deterministic, repeatable analysis using standard library only -- no external dependencies, no API calls, no ML models.

面向生产环境的客户成功分析工具,支持多维度健康评分、流失风险预测及业务扩张机会识别。包含三款Python CLI工具,仅使用Python标准库即可提供确定性、可重复的分析结果——无需外部依赖、无需调用API、无需机器学习模型。

Table of Contents

目录

Capabilities

功能特性

  • Customer Health Scoring: Multi-dimensional weighted scoring across usage, engagement, support, and relationship dimensions with Red/Yellow/Green classification
  • Churn Risk Analysis: Behavioral signal detection with tier-based intervention playbooks and time-to-renewal urgency multipliers
  • Expansion Opportunity Scoring: Adoption depth analysis, whitespace mapping, and revenue opportunity estimation with effort-vs-impact prioritization
  • Segment-Aware Benchmarking: Configurable thresholds for Enterprise, Mid-Market, and SMB customer segments
  • Trend Analysis: Period-over-period comparison to detect improving or declining trajectories
  • Executive Reporting: QBR templates, success plans, and executive business review templates

  • 客户健康评分:基于使用情况、互动程度、支持服务及客户关系多维度的加权评分体系,采用红/黄/绿三色分类标识
  • 流失风险分析:检测客户行为信号,结合分层干预手册及续约倒计时权重系数评估流失风险
  • 扩张机会评分:分析产品使用深度、挖掘空白业务场景、估算营收机会,并按投入产出比优先级排序
  • 细分客群基准对比:针对企业级、中大型、SMB客群配置个性化阈值
  • 趋势分析:通过跨周期对比识别客户健康状况的改善或下滑趋势
  • 高管汇报支持:提供QBR模板、客户成功计划及高管业务复盘模板

Input Requirements

输入要求

All scripts accept a JSON file as positional input argument. See
assets/sample_customer_data.json
for complete examples.
所有脚本均接受JSON文件作为位置输入参数。完整示例可参考
assets/sample_customer_data.json

Health Score Calculator

健康评分计算器

json
{
  "customers": [
    {
      "customer_id": "CUST-001",
      "name": "Acme Corp",
      "segment": "enterprise",
      "arr": 120000,
      "usage": {
        "login_frequency": 85,
        "feature_adoption": 72,
        "dau_mau_ratio": 0.45
      },
      "engagement": {
        "support_ticket_volume": 3,
        "meeting_attendance": 90,
        "nps_score": 8,
        "csat_score": 4.2
      },
      "support": {
        "open_tickets": 2,
        "escalation_rate": 0.05,
        "avg_resolution_hours": 18
      },
      "relationship": {
        "executive_sponsor_engagement": 80,
        "multi_threading_depth": 4,
        "renewal_sentiment": "positive"
      },
      "previous_period": {
        "usage_score": 70,
        "engagement_score": 65,
        "support_score": 75,
        "relationship_score": 60
      }
    }
  ]
}
json
{
  "customers": [
    {
      "customer_id": "CUST-001",
      "name": "Acme Corp",
      "segment": "enterprise",
      "arr": 120000,
      "usage": {
        "login_frequency": 85,
        "feature_adoption": 72,
        "dau_mau_ratio": 0.45
      },
      "engagement": {
        "support_ticket_volume": 3,
        "meeting_attendance": 90,
        "nps_score": 8,
        "csat_score": 4.2
      },
      "support": {
        "open_tickets": 2,
        "escalation_rate": 0.05,
        "avg_resolution_hours": 18
      },
      "relationship": {
        "executive_sponsor_engagement": 80,
        "multi_threading_depth": 4,
        "renewal_sentiment": "positive"
      },
      "previous_period": {
        "usage_score": 70,
        "engagement_score": 65,
        "support_score": 75,
        "relationship_score": 60
      }
    }
  ]
}

Churn Risk Analyzer

流失风险分析器

json
{
  "customers": [
    {
      "customer_id": "CUST-001",
      "name": "Acme Corp",
      "segment": "enterprise",
      "arr": 120000,
      "contract_end_date": "2026-06-30",
      "usage_decline": {
        "login_trend": -15,
        "feature_adoption_change": -10,
        "dau_mau_change": -0.08
      },
      "engagement_drop": {
        "meeting_cancellations": 2,
        "response_time_days": 5,
        "nps_change": -3
      },
      "support_issues": {
        "open_escalations": 1,
        "unresolved_critical": 0,
        "satisfaction_trend": "declining"
      },
      "relationship_signals": {
        "champion_left": false,
        "sponsor_change": false,
        "competitor_mentions": 1
      },
      "commercial_factors": {
        "contract_type": "annual",
        "pricing_complaints": false,
        "budget_cuts_mentioned": false
      }
    }
  ]
}
json
{
  "customers": [
    {
      "customer_id": "CUST-001",
      "name": "Acme Corp",
      "segment": "enterprise",
      "arr": 120000,
      "contract_end_date": "2026-06-30",
      "usage_decline": {
        "login_trend": -15,
        "feature_adoption_change": -10,
        "dau_mau_change": -0.08
      },
      "engagement_drop": {
        "meeting_cancellations": 2,
        "response_time_days": 5,
        "nps_change": -3
      },
      "support_issues": {
        "open_escalations": 1,
        "unresolved_critical": 0,
        "satisfaction_trend": "declining"
      },
      "relationship_signals": {
        "champion_left": false,
        "sponsor_change": false,
        "competitor_mentions": 1
      },
      "commercial_factors": {
        "contract_type": "annual",
        "pricing_complaints": false,
        "budget_cuts_mentioned": false
      }
    }
  ]
}

Expansion Opportunity Scorer

扩张机会评分器

json
{
  "customers": [
    {
      "customer_id": "CUST-001",
      "name": "Acme Corp",
      "segment": "enterprise",
      "arr": 120000,
      "contract": {
        "licensed_seats": 100,
        "active_seats": 95,
        "plan_tier": "professional",
        "available_tiers": ["professional", "enterprise", "enterprise_plus"]
      },
      "product_usage": {
        "core_platform": {"adopted": true, "usage_pct": 85},
        "analytics_module": {"adopted": true, "usage_pct": 60},
        "integrations_module": {"adopted": false, "usage_pct": 0},
        "api_access": {"adopted": true, "usage_pct": 40},
        "advanced_reporting": {"adopted": false, "usage_pct": 0}
      },
      "departments": {
        "current": ["engineering", "product"],
        "potential": ["marketing", "sales", "support"]
      }
    }
  ]
}

json
{
  "customers": [
    {
      "customer_id": "CUST-001",
      "name": "Acme Corp",
      "segment": "enterprise",
      "arr": 120000,
      "contract": {
        "licensed_seats": 100,
        "active_seats": 95,
        "plan_tier": "professional",
        "available_tiers": ["professional", "enterprise", "enterprise_plus"]
      },
      "product_usage": {
        "core_platform": {"adopted": true, "usage_pct": 85},
        "analytics_module": {"adopted": true, "usage_pct": 60},
        "integrations_module": {"adopted": false, "usage_pct": 0},
        "api_access": {"adopted": true, "usage_pct": 40},
        "advanced_reporting": {"adopted": false, "usage_pct": 0}
      },
      "departments": {
        "current": ["engineering", "product"],
        "potential": ["marketing", "sales", "support"]
      }
    }
  ]
}

Output Formats

输出格式

All scripts support two output formats via the
--format
flag:
  • text
    (default): Human-readable formatted output for terminal viewing
  • json
    : Machine-readable JSON output for integrations and pipelines

所有脚本通过
--format
参数支持两种输出格式:
  • text
    (默认):适合终端查看的人类可读格式化输出
  • json
    :适合系统集成与数据流水线的机器可读JSON输出

How to Use

使用方法

Quick Start

快速开始

bash
undefined
bash
undefined

Health scoring

计算客户健康评分

python scripts/health_score_calculator.py assets/sample_customer_data.json python scripts/health_score_calculator.py assets/sample_customer_data.json --format json
python scripts/health_score_calculator.py assets/sample_customer_data.json python scripts/health_score_calculator.py assets/sample_customer_data.json --format json

Churn risk analysis

分析流失风险

python scripts/churn_risk_analyzer.py assets/sample_customer_data.json python scripts/churn_risk_analyzer.py assets/sample_customer_data.json --format json
python scripts/churn_risk_analyzer.py assets/sample_customer_data.json python scripts/churn_risk_analyzer.py assets/sample_customer_data.json --format json

Expansion opportunity scoring

评估扩张机会

python scripts/expansion_opportunity_scorer.py assets/sample_customer_data.json python scripts/expansion_opportunity_scorer.py assets/sample_customer_data.json --format json
undefined
python scripts/expansion_opportunity_scorer.py assets/sample_customer_data.json python scripts/expansion_opportunity_scorer.py assets/sample_customer_data.json --format json
undefined

Workflow Integration

工作流集成

bash
undefined
bash
undefined

1. Score customer health across portfolio

1. 对全量客户计算健康评分

python scripts/health_score_calculator.py customer_portfolio.json --format json > health_results.json
python scripts/health_score_calculator.py customer_portfolio.json --format json > health_results.json

2. Identify at-risk accounts

2. 识别高风险客户

python scripts/churn_risk_analyzer.py customer_portfolio.json --format json > risk_results.json
python scripts/churn_risk_analyzer.py customer_portfolio.json --format json > risk_results.json

3. Find expansion opportunities in healthy accounts

3. 在健康客户中挖掘扩张机会

python scripts/expansion_opportunity_scorer.py customer_portfolio.json --format json > expansion_results.json
python scripts/expansion_opportunity_scorer.py customer_portfolio.json --format json > expansion_results.json

4. Prepare QBR using templates

4. 使用模板准备QBR汇报

Reference: assets/qbr_template.md

参考:assets/qbr_template.md


---

---

Scripts

脚本说明

1. health_score_calculator.py

1. health_score_calculator.py

Purpose: Multi-dimensional customer health scoring with trend analysis and segment-aware benchmarking.
Dimensions and Weights:
DimensionWeightMetrics
Usage30%Login frequency, feature adoption, DAU/MAU ratio
Engagement25%Support ticket volume, meeting attendance, NPS/CSAT
Support20%Open tickets, escalation rate, avg resolution time
Relationship25%Executive sponsor engagement, multi-threading depth, renewal sentiment
Classification:
  • Green (75-100): Healthy -- customer achieving value
  • Yellow (50-74): Needs attention -- monitor closely
  • Red (0-49): At risk -- immediate intervention required
Usage:
bash
python scripts/health_score_calculator.py customer_data.json
python scripts/health_score_calculator.py customer_data.json --format json
用途:提供多维度客户健康评分、趋势分析及细分客群基准对比。
维度与权重
维度权重指标
使用情况30%登录频率、功能使用率、DAU/MAU 比值
互动程度25%支持工单量、会议出席率、NPS/CSAT 评分
支持服务20%未结工单数量、升级工单占比、平均解决时长
客户关系25%高管对接人互动频率、多线程对接深度、续约意向
分类标准
  • 绿色(75-100):健康状态——客户已实现产品价值
  • 黄色(50-74):需关注——需密切监控
  • 红色(0-49):高风险——需立即干预
使用方式
bash
python scripts/health_score_calculator.py customer_data.json
python scripts/health_score_calculator.py customer_data.json --format json

2. churn_risk_analyzer.py

2. churn_risk_analyzer.py

Purpose: Identify at-risk accounts with behavioral signal detection and tier-based intervention recommendations.
Risk Signal Weights:
Signal CategoryWeightIndicators
Usage Decline30%Login trend, feature adoption change, DAU/MAU change
Engagement Drop25%Meeting cancellations, response time, NPS change
Support Issues20%Open escalations, unresolved critical, satisfaction trend
Relationship Signals15%Champion left, sponsor change, competitor mentions
Commercial Factors10%Contract type, pricing complaints, budget cuts
Risk Tiers:
  • Critical (80-100): Immediate executive escalation
  • High (60-79): Urgent CSM intervention
  • Medium (40-59): Proactive outreach
  • Low (0-39): Standard monitoring
Usage:
bash
python scripts/churn_risk_analyzer.py customer_data.json
python scripts/churn_risk_analyzer.py customer_data.json --format json
用途:识别高风险客户,结合行为信号检测及分层干预建议。
风险信号权重
信号类别权重指标
使用频次下滑30%登录趋势、功能使用率变化、DAU/MAU 比值变化
互动程度下降25%会议取消次数、响应时长、NPS 评分变化
支持服务问题20%未结升级工单、未解决关键问题、满意度趋势
客户关系信号15%关键对接人离职、对接人变更、竞品提及次数
商业因素10%合同类型、价格投诉、预算削减提及
风险等级
  • 极高风险(80-100):需立即上报高管
  • 高风险(60-79):需客户成功经理紧急干预
  • 中风险(40-59):需主动沟通
  • 低风险(0-39):常规监控即可
使用方式
bash
python scripts/churn_risk_analyzer.py customer_data.json
python scripts/churn_risk_analyzer.py customer_data.json --format json

3. expansion_opportunity_scorer.py

3. expansion_opportunity_scorer.py

Purpose: Identify upsell, cross-sell, and expansion opportunities with revenue estimation and priority ranking.
Expansion Types:
  • Upsell: Upgrade to higher tier or more of existing product
  • Cross-sell: Add new product modules
  • Expansion: Additional seats or departments
Usage:
bash
python scripts/expansion_opportunity_scorer.py customer_data.json
python scripts/expansion_opportunity_scorer.py customer_data.json --format json

用途:识别向上销售、交叉销售及业务扩张机会,估算营收潜力并排序优先级。
扩张类型
  • 向上销售:升级至更高版本或增加现有产品用量
  • 交叉销售:新增产品模块
  • 业务扩张:增加授权席位或覆盖新部门
使用方式
bash
python scripts/expansion_opportunity_scorer.py customer_data.json
python scripts/expansion_opportunity_scorer.py customer_data.json --format json

Reference Guides

参考指南

ReferenceDescription
references/health-scoring-framework.md
Complete health scoring methodology, dimension definitions, weighting rationale, threshold calibration
references/cs-playbooks.md
Intervention playbooks for each risk tier, onboarding, renewal, expansion, and escalation procedures
references/cs-metrics-benchmarks.md
Industry benchmarks for NRR, GRR, churn rates, health scores, expansion rates by segment and industry

参考文档描述
references/health-scoring-framework.md
完整的健康评分方法论、维度定义、权重依据及阈值校准说明
references/cs-playbooks.md
各风险等级的干预手册、新客户上线、续约、扩张及升级流程
references/cs-metrics-benchmarks.md
行业基准数据,包含NRR、GRR、流失率、健康评分、扩张率等按细分客群及行业划分的指标

Templates

模板资源

TemplatePurpose
assets/qbr_template.md
Quarterly Business Review presentation structure
assets/success_plan_template.md
Customer success plan with goals, milestones, and metrics
assets/onboarding_checklist_template.md
90-day onboarding checklist with phase gates
assets/executive_business_review_template.md
Executive stakeholder review for strategic accounts

模板用途
assets/qbr_template.md
季度业务汇报(QBR)演示结构
assets/success_plan_template.md
包含目标、里程碑及指标的客户成功计划
assets/onboarding_checklist_template.md
90天新客户上线 checklist,含阶段验收节点
assets/executive_business_review_template.md
面向战略客户的高管业务复盘模板

Best Practices

最佳实践

  1. Score regularly: Run health scoring weekly for Enterprise, bi-weekly for Mid-Market, monthly for SMB
  2. Act on trends, not snapshots: A declining Green is more urgent than a stable Yellow
  3. Combine signals: Use all three scripts together for a complete customer picture
  4. Calibrate thresholds: Adjust segment benchmarks based on your product and industry
  5. Document interventions: Track what actions you took and outcomes for playbook refinement
  6. Prepare with data: Run scripts before every QBR and executive meeting

  1. 定期评分:企业级客户每周计算健康评分,中大型客户每两周一次,SMB客户每月一次
  2. 关注趋势而非快照:持续下滑的绿色客户比稳定的黄色客户更需关注
  3. 组合使用工具:同时运行三款脚本以获取完整的客户画像
  4. 校准阈值:根据自身产品及行业特性调整细分客群的基准阈值
  5. 记录干预行动:跟踪所采取的行动及结果,优化干预手册
  6. 数据驱动汇报:在QBR及高管会议前运行脚本准备数据

Limitations

局限性

  • No real-time data: Scripts analyze point-in-time snapshots from JSON input files
  • No CRM integration: Data must be exported manually from your CRM/CS platform
  • Deterministic only: No predictive ML -- scoring is algorithmic based on weighted signals
  • Threshold tuning: Default thresholds are industry-standard but may need calibration for your business
  • Revenue estimates: Expansion revenue estimates are approximations based on usage patterns

Last Updated: February 2026 Tools: 3 Python CLI tools Dependencies: Python 3.7+ standard library only
  • 无实时数据支持:脚本仅分析JSON输入文件中的时点快照数据
  • 无CRM集成:需手动从CRM/客户成功平台导出数据
  • 仅确定性分析:无预测性机器学习模型,评分基于加权算法
  • 阈值需调整:默认阈值为行业通用标准,可能需根据业务校准
  • 营收估算为近似值:扩张营收估算基于使用模式推导,存在误差

最后更新时间:2026年2月 工具集:3款Python CLI工具 依赖要求:仅需Python 3.7+标准库