Customer churn isn’t always loud. Sometimes it’s gradual, partial, and easy to miss—until it shows up as revenue loss.
At PowerSchool, I built a machine learning model to predict customer attrition across our products.
Customer signals were scattered across multiple touchpoints—transactions, support interactions, pricing changes, product usage, and more. This project was a great reminder that impactful ML isn’t just about the model—it’s about asking the right questions, stitching together messy data, and turning signals into actionable insights. Bringing this together into a usable dataset was the hardest (and most critical) part.
Combined cross-functional data across 200K+ customer assets (accounts + products)
Engineered features like price increases, discounts, credit memos, and support resolution time
Addressed class imbalance (60–40) using stratified sampling and careful validation to avoid data leakage
Handled missing data using segment- and product-level imputations
Trained an XGBoost model optimized for recall and precision
Recall: 64% of at-risk customers
Precision: 30%
Estimated $34M in revenue at risk surfaced proactively
Enabled customer success teams to build Retention Action Plans and get ahead of the churn!
Churn isn’t always driven by a single factor—it’s the cumulative effect of pricing changes, support experience, product engagement, and more. Customers interact with a company through many lenses, and those signals compound over time. With a predictive model, we can build an intelligent solution that parses through these signals and identifies customers having a high propensity to churn ahead of time.
Incorporate time-aware modeling (to avoid “time travel” in features)
Deepen product usage signals like DAU/MAU, bugs, and defects.
Building the solution further to reduce False Positives