What it is.
It aggregates three sources: customer profiles from your CRM, support ticket history over an API, and product usage logs from PostgreSQL. An AI step computes a churn risk score per customer.
Above a score of 0.7 it generates a unique Stripe discount coupon, drafts a personalized retention email, sends it through Gmail, and logs the whole action to Google Sheets so you can measure whether the offer worked.
What you get.
- A churn risk score per customer, built from CRM, support, and usage data.
- A 0.7 threshold that decides who gets an intervention.
- A unique Stripe coupon generated per at-risk customer.
- A personalized retention email drafted from that customer's own signals.
- A Google Sheets log of every action, which is how you measure the program.
How to set it up.
Connect the CRM, the support API, and the Postgres instance holding usage before you touch the scoring step.
Check the usage query returns what you think it does, since usage is the strongest of the three signals.
Read the first batch of scores against accounts you know, and move the 0.7 threshold to match reality.
Set coupon terms in Stripe deliberately, because a discount is margin you will not get back.
Review the drafted emails before enabling the send, as a badly aimed retention offer teaches a customer to wait for one.
Watch the Sheets log for save rate, and stop the program if discounted customers churn anyway.
Use cases
Go past the alert
Generate the discount code and draft the message in the same run.
Set the intervention threshold
Move the risk line so only the accounts worth an offer get one.
Keep a human on send
Review the drafted email before it reaches a paying customer.
Best for
Self-serve subscriptions
A coupon is a viable intervention when there is no account manager to call.
Testing whether discounts save anyone
The log gives you the data to find out, which is worth more than the coupons.
Usage-based churn
Postgres usage logs are the earliest signal in the stack, and this reads them directly.