The retention play that writes itself — and knows when not to send.
Retention was firing the same discount at every wobbling subscriber — and burning margin on the ones who were going to renew anyway. This loop scores every Sooka subscriber daily on churn risk and content affinity, picks one of four actions per cohort, and writes a Clevertap campaign brief automatically. The biggest win wasn't the campaigns we sent. It was the 30% we suppressed.
Retention was a broadcast: any subscriber whose engagement dipped got the same three-month discount. Roughly a third of those subs would have renewed at full price. The discount cost was visible; the margin leak wasn’t.
Daily cohort assignment on Redshift, joined to the survival-model churn risk and a content-affinity vector. Per-cohort uplift fit from prior campaigns. A would-renew suppression layer on top — if the renewal probability is above 0.85, do nothing. The matrix exposes the rule, not just the answer.
Retention went from one-mechanic-fits-all to four cohort-tuned plays. Total subscribers touched dropped 30%. Net retention went up 18% on the loyal-sport-core cohort, 12% on engaged-content. The team started reading the suppression list as a feature, not a bug.
What the matrix decided last quarter.
From a daily subscriber score to a Sooka in-app rail.
Every Sooka subscriber gets a daily score from OneLake — churn risk from the survival model, content affinity (sport vs K-content vs variety), engagement trend, and lifecycle stage. The model labels them into five behavioural cohorts and tracks transitions week-over-week.
# subscriber NBA score · daily refresh
{
"subscriber_id": "SK-MY-08412",
"tenure_days": 142,
"lifecycle": "loyal_sport_core",
"churn_risk_30d": 0.34,
"affinity": {
"sport": 0.71,
"kdrama": 0.18,
"variety": 0.11
},
"engagement_trend_4w": "stable → declining",
"bundle": "celcom_postpaid · expires 14d",
"would_renew_p": 0.82
}Score one subscriber yourself.
Pick a subscriber dossier — or paste your own (4 KB cap) — and watch the agent score renewal probability, assign a cohort, and recommend the single highest-leverage action. Suppression triggers automatically when renewal is already a near-certainty. Live model call. Cached replay if the rate-limit fires.
waiting for verification token…