How to Improve Customer Retention in FinTech
How to Improve Customer Retention in FinTech
如何提升金融科技(FinTech)领域的客户留存率
Data Science: A practical guide to combining pre-churn scoring with uplift modelling for smarter retention. 数据科学:结合流失预警评分与增益模型(Uplift Modelling)实现更智能留存的实践指南。
Aleksei Terentev | Jul 18, 2026 | 15 min read Aleksei Terentev | 2026年7月18日 | 阅读时长 15 分钟
Introduction
引言
In product analytics, there is a pattern that any growing team quickly learns: acquiring a new user, or bringing back a user who has already churned, is much harder and more expensive than retaining someone who is still using the product. In digital banking, this is especially visible because customer acquisition costs are high. 在产品分析中,任何成长型团队都会迅速发现一个规律:获取新用户或召回已流失用户,远比留住现有用户更困难且成本更高。在数字银行领域,这一点尤为明显,因为客户获取成本(CAC)非常高昂。
User retention in fintech depends on many factors: service quality, product functionality, loyalty mechanics, communication, and other parts of the user experience. In this article, I will focus on one practical example: how ML-based personalization can help work with at-risk users and apply loyalty mechanics more precisely. 金融科技产品的用户留存取决于诸多因素:服务质量、产品功能、忠诚度机制、沟通方式以及用户体验的其他环节。在本文中,我将聚焦于一个实践案例:如何利用基于机器学习(ML)的个性化手段,帮助识别高风险用户并更精准地应用忠诚度激励机制。
The task had three steps. First, we needed to learn how to identify users who were likely to churn. Then we had to define the retention mechanic, meaning what exactly could bring the user’s interest back to the product. After that, we needed to optimize the intervention itself: to understand which users in the risk segment would actually be affected by the retention offer. 这项任务分为三个步骤。首先,我们需要学会如何识别可能流失的用户。其次,我们需要定义留存机制,即明确什么手段能真正唤回用户对产品的兴趣。最后,我们需要优化干预措施本身:弄清楚风险群体中哪些用户会真正受到留存优惠的影响。
In this article, I will share a practical guide to building an analytical system for this type of task. It is based on two ML models: a pre-churn model, which identifies users at risk, and an uplift model, which helps determine which of them are truly sensitive to a retention offer. I will explain the practical value of each stage: why it was needed from a product perspective, what problem it solved, and what conclusions we were able to draw from the research. 在本文中,我将分享构建此类分析系统的实践指南。该系统基于两个机器学习模型:一个是识别风险用户的“流失预警模型”,另一个是判断哪些用户对留存优惠真正敏感的“增益模型”。我将解释每个阶段的实际价值:从产品角度看为什么需要它、它解决了什么问题,以及我们从研究中得出了哪些结论。
Preparation: Target and Features
准备工作:目标与特征
Let’s start with the churn definition. I worked on the growth of a debit card product, where user behavior is best described through transactional activity. So we settled on a practical definition: churn means no card payments for 30 days. This definition is often used in financial products, and the logic behind it is fairly clear. If a person has not made a single transaction in a month, the card has effectively dropped out of their wallet. 让我们从流失的定义开始。我曾负责一款借记卡产品的增长工作,用户的行为最能通过交易活动来体现。因此,我们确定了一个实用的定义:流失意味着 30 天内没有任何卡片支付行为。这种定义在金融产品中很常见,其逻辑相当清晰:如果一个人一个月内没有进行任何交易,那么这张卡实际上已经从他们的钱包中“消失”了。
Formally, the account may still be open, but from a product perspective, the user is no longer active. Accordingly, the model target is a binary flag: whether the user made at least one payment within the next 30 days. 从形式上讲,账户可能仍然处于开启状态,但从产品角度来看,该用户已不再活跃。因此,模型的目标是一个二元标签:用户在未来 30 天内是否至少进行了一次支付。
Next, let’s move to feature collection. For this task, I collected several dozen features describing the client’s behavior in the service. I cannot disclose the exact production feature set, but I will share the main principles for building a feature representation of a client in a fintech product based on transactional activity and user profile data. 接下来,我们进入特征收集环节。为了完成这项任务,我收集了几十个描述客户在服务中行为的特征。虽然我无法披露具体的生产环境特征集,但我将分享基于交易活动和用户画像数据,构建金融科技产品客户特征表示的主要原则。
- User profile. Basic client characteristics: age, region, device type, connected products, tariff plan, subscriptions or loyalty program status, account status such as new user, active client, and so on. 用户画像。 基本客户特征:年龄、地区、设备类型、关联产品、费率方案、订阅或忠诚度计划状态、账户状态(如新用户、活跃客户等)。
- Activity aggregates over time windows. Behavioral metrics calculated over 7, 30, and 90 days: number of transactions, turnover, average transaction amount, number of unique spending categories, number of active days, and so on. Different windows help capture changes in user behavior. 时间窗口内的活动聚合。 计算 7 天、30 天和 90 天的行为指标:交易次数、交易额、平均交易金额、消费类别数量、活跃天数等。不同的时间窗口有助于捕捉用户行为的变化。
- Time intervals. How much time has passed since the last or first payment, what the average gap between transactions was, and how the rhythm of activity changes over time. In practice, the signal that a user “has not appeared for a while” often turns out to be one of the strongest predictors of churn. 时间间隔。 距离上次或首次支付过去了多久、交易之间的平均间隔是多少,以及活动节奏随时间如何变化。在实践中,“用户有一段时间没出现”这一信号往往是流失最强有力的预测指标之一。
- Calendar features. Day of the week and month. Without these features, the model may confuse natural drops in activity with actual churn. Financial services are highly sensitive to seasonal patterns, so it is better to account for them upfront. 日历特征。 星期几和月份。如果没有这些特征,模型可能会将自然的活动下降误认为是实际流失。金融服务对季节性模式高度敏感,因此最好提前将其纳入考量。
- Derived features. Ratios between time windows, shares of transactions of a certain type, normalized and relative metrics. These features help compare clients with different baseline levels of activity and avoid penalizing users who simply spend less. 衍生特征。 时间窗口之间的比率、特定类型交易的占比、归一化及相对指标。这些特征有助于比较具有不同基准活动水平的客户,并避免惩罚那些仅仅是消费较少的用户。
Pre-churn Model
流失预警模型
Let’s start with the pre-churn model. Our goal at this stage is to identify the segment of users for whom the existing loyalty mechanics are no longer working. In other words, users who are losing interest in the service under the current level of loyalty incentives. At this stage, the task is to identify users with an elevated risk of leaving. 让我们从流失预警模型开始。此阶段的目标是识别出那些现有忠诚度机制已不再奏效的用户群体。换句话说,即在当前的忠诚度激励水平下,对服务失去兴趣的用户。此阶段的任务是识别出流失风险较高的用户。
For this, we need a model that predicts the probability of a future payment. If the predicted probability is low, the user falls into the pre-churn segment. In that case, the service should pay attention to the user in advance, while churn can still be prevented. 为此,我们需要一个能够预测未来支付概率的模型。如果预测概率较低,该用户即被划入流失预警群体。在这种情况下,服务方应提前关注该用户,以便在流失发生前进行干预。
Training the baseline model 训练基准模型
The model is built on the collected features and predicts the probability of a payment over a 30-day horizon. Essentially, this is a binary classification task with probability estimation. User characteristics are passed as input, and the output is the probability that the user will make at least one payment within the next 30 days. 该模型基于收集到的特征构建,用于预测 30 天内的支付概率。本质上,这是一个带有概率估计的二元分类任务。将用户特征作为输入,输出则是用户在未来 30 天内至少进行一次支付的概率。
$p_base(x) = P(Y = 1 | X = x)$ 其中 $Y \in {0, 1}$ 表示用户在未来 30 天内是否会进行支付,$X$ 表示用户特征矩阵。
Many ML tools can be used for this type of task. In practice, gradient boosting models often deliver strong performance with a reasonable amount of analytical effort required for model training: XGBoost, LightGBM, and CatBoost. 许多机器学习工具都可用于此类任务。在实践中,梯度提升模型(Gradient Boosting)通常表现出色,且所需的模型训练分析工作量适中,例如 XGBoost、LightGBM 和 CatBoost。
Users can then be ranked by risk level. The lower the predicted probability of payment, the higher the risk of churn: 随后,用户可以按风险等级进行排序。预测的支付概率越低,流失风险就越高:
$risk_score(x) = 1 – p_base(x)$
A user enters the pre-churn segment if their predicted probability of payment is below a selected threshold $t$: 如果用户的预测支付概率低于选定的阈值 $t$,则该用户进入流失预警群体:
$S_prechurn = {x : p_base(x) < t}$
The threshold $t$ is selected based on the segment size, the retention budget, and the acceptable level of risk. In practical terms, this means choosing a threshold… 阈值 $t$ 的选择取决于群体规模、留存预算以及可接受的风险水平。在实际操作中,这意味着选择一个阈值……