churn-signals

Scores customer churn risk by combining Postgres usage, Plain support, and Stripe billing signals.

20.2k|3.4k|Updated Oct 5, 2024
One-click install
npx skills add https://github.com/kortix-ai/suna --skill churn-signals
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: churn-signals
Source: https://github.com/kortix-ai/suna/tree/main/packages/starter/templates/marketplace/runtime/skills/churn-signals
Command: npx skills add https://github.com/kortix-ai/suna --skill churn-signals

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Customer success teams often see churn signals scattered across product analytics, support tickets, and billing systems, making it hard to spot at-risk accounts before they leave. This Skill consolidates those fragmented signals into one ranked daily at-risk list with a reason and a suggested next step per account.

Core Features & Use Cases

  • Multi-source signal scoring: Pulls usage trends from Postgres, support friction from Plain, and payment/renewal state from Stripe, then combines them into a single risk score per account.
  • Ranked at-risk list: Posts one daily message to a Slack alert channel with each account's rank, risk level, the specific signals that fired, and a concrete next step.
  • Read-only and stateless by design: Runs in a fresh session each day with read-only connectors, recomputing the full list from current data without writing to any system.
  • Use Case: A daily cron fires the scan and surfaces that an account's usage dropped 34% in 30 days, has two escalated support threads, and renews in 12 days — flagging it as highest risk so a CSM can start a renewal conversation immediately.

Quick Start

Run the churn-risk scan and post today's ranked at-risk account list to the alert channel.

Frequently Asked Questions about churn-signals

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect at-risk customers from product usage data?

Query per-account activity over a rolling 30-day window versus the prior 30 days in Postgres, classifying accounts as stable, declining (20%+ drop), or dormant (near-zero activity for 14+ days). Combine that usage signal with support and billing data before assigning a risk level.

How to combine support tickets and billing data into a churn score?

Pull thread volume and escalation status from Plain and payment status plus renewal dates from Stripe, then weigh combinations: any usage signal plus a failed payment is high risk, while declining usage with rising support and an imminent renewal ranks highest.

Can this skill write back to Stripe, Postgres, or Plain?

No. All three connectors are read-only, and the Plain API key is scoped to read access. The only output is a single Slack message to the alert channel; the agent never modifies accounts, tickets, or subscriptions.

Does the churn-risk list persist between daily runs?

No. Each run is a fresh session with no memory of prior days, so the entire at-risk list is recomputed from the current state of all three systems and reposted in full once per run.

What are the limitations of automated churn-risk scoring?

The skill flags risk and suggests next steps but does not act on them — a human on customer success decides whether and how to respond. It also depends on the quality of the underlying usage, support, and billing data in the connected systems.