R.K. HendersonAI leader · data scientist

Interactive lab / 02

customer value & retention

Subscriber value lab

A fictional internet and mobile provider with 60,000 subscribers: who will leave, who an offer actually saves, and how far prices can rise.

The decisionWhich customers to save, with what offer, how far to raise prices, and how to prove any of it worked.

Customer 9 stages Synthetic or public data
60,000consumer and small-business subscribers
+$636Kfrom targeting offers by uplift instead of risk
3randomized experiments the models learn from

01 / Overview

The problem, and the approach.

AThe challenge

Subscription businesses spend heavily on retention offers, usually aimed at the customers most likely to leave. Many of them leave anyway, and others would have stayed without the discount, so the budget pays for outcomes it did not change.

BThe approach

Corvane Connect, a fictional internet and mobile provider with 60,000 synthetic consumer and small-business subscribers. Lifetime value from a discrete-time survival model, a five-algorithm churn bench, uplift learned from a randomized retention campaign, price response learned from a randomized price test, experiment design with CUPED, a care-note classifier, and a one-page brief for leadership.

02 / The decision journey

9 decisions, one story.

Each stage asks one business question and answers it with a model you can open and change. Any card opens that stage of the live demo.

  1. 01 Trends What is happening to the base? Churn is a calendar, not a constant: it spikes when contracts and promotions end. Open this stage
  2. 02 Value What is each customer worth? Lifetime value from a survival model, per acquisition dollar and with upgrades. Open this stage
  3. 03 Segment Who are our customers, and what does each need? Six segments and the value–risk matrix that turns them into action. Open this stage
  4. 04 Churn Who is about to leave? XGBoost wins a five-algorithm bench, because this decision does not need exact reasons. Open this stage
  5. 05 Treat Who does an offer actually save? Same 5,000 offers: $339K net by uplift and value, −$297K by risk. Open this stage
  6. 06 Price How far can prices rise, and for whom? Segment increases learned from a randomized test, with guardrails worth $201K. Open this stage
  7. 07 Test How do we know it worked? Sample sizes with CUPED, a funnel readout, and why weekly peeking makes false winners. Open this stage
  8. 08 Care What are customers telling us? A care-note classifier and a randomized payment-reminder test. Open this stage
  9. 09 Brief What should leadership decide? A model inventory and a one-page executive brief, downloadable. Open this stage

03 / Under the hood

How it’s built.

Algorithms

  • XGBoost
  • Logistic regression
  • Random forest
  • Support vector machine
  • Linear regression
  • K-means
  • Survival analysis
  • Uplift modeling
  • TF-IDF classifier

Stack

  • Python
  • XGBoost
  • scikit-learn
  • Survival models
  • Plotly
  • Streamlit

Methods, in order

  1. Cohorts
  2. Lifetime value
  3. Segmentation
  4. Churn propensity
  5. Uplift
  6. Price response
  7. Experiment design
  8. Text classification
  9. Executive brief

Data

60,000 synthetic subscribers with a randomized price test and a randomized retention campaign built in.

04 / Outcomes

What it changed.

  1. 01

    The same 5,000 offers: $339K net when targeted by uplift and value, −$297K when targeted by churn risk.

  2. 02

    Price increases set by segment from a randomized test, with guardrails worth $201K.

  3. 03

    Weekly peeking shown to manufacture false winners, and CUPED shown to cut the sample a test needs.

Results come from synthetic or public data with known answers. They show the method, not a client result.

05 / Try it

The live demo.

The real app, running on synthetic data. Change the inputs and watch the decision move.

Interactive, synthetic data. If nobody has used it for a while it takes about 30 seconds to wake.

Open in a new tab ↗

Open conversations

Questions about
how it was built?

Decision Lab · live demo
Starting the demo…