RetainIQ
RetainIQ calculates each customer's personal purchase rhythm and deploys the right intervention in the exact window before they cross into LAPSED — before the 90-day win-back rule even notices they were at risk.
Built because losing customers quietly is worse than losing them loudly.
Every retention tool I looked at was built on the same broken assumption — if a customer hasn't bought in 90 days, send a win-back email. That rule ignores the most important data point you already have: how often that specific customer actually buys. A customer who buys every 20 days is three cycles overdue at day 61; a customer who buys every 120 days is perfectly on schedule at 80. A generic rule applied to both is not a retention strategy — it is a guess with an unsubscribe button.
Overview
RetainIQ runs a nightly intelligence scan across every customer, calculates each person's personal repurchase interval, and deploys the right intervention automatically the moment they cross into AT_RISK. The window where recovery is still possible is 14 to 30 days. RetainIQ operates only inside it.
The Multiplier Model
Every other retention tool asks one question: has it been 90 days? RetainIQ asks a different one — for this specific customer, has it been too long? The system calculates each customer's average repurchase interval from their actual order history and sets their danger thresholds as a multiple of that number. A customer who buys every 20 days is flagged at 30. A customer who buys every 90 days is not flagged until 135. That single architectural decision — the Multiplier Model — determines everything downstream: who gets flagged, when they are contacted, whether the email lands while recovery is still possible.
Two Workflows. One Pipeline.
Workflow 1 fires on every customer event. Fifteen nodes run end-to-end — webhook receipt, payload validation, customer and order history fetch from Supabase, simultaneous recalculation of repurchase interval and churn score, stage transition detection, Supabase update, personalised email generation matched to the intervention type, delivery via Brevo, intervention logging, and a Slack alert — all within three seconds. Workflow 2 runs at midnight via cron, fetches all non-churned customers in a single call, scores them in bulk, then processes one at a time — patching each Supabase record, firing intervention emails for detected stage transitions, and logging every action before looping to the next. Both workflows share the same scoring engine. Infrastructure cost across all layers: zero.
Whatmadeitwork.
If I rebuilt it: I'd push harder on intervention personalisation from day one. The system fires the right email at the right time — but the email content is still templated by intervention type. The next layer is generating the email body from the customer's actual purchase history, not a template.
TheWindowBetweenAT_RISKandLAPSED
The system is fully deployed and live — Workflow 1 processing every event end-to-end in under three seconds, Workflow 2 rescoring the full customer base in nine to eleven seconds, stage transition detection and intervention routing both running at 100% accuracy across all test scenarios. The business math is unambiguous: at $2M ARR with 6% monthly churn, a D2C brand loses $120,000 every month to customers who were never watched. Reducing churn by two percentage points saves $480,000 per year. RetainIQ at $3,000 per month breaks even recovering two customers. But this is not a cost conversation. It is a timing conversation. Catch them in the AT_RISK window and you are the reason they stayed. RetainIQ finds that window. Nothing else in the market runs inside it.


