Retentioneering:我们如何使用 Python 和 Pandas 编写用于产品分析的开源工具

你好,哈布尔。 本文致力于介绍一套用于处理应用程序或网站中的用户移动轨迹的方法和工具四年来的开发成果。 开发的作者 - 马克西姆·戈兹,他是产品创建者团队的负责人,也是本文的作者。 该产品本身被称为 Retentioneering;现在它已被转换为开源库并发布在 Github 上,以便任何人都可以使用它。 所有这些可能都会引起那些参与产品和营销分析、促销和产品开发的人员的兴趣。 顺便说一句,关于哈布雷 一篇关于与 Retentioneering 合作的案例的文章已经发表。 新材料解释了该产品的用途和使用方法。

读完本文后,您自己将能够编写自己的 Retentioneering;它可以是应用程序内外处理用户轨迹的任何标准化方法,让您可以详细了解行为特征,并从中提取见解以促进增长业务指标。

什么是保留策略以及为什么需要它?

我们最初的目标是将增长黑客从“数字巫术”的世界转移到数字、分析和预测的世界。 因此,对于那些喜欢数字而不是奇幻故事的人来说,产品分析被简化为纯粹的数学和编程,以及“品牌重塑”、“重新定位”等流行语的公式,这些听起来不错,但在实践中帮助不大。

为了解决这些问题,我们需要一个通过图形和轨迹进行分析的框架,同时需要一个能够简化典型分析例程的库,作为描述人类和机器人都可以理解的常规产品分析任务的方式。 该库提供了描述用户行为并将其以正式而清晰的语言链接到产品业务指标的能力,从而简化和自动化了开发人员和分析师的日常任务,并促进了他们与业务部门的沟通。

保留导向是一种方法和分析软件工具,可以适应并集成到任何数字(而不仅仅是)产品中。

我们于 2015 年开始开发该产品。 现在,这是一套现成的(尽管还不理想)Python 和 Pandas 工具,用于处理数据、具有类似 sklearn 的 api 的机器学习模型、用于解释机器学习模型 eli5 和 shap 结果的工具。

一切都已经包起来了 到开放的 Github 存储库中方便的开源库 -retentioneering-tools。 使用该库并不困难;几乎任何热爱产品分析但之前从未编写过代码的人都可以独立地将我们的分析方法应用于他们的数据,而无需投入大量时间。

那么,以前从未进行过分析的程序员、应用程序创建者或开发或测试团队的成员可以开始使用此代码并查看其应用程序的使用模式,而无需外部帮助。

作为分析基本要素的用户轨迹及其处理方法

用户轨迹是特定时间点的用户状态的序列。 此外,事件可以来自不同的数据源,包括线上和线下。 用户发生的事件是他的轨迹的一部分。 例子:
• 按下按钮
• 看到了图片
• 点击屏幕
• 收到一封电子邮件
• 向朋友推荐该产品
• 填写表格
• 点击屏幕
• 滚动的
• 前往收银台
• 点了墨西哥卷饼
• 吃了墨西哥卷饼
• 吃墨西哥卷饼中毒
• 从后门进入咖啡馆
• 从正门进入
• 最小化应用程序
• 收到推送通知
• 在屏幕上停留的时间超过 X
• 支付订单费用
• 购买订单
• 贷款被拒绝

如果您获取一组用户的轨迹数据并研究转换的结构,您可以准确跟踪他们在应用程序中的行为的结构。 通过一个图来实现这一点很方便,其中状态是节点,状态之间的转换是边:

Retentioneering:我们如何使用 Python 和 Pandas 编写用于产品分析的开源工具

“轨迹”是一个非常方便的概念 - 它包含有关所有用户操作的详细信息,并且能够将任何附加数据添加到这些操作的描述中。 这使其成为一个通用对象。 如果您拥有美观且方便的工具来处理轨迹,那么您就可以找到相似之处并将其细分。

轨迹分割乍一看可能看起来非常复杂。 在正常情况下,是这样的——你需要使用连接矩阵比较或序列比对。 我们设法找到了一种更简单的方法——研究大量轨迹并通过聚类对它们进行分割。

事实证明,可以使用连续表示将轨迹转换为点,例如, 特遣部队。 变换后,轨迹变成空间中的一个点,轨迹中各种事件的标准化发生以及它们之间的转换沿轴绘制。 来自一千个或更多维空间的这个东西(dimS=sum(event types)+sum(ngrams_2 types))可以使用以下方法投影到平面上 新能源网。 TSNE 是一种将空间维度减少到 2 个轴的变换,并且如果可能的话,保留点之间的相对距离。 因此,可以在平面地图(轨迹的图形投影图)上研究不同轨迹的点如何在它们之间定位。 它分析它们彼此之间的接近程度或不同程度,它们是否形成集群或分散在地图上,等等:

Retentioneering:我们如何使用 Python 和 Pandas 编写用于产品分析的开源工具

保留导向分析工具能够将复杂的数据和轨迹转换为可以相互比较的视图,然后可以检查和解释转换的结果。

说到处理轨迹的标准方法,我们指的是我们在保留优化中实现的三个主要工具——图、步长矩阵和轨迹投影图。

使用 Google Analytics、Firebase 和类似的分析系统非常复杂,而且不是 100% 有效。 问题是用户受到许多限制,因此分析人员在此类系统中的工作取决于鼠标点击和切片选择。 保留优化使得处理用户轨迹成为可能,而不仅仅是像在 Google Analytics 中那样使用漏斗,尽管它是针对特定细分市场构建的,但详细程度通常会简化为漏斗。

保留策略和案例

作为使用所开发工具的示例,我们可以引用俄罗斯大型利基服务的案例。 该公司拥有一款深受客户欢迎的 Android 移动应用程序。 该移动应用程序的年营业额约为7万卢布,季节性波动范围为60-130万卢布。同一家公司还有iOS应用程序,苹果应用程序用户的平均账单高于其他用户的平均账单。使用 Android 应用程序的客户端 - 1080 rub。 与 1300 卢布相比。

该公司决定提高 Android 应用程序的效率,为此进行了彻底的分析。 产生了几十个关于提高应用程序有效性的假设。 使用 Retentionneering 后,发现问题出在向新用户显示的消息中。 他们收到了有关品牌、公司福利和价格的信息。 但事实证明,这些消息应该帮助用户学习如何在应用程序中工作。

Retentioneering:我们如何使用 Python 和 Pandas 编写用于产品分析的开源工具

这样做后,应用程序的卸载量减少了,订单转化率增加了 23%。 起初,20% 的传入流量用于测试,但几天后,在分析第一个结果并评估趋势后,他们颠倒了比例,相反,留下 20% 给对照组,百分之八十参加了测试。 一周后,决定依次添加另外两个假设的检验。 短短七周内,Android 应用的营业额就比之前增长了一倍半。

如何使用保留导向?

第一步非常简单 - 使用 pip installtentioneering 命令下载库。 该存储库本身包含一些产品分析任务的现成示例和数据处理案例。 该套装会不断更新,直到足以满足初次相识的需求。 任何人都可以采用现成的模块并立即将其应用到自己的任务中 - 这使他们能够立即建立更详细的分析和尽可能快速有效地优化用户轨迹的过程。 所有这一切使得通过清晰的代码找到应用程序的使用模式并与同事分享这种经验成为可能。

保留优化是一个值得在您的应用程序的整个生命周期中使用的工具,原因如下:

  • 保留策略对于跟踪和持续优化用户轨迹以及提高业务绩效非常有效。 因此,电子商务应用程序中经常会添加新功能,但无法始终正确预测其对产品的影响。 在某些情况下,新旧功能之间会出现兼容性问题 - 例如,新功能“蚕食”现有功能。 在这种情况下,不断分析轨迹正是所需要的。
  • 广告渠道的情况也类似:新的流量来源和广告创意不断受到考验,需要监控季节性、趋势和其他事件的影响,这导致越来越多新的问题出现。 这还需要对用户机制进行持续监控和解释。
  • 有许多因素不断影响应用程序的性能。 例如,开发人员发布新版本:解决当前问题,他们不知不觉地返回旧问题或创建一个全新的问题。 随着时间的推移,新版本的数量不断增加,跟踪错误的过程需要自动化,包括分析用户轨迹。

总体而言,保留导向是一个有效的工具。 但完美是没有限制的——它可以而且应该被改进、开发,并在其基础上构建新的酷产品。 项目的社区越活跃,分叉就会越多,并且会出现新的有趣的使用选项。

有关保留工具的更多信息:

来源: habr.com

添加评论