PromptShop

Customer Success Manager

It uses three Python CLI tools for deterministic analysis, relying only on the standard library.

Install

npx promptshop add customer-success-manager

Details

What This Skill Does

This skill provides customer success analytics with health scoring, churn risk prediction, and expansion opportunity identification. It uses three Python CLI tools for deterministic analysis, relying only on the standard library. It is designed for customer success teams to analyze customer data and improve outcomes.

When to Use

Calculate customer health scores Predict customer churn risk Identify expansion opportunities Analyze customer engagement Track support ticket volume Assess renewal sentiment

Key Features

Calculates multi-dimensional health scores Predicts churn risk Identifies expansion opportunities Uses standard library only Provides human-readable output Supports JSON output for integrations

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.

Table of Contents

Input Requirements

Output Formats How to Use Scripts Reference Guides Templates Best Practices Limitations

Input Requirements

All scripts accept a JSON file as positional input argument. See assets/sample_customer_data.json for complete schema examples and sample data.

Health Score Calculator

Required fields per customer object: customer_id, name, segment, arr, and nested objects usage (login_frequency, feature_adoption, dau_mau_ratio), engagement (support_ticket_volume, meeting_attendance, nps_score, csat_score), support (open_tickets, escalation_rate, avg_resolution_hours), relationship (executive_sponsor_engagement, multi_threading_depth, renewal_sentiment), and previous_period scores for trend analysis.

Churn Risk Analyzer

Required fields per customer object: customer_id, name, segment, arr, contract_end_date, and nested objects usage_decline, engagement_drop, support_issues, relationship_signals, and commercial_factors.

Expansion Opportunity Scorer

Required fields per customer object: customer_id, name, segment, arr, and nested objects contract (licensed_seats, active_seats, plan_tier, available_tiers), product_usage (per-module adoption flags and usage percentages), and departments (current and potential).

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

How to Use

Quick Start

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

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

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

Workflow Integration

1. Score customer health across portfolio

python scripts/health_score_calculator.py customer_portfolio.json --format json > health_results.json Verify: confirm health_results.json contains the expected number of customer records before continuing

  1. Identify at-risk accounts python scripts/churn_risk_analyzer.py customer_portfolio.json --format json > risk_results.json Verify: confirm risk_results.json is non-empty and risk tiers are present for each customer

  2. Find expansion opportunities in healthy accounts python scripts/expansion_opportunity_scorer.py customer_portfolio.json --format json > expansion_results.json Verify: confirm expansion_results.json lists opportunities ranked by priority

  3. Prepare QBR using templates Reference: assets/qbr_template.md

Error handling: If a script exits with an error, check that: The input JSON matches the required schema for that script (see Input Requirements above) All required fields are present and correctly typed Python 3.7+ is being used (python --version) Output files from prior steps are non-empty before piping into subsequent steps

Scripts

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: 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

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: 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

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: 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.mdComplete health scoring methodology, dimension definitions, weighting rationale, threshold calibration
references/cs-playbooks.mdIntervention playbooks for each risk tier, onboarding, renewal, expansion, and escalation procedures
references/cs-metrics-benchmarks.mdIndustry benchmarks for NRR, GRR, churn rates, health scores, expansion rates by segment and industry

Templates

TemplatePurpose
assets/qbr_template.mdQuarterly Business Review presentation structure
assets/success_plan_template.mdCustomer success plan with goals, milestones, and metrics
assets/onboarding_checklist_template.md90-day onboarding checklist with phase gates
assets/executive_business_review_template.mdExecutive stakeholder review for strategic accounts

Best Practices

Combine signals: Use all three scripts together for a complete customer picture Act on trends, not snapshots: A declining Green is more urgent than a stable Yellow Calibrate thresholds: Adjust segment benchmarks based on your product and industry per references/health-scoring-framework.md Prepare with data: Run scripts before every QBR and executive meeting; re