大家好!
我叫Lydia,是QIWI中一个小型DataScience团队的团队负责人。
我的家伙们经常会遇到研究客户需求的任务,在这篇文章中,我想分享一些想法,这些想法是关于如何从细分开始一个话题,以及哪些方法可以帮助整理大量未分配的数据。
现在谁会对个性化感到惊讶? 在产品或服务中缺乏个人报价似乎已经是一个坏人了,我们正在等待在任何地方都只为我们选择的面霜-从Instagram提要到个人关税计划。
但是,该内容或报价来自何处? 如果这是您第一次沉浸在机器学习的黑暗中,那么您可能会遇到一个问题,即从何处开始以及如何确定客户的真正兴趣。 大多数情况下,如果用户群庞大且缺乏关于它们的知识,则有两种流行的方式:
1.手动标记用户样本并在其上训练一个模型 ,对于多类目标
,该模型可让您确定
一个或多个此类是否属于。
这是一个不错的选择,但在开始阶段可能是一个陷阱-毕竟,我们仍然不知道原则上有哪些细分市场,以及它们对于推广新产品功能,传播等等将有多大用处。 更不用说手动客户端标记非常昂贵且有时很困难的事实,因为您拥有的服务越多,需要更多的数据来了解该客户端的生活和呼吸方式。 这样的结果很有可能会变成:
2.在选择#1之后,他们经常选择
没有训练样本的
无监督分析选项
。如果您没有关于kmeans有效性的笑话,那么有一点很重要,那就是无需培训就可以组合所有聚类方法-它们仅使您可以根据选定指标基于接近度来组合客户。 例如,购买次数,寿命天数,余额等。
如果您想将受众群体分成大组然后进行研究,或者突出显示落后于产品指标的核心和细分,这也很有用。
例如,在二维空间中,有用的结果可能看起来像这样-您可以立即看到哪些群集值得更详细地研究。

但是,用于集群的指标越多,解释结果就越困难。 这些相同的客户偏好仍然笼罩在神秘之中。
怎么办,这是问题? 在QIWI,我们反复为解决这一难题而绞尽脑汁,直到我们得到
本文启发的好奇模型。 在其他案例中,文章描述了康斯坦丁·沃龙佐夫(Konstantin Vorontsov)的决定,该决定着重强调了基于
BigARTM库的银行卡用户的潜在行为模式。
最重要的是,客户交易以一组单词的形式呈现,然后从结果文本集合(文档=客户,单词= MCC代码(商家类别代码,网点的国际分类))中,使用自然语言处理工具之一分配文本主题( NLP)-
主题建模 。
在我们的性能中,管道如下所示:

听起来绝对是自然的-如果我们想了解观众的生活方式和生活方式,为什么不想象客户在他们的生态系统中所执行的行为就是他们所讲述的故事。 并为这些故事的主题做指南。
尽管该概念看起来优雅而简单,但实际上在实现模型时,我不得不面对几个问题:
- 数据中存在异常值和异常,因此,主题向营业额大的客户的购买类别转移,
- 正确确定主题数N,
- 结果验证的问题(原则上可行吗?)
对于第一个问题,解决方案很容易找到-所有主要客户都通过最简单的分类器分为“核心”和“星级”(请参见上图),并且已经将每个群集作为一个单独的文本集合进行了处理。
但是第二点和第三点让我纳闷-真的,如何在没有培训样本的情况下验证学习成果? 当然,该模型有质量指标,但似乎还不够-这就是为什么我们决定做一件非常简单的事情-检查相同源数据上的结果。
此项检查如下所示:分类产生一组主题,例如,如下所示:

这里的Python列表是针对该主题的最可能的MCC关键购买类别的集合(来自“单词-主题”矩阵)。 如果您分别查看航空公司和航空公司类别的购买,那么以“旅行者”为主题的客户将占其用户的大部分是很合逻辑的。

而且该检查可以通过仪表板的形式方便地实现-同时您将拥有可视化的材料来生成产品假设-谁有航班现金返还,谁有咖啡折扣。
在主题建模的集合中,您不仅可以添加交易事件,还可以添加其他模型的元信息,客户支持电话的主题等等。 或用作监督算法的分类功能-例如,流量预测模型等。
当然,这种方法有其自身的细微差别-例如,将收藏作为一个词袋处理并且不考虑购买顺序,但是可以使用N克或在客户生命的每个重要时期(例如每个月)计算主题标签来完全补偿它。 但是,具有可读性和可解释性的客户故事的思想,NLP和其他模型的结合对我们来说似乎很有吸引力。
您如何看待这个话题? 您的数据科学团队面临着哪些困难或细分的乐趣? 了解您的意见将很有趣。