# Involuntary churn and failed payments

Involuntary churn is one of the most expensive and misunderstood problems in subscription businesses. It happens when a customer wants to stay subscribed — but their payment fails due to reasons outside their control, like insufficient funds, fraud flags, or expired cards.

While most companies focus their retention efforts on active cancellations, failed-payment churn often slips through the cracks. That’s where FlyCode comes in.

### How does FlyCode attack involuntary churn?

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FE6c7YrVNOM7sgTaGCndN%2FFMpntL2dhkg2GeqMoJ5LN3rAg.svg?alt=media&#x26;token=b72e7243-4c04-438b-866b-3c4ab2d88c65" alt=""><figcaption></figcaption></figure>

FlyCode uses real-time automation to intercept and recover failed payments before they lead to lost subscribers. It combines:

* **Smart retries** based on payment metadata and behavior signals
* **Automatic charging of backup cards** when primary ones fail
* **Localized, well-timed email & SMS outreach** synced with retry logic
* **Insights into root causes**, from issuer decline codes to timing mismatches
* **Support for tools like card updater and tokenization**, so failed cards don’t block future charges

All of this happens behind the scenes — no rebuild of your billing stack needed.

### Can automation really stop failed-payment churn before it happens?

Yes — and it’s often the only scalable way to do so. With traditional billing systems, failed payments are handled reactively: retry after X days, maybe send a reminder. That leads to:

* Retry timing mismatches (like charging at 3am in the wrong time zone)
* Repeated failures from the same issue (like an expired card)
* Annoyed customers who get multiple emails before the issue is fixed

FlyCode fixes this with **AI-driven orchestration**. It times retries based on historical success rates, customer location, and payment method. It updates card info when available. And it routes retries through alternate processors or payment methods when needed — often recovering revenue that would otherwise be lost.

### What best practices should I follow alongside FlyCode?

FlyCode handles most of the heavy lifting, but to maximize your recovery rate, we recommend:

* **Enabling card updater and tokenization** if your processor supports it
* **Letting customers adjust billing dates** to match their cash flow
* **Disabling basic email dunning from your processor** to avoid overlap or deliverability issues
* **Reviewing your retry settings** — for example, disabling default max retries that conflict with FlyCode’s logic
* **Monitoring recovery analytics**, so you can see what’s working and where to improve

With the right setup, FlyCode can reduce involuntary churn by up to 40%, boosting your ARR with no additional lift from your team.
