Navigating Lower Churn in Private Equity-Backed SaaS Companies
For your Software as a Service (SaaS) company, churn—the rate at which customers discontinue their subscriptions—is a critical health metric. Since...
6 min read
Brian Polackoff : Oct 4, 2024 7:45:00 AM
Understanding your customers is a lot like being the captain of a ship—you need to keep everyone on board if you want to sail smoothly. One of the toughest storms out there is customer churn, which is when customers decide to jump ship and stop using your services. Instead of buying Churn Assassin, you could build your own churn prediction model and handle it yourself. This guide will walk you through some ideas, so you can be better at predicting storms (or customer churn), helping you keep your ship (or business) on course.
A system is only as good as its data. You might have data about why companies didn't complete purchases. These "Win-loss" assessments at the pre-sales stage are common and important for understanding how to sell to more customers. However, they don't explain why customers who bought your product no longer want to pay for it. Customer churn occurs when a customer stops doing business with your company, such as canceling a subscription, stopping purchases, or reducing engagement.
Win-loss assessments are also one-on-one and don't scale well. If you had the time to regularly check in with all your customers and had strong relationships with them, you wouldn't need this guide. You need something that works at scale.
Your system must predict customer churn without relying on human feedback. Churn prediction analyzes customer data to identify patterns indicating that a customer isn't getting value from your product. Often, customers stop using your product because they don't know how to use it effectively. They may not have learned key features, or the person who knew how to use the system may have left. Your model should identify high-value interactions of healthy customers and the lack of feature usage that indicates unhealthy customers. A good prediction model helps you foresee churn and take action to retain customers.
Of course, your churn predictor must analyze applications, customers, customer satisfaction, and user behavior. A fundamental choice you need to make is how it determines what is important. The two main options are to either explicitly tell the application which interactions are significant and at what frequency or to build a mechanism that allows the system to figure it out on its own.
Explicitly Define Behaviors: This approach requires you to know which behaviors are healthy or unhealthy and program the model accordingly. It demands both product expertise and technical skills.
• Pros: Precisely tuned to your app's specific needs.
• Cons: Requires extensive configuration and ongoing updates when features change.
Do you have the time and resources to define and continually update these behaviors?
Machine Learning to Interpret Behaviors: This approach uses machine learning to automatically classify accounts and interpret behaviors. It reduces the dependency on explicit definitions and keeps the model adaptable.
• Pros: Less tied to specific app details, more adaptable to changes.
• Cons: Requires expertise in machine learning and validating accuracy across various scenarios can be challenging.
Are you comfortable relying on machine learning to determine what constitutes healthy customer behavior? Do you have access to data scientist skills to validate your models and diagnose issues?
Both approaches have their advantages and disadvantages. You must make this foundational choice early on, as it will significantly impact your research and development process.
Recommendation: For scalability and adaptability, the machine learning approach is generally preferred, especially when dealing with large datasets and intricate user behaviors. Machine learning is a bit more complexity up front, but constantly updating your prediction system whenever your app changes is a chore task and likely to be sidelined. How can you effectively prevent churn with an outdated system?
Building a churn prediction model requires planning out the type of data you need to feed your system, building data collection processes, cleaning the data, and managing the volume of data you need to predict churn. When I talk to developers, they usually are prepared to collect and clean data, but they are often surprised by the quantity of data an application will generate. Our initial data set to train Churn Assassin was 260+ million behavioral records from 234,000+ SaaS users. That's a lot of data points.
Would you believe it got even larger over time? We found to do a good job to predict the likelihood of churn required so many scenarios we hadn't accounted for, we had to keep ingesting more and more data. Prepare to have data coming out of your ears.
Customer Base Demographics: Age, gender, location, etc.
Behavioral Data: Login frequency, feature usage, session duration.
Transaction History: Purchases, subscription details, payment records.
Engagement Metrics: Support tickets, customer feedback, interaction history.
Data Sources: Databases, user logs, CRM systems, support platforms.
Cleaning Steps:
Handle missing values (imputation or removal).
Remove duplicates.
Correct inconsistencies.
Normalize data formats.
More data generally leads to better models.
Historical data spanning significant time frames improves prediction accuracy.
Balance quantity with quality; clean, relevant data is paramount.
As you think through these data concerns, you also need to figure out where you will get the data, and how often you need to pull the data
Objective: Understand data distributions, spot patterns, and identify anomalies.
Techniques:
Statistical summaries (mean, median, mode).
Visualizations (histograms, box plots, heatmaps).
Correlation analysis.
Purpose: Transform raw data into meaningful features that enhance model performance.
Examples:
Aggregate usage metrics (e.g., average session time, total logins per month, number of active days per week, total clicks on key features, time spent on help pages, or percentage of features used).
Flags for specific behaviors (e.g., service downgrades, account cancellations, failure to complete onboarding, frequent support requests, subscription pauses, changes in payment methods, or missed payments).
Time-based features (e.g., recency of last login, frequency of feature usage over time, time since the last purchase, duration between support interactions, time elapsed since the first interaction, or average time between sessions).
Training Set: Typically 70-80% of the data.
Testing Set: The remaining 20-30% to evaluate model performance.
Validation Set (optional): For hyperparameter tuning.
Logistic Regression: Good for baseline models.
Decision Trees: Handles non-linear relationships.
Random Forests: Reduces overfitting by averaging multiple trees.
Gradient Boosting Machines: High performance with proper tuning.
Neural Networks: For complex patterns and large datasets.
We use all of these and 300 more in Churn Assassin.
You must choose how to handle imbalanced data. Imbalanced datasets, where one class is significantly underrepresented, lead to biased predictions and poor generalization. This topic can get pretty dense and you may need a data scientist to advise you on this. Remember, you want the best predictions, which is much harder to validate than running static analysis on your source code. To address this, the following techniques can be applied:
Over-sampling the Minority Class: Increase the representation of the minority class by replicating existing data or generating synthetic samples. Approaches like random over-sampling and Adaptive Synthetic Sampling (ADASYN) help balance the dataset effectively.
Under-sampling the Majority Class: Reduce the size of the majority class to equalize representation. This can be achieved using methods like random under-sampling or identifying and removing redundant samples with techniques such as Tomek links.
Combined Methods: A hybrid approach that integrates over-sampling of the minority class and under-sampling of the majority class to find a balance.
SMOTE (Synthetic Minority Over-sampling Technique): Generates synthetic examples by interpolating between minority class data points to augment the dataset.
ADASYN (Adaptive Synthetic Sampling): Focuses on generating samples for harder-to-classify data points, enhancing model focus on challenging cases.
GANs (Generative Adversarial Networks): Uses deep learning to create realistic synthetic data, improving dataset diversity without overfitting.
Class Weights: Many algorithms (e.g., scikit-learn models) allow assigning weights to classes, emphasizing the minority class during training.
Cost-sensitive Learning: Modifies the loss function to penalize misclassifications of the minority class more heavily.
Ensemble Methods: Techniques like Balanced Random Forests or EasyEnsemble use ensemble learning tailored for imbalanced data.
Metrics:
Accuracy: Overall correctness.
Precision: Correct positive predictions over total positive predictions.
Recall (Sensitivity): Correct positive predictions over actual positives.
F1 Score: Harmonic mean of precision and recall.
ROC-AUC Curve: Trade-off between true positive rate and false positive rate.
Cross-Validation: Ensures model generalization across different data subsets.
Hyperparameter Tuning: Adjusting algorithm parameters to optimize performance.
Feature Selection: Keeping features that contribute most to the prediction.
Ensemble Methods: Combining multiple models to improve accuracy.
Batch Processing: Running predictions at regular intervals.
Real-Time Prediction: Integrating the model into the application for instant predictions.
API Integration: Exposing the model through RESTful APIs for flexibility.
Performance Tracking: Continuously monitor key metrics.
Data Drift Detection: Identify when new data diverges from training data.
Regular Retraining: Update the model periodically with new data.
Consistency: Ensure data sources are reliable.
Validation: Regularly audit data inputs and outputs.
Privacy Compliance: Adhere to regulations like GDPR.
Transparency: Use models that provide insights into decision-making.
Feature Importance: Identify which features most influence churn predictions.
Communication: Explain model results to stakeholders in understandable terms.
Cross-Functional Collaboration: Work with business teams for domain insights.
Education: Train staff on the importance and use of churn predictions.
Feedback Loops: Use customer interactions to refine the model.
Building a churn prediction system involves a combination of data preparation, machine learning expertise, and continuous improvement. By focusing on quality data and rigorously improving your modeling techniques to fit, developers can create powerful tools to help businesses retain customers and enhance overall satisfaction.
Start with the data you have, and stay organized. Find as many test cases as you can and feed them into the model for better predictions. Unfortunately, there isn't an off-the-shelf do-it-yourself package to predict customer churn, but by following our guidelines above, you can work towards the goal.
Or, you could implement Churn Assassin in 2 minutes. The choice is yours :)
Assess Data Availability: Audit existing data sources for quality and relevance.
Choose Appropriate Tools: Select programming languages and libraries (e.g., Python with scikit-learn, TensorFlow).
Plan the Project: Define scope, milestones, and deliverables.
Stay Informed: Keep up with the latest developments in machine learning and data science.
If you want to see a Churn Prediction system in action, try Churn Assassin. It has a generous free tier, a 30 day free trial, and transparent pricing.
Churn Rate: The percentage of customers who discontinue their relationship with a company during a given time period.
Customer Retention: Strategies aimed at keeping existing customers engaged and continuing to purchase.
Data Imbalance: A situation where one class (e.g., churners) is significantly less frequent than another in the dataset.
Feature Engineering: The process of using domain knowledge to extract features from raw data that make machine learning algorithms work.
For your Software as a Service (SaaS) company, churn—the rate at which customers discontinue their subscriptions—is a critical health metric. Since...
In the unpredictable climate of a recession, B2B SaaS companies face heightened risks, particularly in the form of increased customer churn. As...
In the fast-paced world of Software as a Service (SaaS), understanding customer behavior and satisfaction is crucial in maintaining a competitive...