--- title: "Churn Prevention Use Case Documentation" slug: "churn-prevention-documentation" description: "Implement a Churn Prevention Journey to proactively retain players with personalized messaging, reducing attrition and maximizing lifetime value." updated: 2026-10-06T09:52:51Z published: 2026-10-06T09:52:51Z canonical: "docs.xtremepush.com/churn-prevention-documentation" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt > Use this file to discover all available pages before exploring further. # Churn Prevention Documentation | ![A bar graph illustrating growth trends over time with increasing values.](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/levels(1).png?sv=2026-02-06&spr=https&st=2026-10-31T21%3A12%3A45Z&se=2026-10-31T22%3A12%3A45Z&sr=c&sp=r&sig=9pWxCD%2BzXBjZ6DAVCdLIWLmN3%2BqCBPVOYtegnDPVK74%3D) Level: Intermediate | ![A target icon with an arrow, symbolizing focus and goal achievement.](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/gaol1(1).png?sv=2026-02-06&spr=https&st=2026-10-31T21%3A12%3A45Z&se=2026-10-31T22%3A12%3A45Z&sr=c&sp=r&sig=9pWxCD%2BzXBjZ6DAVCdLIWLmN3%2BqCBPVOYtegnDPVK74%3D) Goal: Retention | ![A blue checkmark icon indicating completion or approval in a digital interface.](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/tick(1).png?sv=2026-02-06&spr=https&st=2026-10-31T21%3A12%3A45Z&se=2026-10-31T22%3A12%3A45Z&sr=c&sp=r&sig=9pWxCD%2BzXBjZ6DAVCdLIWLmN3%2BqCBPVOYtegnDPVK74%3D) Expectation: Reduced Churn | | --- | --- | --- | ## **Use Case Description** A Churn Prevention journey supports players who have been active but are becoming less likely to return. It uses a churn score from the [Churn Classification model](https://docs.xtremepush.com/docs/ml-models#churn-classification1), which runs in Infinity AI, Xtremepush's machine learning product. The model estimates each active player's probability of stopping betting within a set window, and you use the score in a journey. The journey runs on a schedule, picks up players above a risk threshold who haven't deposited or logged in recently, and caters for each player's value tier. Players whose score passes the threshold for their tier receive a timely, relevant message on their preferred channel, with an optional reward. To take full advantage of the Churn Prevention Journey, please review the [**technical requirements**](/knowledgebase/docs/churn-prevention-documentation#use-case-requirements)**.** ![User profile with churn prediction, activity status, and engagement strategies outlined.](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/5d9b0558-a1bc-4b19-9a97-97edfa6dbb2f(1).png?sv=2026-02-06&spr=https&st=2026-10-31T21%3A12%3A45Z&se=2026-10-31T22%3A12%3A45Z&sr=c&sp=r&sig=9pWxCD%2BzXBjZ6DAVCdLIWLmN3%2BqCBPVOYtegnDPVK74%3D) ## **Deploying Your Use Case** #### Understanding The Flow The Churn Classification model scores every active player with a `churn_score` between 0 and 1. Higher means more likely to stop betting, which the model defines as ceasing to place bets within a set window (14 days in the example). The score is written to the player's profile and refreshed daily or weekly. The journey uses that score, together with the player's value tier, to decide who receives a message and what it contains. The screenshot below shows one example of how a Churn Prevention journey can be built. Your own can differ in tiers, thresholds, channels and number of steps. Unlike Welcome Journey and Deposit No Bet, this journey isn't triggered by an event. Disengagement is the absence of activity, so players enter from a segment that is evaluated on a schedule. In the example, players are split by value tier, and players with negative value are excluded. Each eligible tier has its own 14-day churn-score threshold: 75% for low, 60% for medium and 50% for high. Players below their threshold leave the journey as not eligible. In the medium and high tiers, a reward is credited first, and the high tier also alerts your team through a Slack webhook when the bonus is credited. The low tier goes straight to an email message. A preferred-channel check then sends an email, push or SMS, with email as the default. ![](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/image-1791224317413.png?sv=2026-02-06&spr=https&st=2026-10-31T21%3A12%3A45Z&se=2026-10-31T22%3A12%3A45Z&sr=c&sp=r&sig=9pWxCD%2BzXBjZ6DAVCdLIWLmN3%2BqCBPVOYtegnDPVK74%3D) Example Churn Prevention journey. Tiers, thresholds, rewards and channels will vary by project. | Building block | In the example | Ways to adapt it | | --- | --- | --- | | Entry | A segment run on a schedule: churn risk above 0.5, and no deposit or login for 10 days | Set the inactivity period and run frequency for your players. Weekly is a sensible start. Set a re-entry cooldown | | Value split | Split by value tier: low, medium, high. Negative-value players are excluded as ineligible | Define tiers and negative value to suit your business, or use a single tier. Check local rules on differential treatment | | Churn check | 14-day churn score over a threshold: low 75%, medium 60%, high 50% | Use one threshold for everyone, or an inactivity rule. Set thresholds from your model results and test them | | Reward | Medium: free bet. High: bonus money | Optional. | | Internal alert | High branch: webhook alert to Slack when the bonus is credited | Use for monitoring or internal information | | Message | By preferred channel (email, push or SMS, email by default) | Add other channels where supported, and personalise by favourite sport or product | | Follow-up | A 1-day wait after the message | Add a check for whether the player has returned to bet, and stop after a set number of messages | | End | Players below threshold, and negative-value players, end as not eligible | Every path needs an end point | Each run re-evaluates the segment, so a player who stays at risk could enter again. Set a [re-entry](https://docs.xtremepush.com/docs/campaign-schedule#recurring-frequency-options) cooldown, and use [Engagement Categories](https://docs.xtremepush.com/docs/en/engagement-categories) to cap how often messages are sent. Every path must finish at an endpoint. #### Adjusting the Use Case The Churn Prevention journey can be adapted to your player base, retention strategy and risk appetite. Key areas to consider: Below are some key optimisation areas: **Entry and Run Frequency** - Choose how often the journey runs. Players are picked up at the next run after they match the segment. With a 10-day inactivity period, a monthly run contacts players 10 to 40 days into their inactivity, a weekly run 10 to 17 days, and a daily run 10 to 11 days. Weekly is a sensible start. Don't run more often than the score refreshes. - Set the inactivity period to suit how your players actually play. A weekly bettor isn't lapsing after a quiet Tuesday, and off-season gaps are normal. - Set a re-entry cooldown and cap how many messages a player receives. Set rules in [Engagement Categories](https://docs.xtremepush.com/docs/en/engagement-categories). **Content Personalisation** - Use dynamic fields such as `first_name`. - Use content that suits the player's usual product, such as this weekend's fixtures in their favourite sport or new casino games. - Send on the player's preferred channel, with a default for players without one. Players who haven't opted in to a channel won't receive it. **Rewards (optional)** - The example credits a free bet or bonus money before the message. - Rewards need an [integration](https://docs.xtremepush.com/docs/bonus-engine-integration-guide) with your bonus or wallet system. - If you send [webhooks](https://docs.xtremepush.com/docs/campaign-webhooks) to Slack or another tool, include only the data your team needs. **Regulatory compliance** - Include the responsible gaming messaging and terms your licence requires in every message. Requirements vary by jurisdiction, so check with your compliance team. - Include an [unsubscribe](https://docs.xtremepush.com/docs/unsubscribe-link-behaviour) route in every email. [Consent Manager](https://docs.xtremepush.com/docs/en/consent-manager) is an optional feature, enabled on request. See [Managing User Consent](https://docs.xtremepush.com/knowledgebase/docs/en/managing-user-consent). If you don't use it, make sure channel marketing permission is held elsewhere in your project. - Make sure self-excluded, blocked and bonus-abuse-flagged players do not enter the journey, using entry criteria or your project's [global include conditions](https://docs.xtremepush.com/docs/engagement-rules#global-include-condition1). ## **Use Case Requirements** The Churn Prevention Journey is a critical retention automation for any operator. Before deploying this use case, ensure your data infrastructure supports the technical requirements outlined below. This use case relies on the churn score, recent activity, profile attributes and the events behind them. If you build a different journey from the example, your requirements may differ. The following tables specify which data and profile attributes are required, recommended, or optional for optimal performance. A strong data foundation is the difference between a high-performing automated journey and one that underdelivers on its potential. #### Profile Attributes | Attribute | Requirement | Used for | | --- | --- | --- | | `churn_score` | Required | Entry segment and threshold checks (written by the model) | | `churn_tier` | Optional | A simpler alternative to score thresholds. The model sets the boundaries | | `last_login_date` | Required for the example | Entry segment: no recent login | | `last_deposit_date` | Required for the example | Entry segment: no recent deposit | | `customer_segment` (or your value tier attribute) | Required for the tier split. | Splitting by value tier | | `first_name` | Required | Greeting (set a fallback value) | | `account_status` | Required | Only active accounts receive messages | | `is_self_excluded`, `is_blocked`, `is_abuser` | Required | Keeping excluded or flagged players out. Updated by `player_update` | | `preferred_channel` | Recommended | The channel split | | `country_name` | Recommended | Sending within permitted hours for the player's market | | Favourite sport or product | Recommended | Content personalisation | Learn more about managing attributes in [Managing Project Data](https://docs.xtremepush.com/knowledgebase/docs/en/managing-project-data). #### Rule-based option (computed attributes) If the model isn't live yet, or you prefer inactivity rules, use the same segment without the churn score. Add bet recency to the login and deposit conditions, and define "at risk" relative to each player's usual pattern. See [Creating Computed Attributes](https://docs.xtremepush.com/knowledgebase/docs/en/creating-computed-attributes). | Computation | Requirement | Description | Lookbacks | | --- | --- | --- | --- | | `last_sports_bet_date` | Required for each product you offer | Date of the most recent sports bet | Not windowed | | `last_casino_bet_date` | Required for each product you offer | Date of the most recent casino bet | Not windowed | | `days_sports_bet_placed` | Recommended | Number of unique days with sports betting | L7D, L14D, L30D | | `days_casino_bet_placed` | Recommended | Number of unique days with casino play | L7D, L14D, L30D | *L7D, L14D and L30D mean the last 7, 14 and 30 days.* ## **Optimising Your Churn Prevention Journey for Maximum Retention** Many players flagged as at risk would have returned anyway, so measure what the journey adds. Keep improving it with your own performance data. **Measure** - Track the share of messaged players who return to bet within 7 and 14 days, and the time to return. - If you use rewards, track reward cost per returning player. - Watch unsubscribe rate and message engagement. - Keep a [control group](https://docs.xtremepush.com/docs/campaign-split-test#control-group1) so you can see the difference against players who weren't messaged. **Test one variable at a time** - Compare score thresholds and inactivity periods. - Compare run frequencies. - Compare content-only messages against messages with a reward. - Compare channels and send times. - Run these with [decision branches](https://docs.xtremepush.com/knowledgebase/docs/en/using-decision-branches-in-the-journey-builder). | ## **Further Implementation Details** For more information on event tracking, API limits, and SDK integration, please browse our full developer resources. [**View Our Docs**](https://docs.xtremepush.com/?ref=brand-cta) | | --- |