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

哈Ha 本文致力于四年时间来开发一套用于处理应用程序或站点中用户路径的方法和工具的结果。 开发的作者是Maxim Godzi ,他是产品创建者团队的负责人,他还是本文的作者。 该产品本身称为Retentioneering,现在已转换为一个开源库并发布在Github上,因此任何人都可以使用它。 所有与产品和市场分析, 产品促销与开发相关的人员可能都感兴趣。 顺便说一句, 关于与Retentioneering一起工作的案例之一的文章已经在Habré上发表 。 新材料讨论了产品的功能以及如何使用。

阅读本文之后,您可以自己编写Retentioneering,它可以是用于处理应用程序及其他应用程序中用户轨迹的任何标准化方法,使您可以详细了解行为并从中获取见解,以发展业务指标。

什么是Retentioneering,为什么需要?


最初,我们的目标是将“增长黑客”从“数字医学”的世界转移到数字,分析和预测的世界。 因此,对于那些喜欢数字而不是科幻小说故事和公式的人来说,将产品分析简化为纯粹的数学和程序设计,而不是听上去很漂亮的“重命名”,“重新定位”等聪明的词,但实际上却有所帮助。

为了解决这些问题,我们需要一个通过图形和轨迹进行分析的框架,同时需要一个简化典型分析例程的库,以此来描述产品分析的常规任务,这对于人和机器人来说都是可以理解的。 该库提供了一种描述用户行为并将其与产品的业务指标相关联的机会,这种行为以一种正式而清晰的语言来简化和自动化开发人员和分析师的例行任务,并促进他们与业务的沟通。

Retentioneering是一种方法和分析软件工具,可以修改并集成到任何数字(不仅是)产品中。

我们从2015年开始研发该产品。 现在,这是使用Python和Pandas进行数据处理的现成(尽管不是很理想)的工具集,带有类似sklearn的api的机器学习模型,用于解释eli5的结果的工具和精简的机器学习模型。

所有这些都包装在Github开放存储库-tentioneeringeering-tools中的便捷开放源代码库中 。 使用该库很容易,几乎所有热爱产品分析但以前没有编写代码的人都可以自行将我们的分析方法应用于其数据,而无需花费大量时间。

嗯,从来没有参与过分析的程序员,应用程序创建者或开发或测试团队的成员都可以开始使用此代码,无需任何外部帮助即可查看使用其应用程序的模式。

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


用户轨迹-在特定时间点的一系列用户状态。 此外,事件可以来自在线和离线的不同数据源。 用户发生的事件是其轨迹的一部分。 范例:
•按下按钮
•看过照片
•点击屏幕
•收到电子邮件
•向朋友推荐产品
•填写表格
•录音带
•滚动
•去结帐
•点了卷饼
•吃了墨西哥卷饼
•被食用的卷饼中毒
•从后门进入咖啡厅
•从前门进来
•最小化应用
•收到推送通知
•屏幕上的愚蠢时间更长X
•支付订单
•购买订单
•被拒绝贷款

如果您获取用户组轨迹的数据并研究过渡的安排,则可以跟踪其行为在应用程序中的构建方式。 这可以方便地通过以下图表完成:状态为节点,状态之间的过渡为边:



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

最初,轨迹的分割似乎很复杂。 在正常情况下,就是这种情况-您需要使用连接矩阵或序列比对的比较。 我们设法找到一种更简单的方法-研究大量轨迹并通过聚类对其进行细分。

事实证明,您可以使用连续表示法(例如TF-IDF)将轨迹变成点。 变换后,轨迹成为空间中的一个点,沿着轴线绘制各种事件和它们之间的过渡的轨迹中的归一化出现。 可以使用TSNE将一千个或更多维空间(dimS =和(事件类型)+和(ngrams_2类型)中的东西投影到平面上。 TSNE-变换,将空间尺寸减小到2根轴,并且如果可能的话,保持点之间的相对距离。 因此,在平面图,轨迹的图形投影图上,研究不同轨迹的点如何布置在彼此之间成为可能。 分析它们彼此之间有多近或不同,无论它们是形成簇还是沿着地图散布,等等:



保留功能分析工具可以将一系列复杂的数据和轨迹转换为可以相互比较的表示形式,然后检查并解释转换结果。

在谈到标准轨迹处理方法时,我们谈论的是在Retentioneering中实现的三个主要工具-图形,阶跃矩阵和投影地图。

使用Google Analytics(分析),Firebase和类似的分析系统非常复杂,并且并非100%有效。 问题是给用户带来了许多限制,因此,分析人员的工作只能通过单击鼠标和选择切片来完成。 借助Retentioneering,可以处理用户轨迹,而不仅可以使用渠道(例如Google Analytics(分析)),在Google Analytics(分析)中,细节级别通常归结为渠道(尽管是针对特定细分受众群构建的)。

保固和案件


在俄罗斯使用大型利基服务的情况就是使用开发工具的一个例子。 该公司有一个适用于Android的移动应用程序,深受客户欢迎。 移动应用程序的年营业额约为700万卢布,季节性波动在60-13万的范围内。同一家公司拥有iOS应用程序,“苹果”应用程序用户的平均支票要高于使用Android应用程序的客户的平均支票- 1,080擦 对1300擦。

该公司决定提高Android应用程序的效率,对此进行了详尽的分析。 关于提高应用程序有效性的几十个假设被形成。 使用Retentionneering后,事实证明问题出在显示给新用户的消息中。 他们收到了有关品牌,公司利益和价格的信息。 但是,事实证明,这些消息应该可以帮助用户学习如何在应用程序中工作。



这样做的结果是,该应用程序开始被删除得越来越少,并且转换顺序增加了23%。 起初,将20%的传入流量用于测试,但几天后,在分析了最初的结果并评估了趋势后,他们改变了比例,相反,剩下20%留给了对照组,然后将80%进行了测试。 一周后,决定继续对另外两个假设进行检验。 在短短七个星期内,Android应用程序的营业额与之前的水平相比增长了一半半。

如何与Retentioneering合作?


第一步非常简单-使用pip installtentioneering命令加载库。 存储库本身包含一些产品分析任务的现成示例和数据处理案例。 该集合会不断更新,而对于初次接触来说就足够了。 每个人都可以采用现成的模块并立即执行其任务-这使您可以立即配置尽可能详细,更快速的用户路径分析和优化过程。 所有这些使得可以通过清晰的代码找到使用应用程序的模式,并与同事分享这种经验。

Retentioneering是应在应用程序的整个生命周期内使用的工具,原因如下:
  • Retentioneering对于跟踪和持续优化用户路径并提高业务绩效非常有效。 因此,在电子商务应用程序中通常会添加新功能,而这些功能对产品的影响通常无法正确预测。 在某些情况下,新旧功能之间会出现兼容性问题,例如,新功能“蚕食”了现有功能。 在这种情况下,需要对轨迹进行不断的分析。
  • 广告渠道的情况与此相似:新的流量来源和广告创意不断受到测试,有必要监视季节性,趋势和其他事件的影响,从而导致出现新的问题类别。 它还需要不断监控和解释自定义机制。
  • 有许多因素会不断影响应用程序的运行。 例如,开发人员的新版本:解决一个实际问题,他们不经意间退回了旧问题或创建了一个全新的问题。 随着时间的流逝,新版本的数量正在增长,并且错误跟踪过程需要自动化-包括通过分析用户轨迹。

总体而言,Retentioneering是一种有效的工具。 但是,完美无止境-可以并且应该在其基础上改进,开发,构建新的酷炫产品。 项目社区越活跃,分叉就会越多,将会出现新的有趣的使用选项。

有关Retentioneering工具的其他信息:

Source: https://habr.com/ru/post/zh-CN468721/


All Articles