Six years of payment data, down to the churn month
Six years of payment data was split between Stripe and Upwork, and nobody had ever pulled it together. There was no single view of what a client was worth over their lifetime, when they tended to churn, or how long they usually stayed. So deciding which clients to prioritize was basically a gut call.
I used n8n to pull the whole payment history out of both Stripe and Upwork into one Airtable base. Then I tagged every client with their lifetime value, how long they had been around, and whether they had churned. Once that was in place I ran a cohort analysis in Sheets to find the month where a client either drops off or settles in for the long run.
The cohort analysis surfaced the exact month where a client either churns or stays for the long run. That one number tells the agency which clients to call and when to call them. Before this, retention was guesswork, and now there is a real number to act on.