原文:
towardsdatascience.com/how-to-build-a-data-driven-customer-management-system-7d1597998dd5?source=collection_archive---------2-----------------------#2024-11-20
客户基础管理
构建具有战略影响的 CBM 系统的高级框架
https://medium.com/@hc.ekne?source=post_page---byline--7d1597998dd5--------------------------------https://towardsdatascience.com/?source=post_page---byline--7d1597998dd5-------------------------------- Hans Christian Ekne
·发布于 Towards Data Science ·阅读时间 13 分钟·2024 年 11 月 20 日
–
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/270b5034ff2f3eb7f57294ecd6c5ccd2.png
图片由作者使用 Canva 制作
想象一下,如果您的客户数据能够讲述一个故事——一个能够驱动关键决策、优化定价并准确预测未来收入的故事。
作为一名数据科学家,我的职业生涯中有很大一部分时间是在设计和构建客户基础管理(CBM)系统。这些系统可以监控和预测从客户流失和客户价格弹性到推荐客户最有可能购买的产品等各方面的内容。
我亲眼见证了 CBM 系统如何成功地被组织采用,并帮助它们通过有效定价、改善客户保持率和更有针对性的销售活动执行战略。结合预测功能和仪表盘的视觉效果,CBM 系统为管理者提供了一种有效的方式,与高层领导进行沟通。这增强了决策能力,并帮助领导者更好地理解其行动的后果,尤其是在客户基础和未来预计收入方面。
在本文中,我们将探讨 CBM 系统的基础组成部分,以及那些真正提升价值生成的更高级功能。通过本指南的学习,您将清晰地了解 CBM 系统的关键组件,以及如何通过先进模块增强这些基础,从而为您的公司带来竞争优势。
强大的 CBM 系统的基础
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1e16a3d73b83e992f16c736fe34b6468.png
图片由作者使用 Canva 制作
CBM 系统的三个主要基础组件是:
ELT(提取-加载-转换)
基础流失建模
仪表板
拥有这三个要素后,管理者可以对流失有一个基本的理解,对数据有一个可视化的把握,此外,它还允许他们将任何发现传达给领导层和其他利益相关者。以下我们将详细阐述每个组件。
ELT — 获取数据
提取-加载-转换,简称 ELT,是客户基础管理系统中最初且最关键的部分。这个组件为系统提供数据,通常是构建 CBM 系统时最先搭建的组件。为了开始工作,你通常会与某种数据平台进行交互,这些平台上大多数初步的数据操作已经完成(在这种情况下,你技术上只需要执行“加载”和“转换”),但有时你也需要直接从源系统提取数据,进行“提取”。
无论数据来自哪里,都需要将其加载到系统中,并转换成易于输入到你所使用的机器学习模型中的格式。你可能还需要将数据转换为便于从数据中生成仪表板的格式。对于某些仪表板,还可能需要将大量数据预先汇总到较小的表格中,以提高查询和绘图性能。
很容易看出,如果 ELT 过程中出现错误,或者传入的数据有误,这可能会严重影响 CBM 系统。由于系统中的一切都基于这些传入的数据,因此必须格外小心,确保数据的准确性和与业务规则的对齐。
我曾多次看到 ELT 过程失败,导致流失预测和仪表板出现错误。监控进入系统的数据一致性的一种方法是记录每个变量的分布,并跟踪该分布随时间的变化。如果分布发生了剧烈变化,你可以迅速检查是否是 ELT 过程中的逻辑出了问题,或者问题是否来自更上游的数据问题。
基础流失建模
了解客户群体的第二个关键组件是识别客户流失的时间、原因及对象(对于非从业者来说,“流失”是指客户停止使用某个产品或服务的时点)。一个好的流失预测算法可以帮助企业将客户保持工作的重点放在最重要的地方,并能帮助识别出那些面临较高流失风险的客户。
在 1990 年代中期,电信公司、银行、保险公司和公用事业公司是最早开始在客户群体中使用流失建模的行业之一,开发基础流失模型相对来说比较简单。
首要任务是确定流失的定义。在许多情况下,这个定义非常简单,例如当客户取消了电信合同时。然而,在其他行业,例如电子商务中,确定流失的定义时需要一定的判断。例如,可以定义客户在最后一次购物后的 200 天内没有再次购物,即为流失。
确定了流失之后,我们需要为模型选择一个结果期,即我们希望观察流失的时间框架。例如,如果我们想创建一个结果期为 10 周的流失模型,这将生成一个预测客户在评分时刻与接下来 10 周之间的任何时刻流失的可能性的模型。或者,我们可以选择一年的结果期,这将生成一个预测客户在未来一年内任何时间点流失的模型。
在确定了结果期和流失定义之后,分析师需要将数据转化为一种格式,使机器学习模型能够轻松进行训练,并且在后续推断时也能使用。
在模型训练完成并且预测正在对活跃客户群体进行时,有多个不同的应用场景。例如,我们可以使用流失评分来识别那些高风险流失的客户,并通过特定的留存活动或定价促销来针对这些客户。我们还可以根据客户的流失评分为不同客户群体创建差异化的营销材料。或者,我们可以将流失评分与客户拥有的产品结合使用,开发客户生命周期价值模型,进而用于优先安排各种客户活动。显然,适当的流失模型可以为公司提供战略性优势,使其在管理客户群体方面比那些忽视这一基本组件的竞争对手更具竞争力。
仪表板
仪表板、商业智能和分析曾在 2000 年代和 2010 年代初期风靡一时,在机器学习算法逐渐成熟后,焦点转向了预测而非描述性和往往是回顾性的数据。然而,对于 CBM 工具来说,仪表板仍然是一个至关重要的组件。它们使管理者能够有效地与领导层沟通,特别是当与价格优化等高级功能结合使用时。可视化特定定价策略的潜在影响,对于决策制定具有强大的支持作用。
和任何数据科学项目一样,你可能会投入成千上万小时来构建一个系统,但通常,仪表板是经理和高管的主要交互点。如果仪表板不够直观或性能不好,它可能会掩盖你所构建的其他所有内容的价值。
此外,仪表盘提供了一种对数据进行视觉检查的方法,有时能够揭示未被发掘的机会。尤其是在系统实施后的早期阶段,可能在所有控制流程尚未投入生产之前,持续进行视觉检查所有变量和模型表现,可以作为一个很好的安全网。
在主要的基础性要素到位之后,我们可以探索更先进的功能,这些功能有潜力带来更大的价值和洞察力。
通过高级组件增强战略优势
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/2b89844ce200ca2af7ced0cc0153be67.png
图片由作者使用 Canva 创建
尽管一个基本的 CBM 系统会提供一些稳定的好处和洞察,但要从 CBM 系统中获取最大价值,需要更多的高级组件。下面我们讨论一些最重要的组件,比如拥有多个时间视野的流失模型、增加价格优化、使用基于模拟的预测以及加入竞争对手定价数据。
多时间视野流失模型
有时候,从不同的角度审视流失是有意义的,其中一个角度是你允许模型的时间视野——或结果周期——的长短。对于某些业务场景,拥有一个短期结果周期的模型是合理的,而对于其他场景,拥有一个 1 年的结果周期模型则可能更加合适。
为了更好地解释这个概念,假设你建立了一个结果周期为 10 周的流失模型。这个模型可以用来预测一个客户是否会在 10 周内流失。然而,假设现在你已经确定了一个具体的事件,知道它会导致流失,并且你有一个短暂的窗口期,可能只有 3 周来实施预防措施。在这种情况下,训练一个 3 周时间视野的流失模型是合理的,且条件是这个你已知会导致流失的具体事件。这样,你就可以将任何保持活动集中在那些最有可能流失的客户身上。
这种差异化的方法允许更具战略性的资源分配,将重点放在最需要的高影响力干预上。通过将模型的时间视野调整为特定的情境,企业可以优化其客户保持工作,最终提升客户生命周期价值,并减少不必要的流失。
定价优化与客户价格弹性
价格在许多情况下是战略执行的最终部分,而胜者是那些能够有效地将战略转化为有效定价体系的公司。这正是带有价格优化的 CBM 系统可以帮助公司做到的事情。虽然价格优化的话题本身就值得写成一篇文章,但我们在下面简要总结了其关键理念。
开始时需要做的第一件事是获取历史价格数据。最好是跨时间和其他解释性变量的不同价格水平。这可以帮助你制定价格弹性的估计值。一旦这个基础做好了,你可以根据不同价格点开发预期的流失率,并用它来预测预期的收入。通过从客户级别汇总,可以得到产品层面的预期值和预期流失率,从而找出每个产品的最优价格。在更复杂的情况下,每个产品还可以有多个具有各自最优价格点的客户群体。
例如,假设一家公司有两个不同的产品,产品 A 和产品 B。对于产品 A,公司希望扩大用户基础,并且只愿意接受一定量的流失,同时保持在市场上的竞争力。然而,对于产品 B,他们愿意接受一定量的流失,以换取与预期收入相关的最优价格。CBM 系统允许实施这样的策略,并为领导层提供该策略未来预期收入的预测。
基于模拟的预测
基于模拟的预测提供了一种比仅仅基于预期值做点估计更为稳健的方式来生成预测估计。通过使用像蒙特卡罗模拟这样的方式,我们能够为结果生成概率密度,从而为决策者提供预测的区间。这比仅仅使用点估计更强大,因为我们能够量化不确定性。
为了理解基于模拟的预测如何使用,我们可以通过一个例子来说明。假设我们有 10 个客户,每个客户都有给定的流失概率,并且每个客户都有一个年度预期收入。(实际上,我们通常有一个多变量的流失函数,能够预测每个客户的流失情况。)为了简化,假设如果客户流失,我们的收入为 0,如果他们不流失,我们保留所有收入。我们可以使用 Python 来使这个例子更具体:
importrandom# Set the seed for reproducibilityrandom.seed(42)# Generate the lists again with the required changeschurn_rates=[round(random.uniform(0.4,0.8),2)for_inrange(10)]yearly_revenue=[random.randint(1000,4000)for_inrange(10)]churn_rates,yearly_revenue这为我们提供了churn_rates和yearly_revenue的以下值:
churn_rates:[0.66,0.41,0.51,0.49,0.69,0.67,0.76,0.43,0.57,0.41]yearly_revenue:[1895,1952,3069,3465,1108,3298,1814,3932,3661,3872]使用上述数字,并假设流失事件是独立的,我们可以轻松计算出平均流失率以及总预期收入。
# Calculate the total expected revenue using (1 - churn_rate) * yearly_revenue for each customeradjusted_revenue=[(1-churn_rate)*revenueforchurn_rate,revenueinzip(churn_rates,yearly_revenue)]total_adjusted_revenue=sum(adjusted_revenue)# Recalculate the expected average churn rate based on the original dataaverage_churn_rate=sum(churn_rates)/len(churn_rates)average_churn_rate,total_adjusted_revenue以下是average_churn_rate和total_adjusted_revenue的数值:
average_churn_rate:0.56,total_adjusted_revenue:13034.07因此,我们可以预计约 56%的流失率和 13034 的总收入,但这并没有告诉我们关于可能出现的变化的任何信息。为了更深入地理解我们可以预期的结果范围,我们转向蒙特卡洛模拟。我们不再取流失率和总收入的期望值,而是让情况模拟 10000 次(10000 是这里任意选定的;这个数字应根据所需的分布细度来确定),在每次模拟中,客户以churn_rate的概率流失,或者以1 - churn_rate的概率留存。
importpandasaspd simulations=pd.DataFrame({'churn_rate':churn_rates*10000,'yearly_revenue':yearly_revenue*10000})# Add a column with random numbers between 0 and 1simulations['random_number']=([random.uniform(0,1)for_inrange(len(simulations))])# Add a column 'not_churned' and set it to 1, then update it to 0 based on the random numbersimulations['not_churned']=(simulations['random_number']>=simulations['churn_rate']).astype(int)# Add an 'iteration' column starting from 1 to 10000simulations['iteration']=(simulations.index//10)+1这将产生如下表格:
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/166830683cba760f995b541790e9b8b8.png
模拟数据框的头部 / 图片来自作者
我们可以使用以下代码来总结我们的结果:
# Group by 'iteration' and calculate the required valuessummary=simulations.groupby('iteration').agg(total_revenue=('yearly_revenue',lambdax:sum(x*simulations.loc[x.index,'not_churned'])),total_churners=('not_churned',lambdax:10-sum(x))).reset_index()最后,用plotly绘制得到的图表是:
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3c145cff035735c91eb7d340cf9088b9.png
总收入的直方图 / 图片来自作者
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6d8adbd1aa8d6301633a9301a647e429.png
总流失者的直方图 / 图片来自作者
上面的图表比我们开始时的两个点估计值 0.56 和 13034 所讲述的故事更加丰富。我们现在对可能的结果有了更多的了解,并且可以进行一场有关我们可以接受哪些流失率和收入水平的有根据的讨论。
继续以上面的例子,我们可以举个例子来说,我们只愿意接受 0.1%的概率出现 8 次或更多的流失事件。通过使用个别客户的价格弹性和基于模拟的预测,我们可以调整客户的预期churn_rates,以便精确地实现这一结果。这种客户基础控制只有在先进的 CBM 系统下才能实现。
竞争对手定价的重要性
定价中最重要的因素之一是竞争对手的价格。竞争对手的激进程度在很大程度上决定了公司在定价上能有多灵活。对于公用事业或电信等商品化业务尤其如此,因为这些行业的提供商很难实现差异化。然而,尽管竞争对手定价非常重要,许多公司选择不将这些数据集成到自己的定价优化算法中。
不将竞争对手定价纳入定价算法的原因有很多。一些公司声称,收集数据过于困难且耗时,即使他们现在开始,也无法拥有足够的历史数据来训练所有价格弹性模型。其他人则认为,竞争对手产品的价格与自家产品不完全可比,收集这些数据会很困难。最后,大多数公司还声称,他们有专门的价格经理手动监控市场,当竞争对手采取行动时,他们会调整自家的价格,因此不需要在算法中包含这些数据。
第一个问题可以通过良好的网页抓取技术和其他情报收集方法逐渐得以缓解。如果这些还不够,有时也可以通过一些机构提供各行业和领域的历史市场数据,尤其是价格数据。至于关于没有可比产品的第二个问题,还可以通过机器学习技术来剖析单个产品组件的实际成本。另一种方法是使用不同的用户角色来估算一组特定产品或单一产品的总月度成本。
最终,不包含竞争对手价格会使定价算法和优化引擎处于不利地位。在价格计算器和比较网站使客户越来越容易了解市场的行业中,公司面临着被更先进的竞争对手在价格上超越的风险。
结论
在本文中,我们讨论了客户基础管理系统的主要组成部分,以及一些使这些系统变得无价的先进功能。就个人而言,在构建过几个这样的系统后,我认为结合价格优化算法——基于广泛的内部和外部数据集——以及强大的可视化界面(如仪表盘形式)是管理客户的最有效工具之一。工具的这种组合使得管理者和高层领导能够真正掌控客户管理过程,并理解他们行动的战略后果。
正如杰夫·贝索斯——其中一位最为客户至上的领导——所说:
“我们可以向你保证,我们将继续执着于客户。我们坚信这种方法——从长远来看——对于所有者和客户同样重要。” ——杰夫·贝索斯,亚马逊 2009 年致股东信
对客户管理的承诺,以数据和人工智能驱动的洞察为支撑,不仅提升了客户满意度,而且为利益相关者确保了长期价值。
感谢阅读!
想在我发布新文章时收到通知吗? ➡️点击这里订阅我的新闻通讯⬅️。免费订阅,您可以随时取消!
如果您喜欢阅读这篇文章并希望访问我的更多内容,请随时在 LinkedIn 上与我连接,网址是https://www.linkedin.com/in/hans-christian-ekne-1760a259/,或访问我的网页https://www.ekneconsulting.com/,探索我提供的一些服务。请随时通过电子邮件联系我,邮箱是 hce@ekneconsulting.com