---
title: How YuppTV detects churn intent early enough to change the outcome
url: https://markin.ai/customers/yupptv
company: YuppTV
industry: Streaming
result: +18% retention
published: 2026-08-31
description: YuppTV cut churn by acting on intent signals weeks before cancellation. Markin lifted retention 18% on treated cohorts against a randomised holdout.
---

# How YuppTV detects churn intent early enough to change the outcome

> YuppTV's cancellations were decided long before the cancel button. Markin reads the drop in viewing depth, catalogue fit and payment friction that precedes it, and acts while the outcome is still changeable, lifting retention 18% on treated cohorts against a randomised holdout.

## Results

- **+18%**, Retention on treated cohorts. vs randomised holdout, full measurement window
- **-27%**, Involuntary churn. payment-failure recoveries handled as a decision, not a dunning sequence
- **+9%**, ARPU. from plan fit, not from price increases

## At a glance

| Field | Detail |
| --- | --- |
| Industry | Streaming / OTT |
| Markets | Global diaspora audience |
| Base | Millions of subscribers across plan tiers |
| Motions live | Churn prevention, plan fit, dunning, win-back |
| Stack | Warehouse, product events, Braze, Recurly, contact centre |
| First measured lift | Week 7 |

## The challenge

YuppTV knew its churn rate to the decimal and could do almost nothing about it. The model flagged subscribers as high risk in the last week of the cycle, when the decision had already been made and the only lever left was a discount.

The real signal was earlier and quieter: viewing depth dropping on the content that drove the original subscription, a shift to shorter sessions, a failed card left unresolved, a plan carrying channels nobody in the household watched.

Those signals lived in different systems, moved constantly, and needed a different action each time. A retention campaign treats them all as one audience and pays for the ones who were never going to leave.

## What Markin did

- **Data & context, Viewing, billing and support in one view.** Markin reads playback events, catalogue metadata, plan history and payment state directly from YuppTV's systems, so intent signals are evaluated together instead of one dashboard at a time.
- **Intelligence, Intent, not a risk score.** Rather than scoring everyone weekly, the intelligence layer forms hypotheses about why a specific household is disengaging, sizes each one and proposes an action that matches the cause: catalogue, plan, price or payment.
- **Action, The cheapest action that works.** Content recommendations, plan moves, card updates and, only when nothing else clears the bar, a retention offer. Every action runs against a holdout, so YuppTV can see what a discount actually bought.

## Experiments that ran

| Hypothesis | Segment | Action | Channel | Measured lift |
| --- | --- | --- | --- | --- |
| Subscribers disengage when the content that acquired them ends | Households with a 40%+ drop in weekly viewing depth | Catalogue re-onboarding around adjacent titles, no offer | Push + in-app row | +11% retention |
| Involuntary churn is a decision problem, not a dunning problem | Failed payments with high engagement | Card update timed to a viewing session, retry scheduled around payday | In-app + SMS | -27% involuntary churn |
| Some cancellations are plan mismatch, not intent to leave | Subscribers using one third of their tier | Downgrade offered before cancel, upgrade to those over-consuming | Account + email | +9% ARPU |
| Blanket save offers pay for subscribers who would have stayed | High-risk flags with stable viewing | Withhold the offer, measure against control | None | Discount spend cut, retention unchanged |

## How it rolled out

1. **Week 0, Signals connected.** Playback, billing and support data connected read-only. Historical cancellations replayed to find the signals that actually precede them.
2. **Week 3, First motion live.** Catalogue re-onboarding goes live on the disengagement signal, with a holdout on every decision.
3. **Week 7, First readable lift.** Retention reads +11% on the treated cohort. Blanket save offers are retired for failing to beat control.
4. **Week 12, Four motions in production.** Churn prevention, plan fit, dunning and win-back running continuously, with results read against control weekly.

## In their words

"We stopped paying to keep subscribers who were never leaving, and started reaching the ones who were.", Retention Lead, YuppTV

## Stack Markin worked with

- [bigquery](https://markin.ai/integrations/bigquery)
- [web-and-mobile-sdk](https://markin.ai/integrations/web-and-mobile-sdk)
- [braze](https://markin.ai/integrations/braze)
- [recurly](https://markin.ai/integrations/recurly)
- [zendesk](https://markin.ai/integrations/zendesk)

## FAQ

**How is this different from a churn prediction model?**

A score tells you who is at risk. It does not tell you why, what to do about it, or whether the action worked. Markin forms a hypothesis per household, picks the cheapest action that addresses the cause and proves it against a holdout.

**How was the YuppTV result measured?**

Every decision carries a randomised holdout. The lift quoted is the difference between the treated cohort and that control group over a full measurement window, not a before-and-after comparison.

**Did they have to move their data to Markin?**

No. Markin reads from the warehouse, CDP and product events already in place. Nothing is copied into a new system and nothing is locked in.

**Which team ran it day to day?**

The existing growth team. Markin does the analytical work, a streaming team of that size would need a dedicated data-science pod to produce, and routes every action into the tools they already operate.

**How long until the first measurable lift?**

A first motion goes live in about 30 days and the first statistically readable result lands inside the following six weeks. Scaled impact typically reads at 90 days.

## Related

- [Solution: retention-decisioning](https://markin.ai/solutions/retention-decisioning)
- [Industry: streaming](https://markin.ai/industries/streaming)
- [All customer stories](https://markin.ai/customers)

Source: https://markin.ai/customers/yupptv