customer-success-manager
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCustomer 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 for complete examples.
assets/sample_customer_data.json所有脚本均接受JSON文件作为位置输入参数。完整示例可参考 。
assets/sample_customer_data.jsonHealth 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 flag:
--format- (default): Human-readable formatted output for terminal viewing
text - : Machine-readable JSON output for integrations and pipelines
json
所有脚本通过 参数支持两种输出格式:
--format- (默认):适合终端查看的人类可读格式化输出
text - :适合系统集成与数据流水线的机器可读JSON输出
json
How to Use
使用方法
Quick Start
快速开始
bash
undefinedbash
undefinedHealth 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
undefinedpython scripts/expansion_opportunity_scorer.py assets/sample_customer_data.json
python scripts/expansion_opportunity_scorer.py assets/sample_customer_data.json --format json
undefinedWorkflow Integration
工作流集成
bash
undefinedbash
undefined1. 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:
| Dimension | Weight | Metrics |
|---|---|---|
| Usage | 30% | Login frequency, feature adoption, DAU/MAU ratio |
| Engagement | 25% | Support ticket volume, meeting attendance, NPS/CSAT |
| Support | 20% | Open tickets, escalation rate, avg resolution time |
| Relationship | 25% | 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 json2. 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 Category | Weight | Indicators |
|---|---|---|
| Usage Decline | 30% | Login trend, feature adoption change, DAU/MAU change |
| Engagement Drop | 25% | Meeting cancellations, response time, NPS change |
| Support Issues | 20% | Open escalations, unresolved critical, satisfaction trend |
| Relationship Signals | 15% | Champion left, sponsor change, competitor mentions |
| Commercial Factors | 10% | 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 json3. 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 jsonReference Guides
参考指南
| Reference | Description |
|---|---|
| Complete health scoring methodology, dimension definitions, weighting rationale, threshold calibration |
| Intervention playbooks for each risk tier, onboarding, renewal, expansion, and escalation procedures |
| Industry benchmarks for NRR, GRR, churn rates, health scores, expansion rates by segment and industry |
| 参考文档 | 描述 |
|---|---|
| 完整的健康评分方法论、维度定义、权重依据及阈值校准说明 |
| 各风险等级的干预手册、新客户上线、续约、扩张及升级流程 |
| 行业基准数据,包含NRR、GRR、流失率、健康评分、扩张率等按细分客群及行业划分的指标 |
Templates
模板资源
| Template | Purpose |
|---|---|
| Quarterly Business Review presentation structure |
| Customer success plan with goals, milestones, and metrics |
| 90-day onboarding checklist with phase gates |
| Executive stakeholder review for strategic accounts |
| 模板 | 用途 |
|---|---|
| 季度业务汇报(QBR)演示结构 |
| 包含目标、里程碑及指标的客户成功计划 |
| 90天新客户上线 checklist,含阶段验收节点 |
| 面向战略客户的高管业务复盘模板 |
Best Practices
最佳实践
- Score regularly: Run health scoring weekly for Enterprise, bi-weekly for Mid-Market, monthly for SMB
- Act on trends, not snapshots: A declining Green is more urgent than a stable Yellow
- Combine signals: Use all three scripts together for a complete customer picture
- Calibrate thresholds: Adjust segment benchmarks based on your product and industry
- Document interventions: Track what actions you took and outcomes for playbook refinement
- Prepare with data: Run scripts before every QBR and executive meeting
- 定期评分:企业级客户每周计算健康评分,中大型客户每两周一次,SMB客户每月一次
- 关注趋势而非快照:持续下滑的绿色客户比稳定的黄色客户更需关注
- 组合使用工具:同时运行三款脚本以获取完整的客户画像
- 校准阈值:根据自身产品及行业特性调整细分客群的基准阈值
- 记录干预行动:跟踪所采取的行动及结果,优化干预手册
- 数据驱动汇报:在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+标准库