Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Defining Customer Health Scores | Customer Health and Churn Prediction
Python for Customer Success Managers

bookDefining Customer Health Scores

Glissez pour afficher le menu

Customer health scores are a powerful tool for Customer Success Managers because they provide a single, quantifiable measure of how well each customer is engaging with your product or service. By combining several key engagement metrics into one score, you gain an at-a-glance understanding of which customers are thriving and which may be at risk of churning. Common metrics used to calculate a health score include login frequency, feature usage, and support ticket count. These metrics are chosen because they reflect different aspects of customer engagement and satisfaction: frequent logins suggest active use; high feature usage indicates customers are getting value; while a high number of support tickets may signal frustration or dissatisfaction.

123456789101112131415161718192021222324252627282930
import pandas as pd # Sample customer engagement data data = { "customer_id": [101, 102, 103, 104], "login_frequency": [20, 5, 12, 30], # logins per month "feature_usage": [8, 2, 6, 10], # distinct features used "support_tickets": [1, 5, 2, 0] # tickets submitted per month } df = pd.DataFrame(data) # Define weights for each metric login_weight = 0.4 feature_weight = 0.4 ticket_weight = -0.2 # negative because more tickets usually means lower health # Normalize metrics to a 0-1 scale df["login_norm"] = df["login_frequency"] / df["login_frequency"].max() df["feature_norm"] = df["feature_usage"] / df["feature_usage"].max() df["ticket_norm"] = df["support_tickets"] / df["support_tickets"].max() # Calculate health score df["health_score"] = ( login_weight * df["login_norm"] + feature_weight * df["feature_norm"] + ticket_weight * df["ticket_norm"] ) print(df[["customer_id", "health_score"]])
copy

This scoring formula combines three metrics—login frequency, feature usage, and support ticket count—using specific weights to reflect their impact on customer health. The weights for login frequency and feature usage are both set to 0.4, indicating they are equally important and positively contribute to the health score. The support ticket count has a negative weight of -0.2, which means that more support tickets lower the health score, as they may indicate unresolved issues or dissatisfaction. Each metric is normalized to ensure fair comparison, regardless of their value ranges. The final health score is a weighted sum, producing a single value for each customer that reflects their overall engagement and satisfaction.

1234567891011
# Rank customers by health score and identify those at risk df_sorted = df.sort_values(by="health_score", ascending=False) # Define a threshold: customers with a health score below 0.4 are at risk at_risk = df_sorted[df_sorted["health_score"] < 0.4] print("Customer ranking by health score:") print(df_sorted[["customer_id", "health_score"]]) print("\nCustomers at risk:") print(at_risk[["customer_id", "health_score"]])
copy

1. What is a customer health score?

2. Why might support ticket count negatively impact a health score?

3. How can health scores help prioritize Customer Success efforts?

question mark

What is a customer health score?

Select the correct answer

question mark

Why might support ticket count negatively impact a health score?

Select the correct answer

question mark

How can health scores help prioritize Customer Success efforts?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 1
some-alt