客户分析系统

想象一下,您是一位崭露头角的企业家,刚刚创建了一个网站和移动应用程序(例如,为一家甜甜圈店)。 您希望以少量预算连接用户分析,但不知道如何实现。 周围的每个人都使用 Mixpanel、Facebook 分析、Yandex.Metrica 等系统,但不清楚该选择什么以及如何使用它。

客户分析系统

什么是分析系统?

首先必须说明的是,用户分析系统并不是一个分析服务本身日志的系统。 服务执行情况的监控重点关注稳定性和性能,由开发人员单独进行。 创建用户分析是为了研究用户的行为:他执行什么操作、执行的频率、他对服务中的推送通知或其他事件的反应。 在全球范围内,用户分析有两个方向:移动和网络分析。 尽管网络和移动服务的界面和功能不同,但在两个方向上使用分析系统大致相同。

为什么这样做?

需要用户分析:

  • 监控使用服务时发生的情况;
  • 更改内容并了解在哪里开发、添加/删除哪些功能;
  • 找出用户不喜欢的内容并进行更改。

它是如何工作的呢?

要研究用户行为,您需要收集该行为的历史记录。 但究竟要收集什么? 这个问题占整个任务复杂度的高达70%。 产品团队的很多成员必须共同回答这个问题:产品经理、程序员、分析师。 这一步的任何错误都会付出高昂的代价:您可能无法收集到您需要的东西,并且您可能收集到一些无法让您得出有意义的结论的东西。

一旦决定收集什么,您就需要考虑如何收集它的架构。 分析系统处理的主要对象是事件。 事件是对所发生事件的描述,发送到分析系统以响应用户操作。 通常,对于上一步中选择跟踪的每个操作,事件看起来像一个 JSON 包,其中包含描述所采取操作的字段。

这是一个什么样的 JSON 包?

JSON 包是一个描述发生情况的文本文件。 例如,JSON数据包可能包含用户Mary在23月00日15:XNUMX执行开始游戏动作的信息。 如何描述每个动作? 例如,用户单击按钮。 此时需要收集哪些属性? 它们分为两种类型:

  • 超级属性 - 始终存在的所有事件的特征属性。 这是时间、设备 ID、API 版本、分析版本、操作系统版本;
  • 事件特定属性 - 这些属性是任意的,主要困难是如何选择它们。 例如,对于游戏中的“购买金币”按钮,此类属性将是“用户购买了多少金币”、“金币花费了多少”。

语言学习服务中的 JSON 包示例:
客户分析系统

但为什么不收集所有东西呢?

因为所有事件都是手动创建的。 分析系统没有“全部保存”按钮(这毫无意义)。 仅收集团队中某些部分感兴趣的服务逻辑中的那些操作。 即使对于按钮或窗口的每种状态,通常也不是所有事件都令人感兴趣。 对于长流程(例如游戏关卡),只有开始和结束可能很重要。 中间发生的事情可能不会同时发生。
通常,服务逻辑由对象(实体)组成。 这可以是“硬币”实体或“级别”实体。 因此,您可以根据实体、实体的状态和操作来编写事件。 示例:“关卡开始”、“关卡结束”、“关卡结束,原因 - 被龙吃掉”。 建议关闭所有可以“打开”的实体,以免违反逻辑,也不会使进一步的分析工作变得复杂。

客户分析系统

一个复杂的系统中有多少个事件?

复杂的系统可以处理数百个事件,这些事件是从所有客户(产品经理、程序员、分析师)收集的,并仔细(!)输入到表中,然后输入到服务逻辑中。 准备活动是一项大型的跨学科工作,需要每个人都了解需要收集什么、细心和准确。

接下来是什么?

假设我们想出了所有有趣的事件。 是时候收集它们了。 为此,您需要连接客户端分析。 转到 Google 并查找移动分析(或从众所周知的分析中进行选择: Mixpanel, Yandeks.Metrika, Google Analytics, Facebook分析, , 振幅)。 我们从网站上获取 SDK 并将其构建到我们服务的代码中(因此称为“客户端” - 因为 SDK 内置于客户端中)。

以及在哪里收集事件?

将创建的所有 JSON 包都需要存储在某个地方。 他们会被送往哪里,又会在哪里聚集? 就客户端分析系统而言,它本身对此负责。 我们不知道 JSON 包在哪里,它们的存储位置在哪里,有多少个,或者它们是如何存储在那里的。 整个收集过程都是由系统进行的,与我们无关。 在分析服务中,我们可以访问个人帐户,在其中我们可以看到处理初始行为数据的结果。 接下来,分析师会根据他们在个人账户中看到的内容进行分析。

在免费版本中,原始数据通常不可下载。 昂贵的版本有这样的功能。

连接需要多长时间?

最简单的分析可以在一小时内连接:它将是 App Metrika,它将显示最简单的内容,而无需分析自定义事件。 设置更复杂的系统所需的时间取决于所选的事件。 出现需要额外开发的困难:

  • 是否有事件队列? 例如,如何解决一个事件不能发生在另一事件之前的问题?
  • 如果用户更改了时间怎么办? 更改时区?
  • 如果没有互联网怎么办?

平均而言,您可以在几天内设置 Mixpanel。 当计划收集大量特定事件时,可能需要一周的时间。

客户分析系统

如何选择我需要的那一款?

一般统计数据在所有分析系统中都可以正常工作。 非常适合营销人员和销售人员:您可以查看保留率、用户在应用程序中花费的时间以及所有基本的高级指标。 对于最简单的登陆页面,Yandex 指标就足够了。

当涉及非标准任务时,选择取决于您的服务、分析任务以及需要处理以解决它们的事件。

  • 例如,在 Mixpanel 中,您可以运行 A/B 测试。 怎么做? 您创建一个实验,其中有多个样本并进行选择(您将这样或那样的用户分配给 A,将其他用户分配给 B)。 对于 A,按钮将为绿色,对于 B,按钮将为蓝色。 由于 Mixpanel 收集所有数据,因此它可以找到 A 和 B 中每个用户的设备 ID。在服务代码中,使用 SDK 创建调整 - 这些是可以更改测试的地方。 接下来,对于每个用户,从 Mixpanel 中提取值(在我们的例子中为按钮的颜色)。 如果没有互联网连接,将选择默认选项。
  • 通常,您不仅希望存储和研究事件,还希望聚合用户。 Mixpanel 在“用户”选项卡中自动执行此操作。 在那里您可以查看所有永久用户数据(姓名、电子邮件、Facebook 个人资料)和用户日志历史记录。 您可以将用户数据视为统计数据: 龙吃了100次,买了3朵花。 在某些系统中,可以下载用户的聚合。
  • 主要凉意是什么 Facebook分析? 它将服务访问者与其 Facebook 个人资料连接起来。 因此,你可以找到你的受众,最重要的是,然后将其转化为广告受众。 例如,如果我访问过一个网站一次,并且其所有者为访问者打开了广告(Facebook 分析中的自动填充受众),那么将来我将在 Facebook 上看到该网站的广告。 对于网站所有者来说,这简单又方便;您只需要记住为广告预算设定每日上限即可。 Facebook 分析的缺点是它不是特别方便:该网站相当复杂,无法立即理解,并且运行速度不快。

几乎什么都不用做,一切都正常! 也许有一些缺点?

是的,其中之一就是它通常很昂贵。 对于初创公司来说,每月的费用可能约为 50 万美元。 但也有免费的选择。 Yandex App Metrica 是免费的,适用于最基本的指标。

但是,如果解决方案价格低廉,那么分析将不会详细:您将能够看到设备、操作系统的类型,但看不到特定事件,并且您将无法创建渠道。 Mixpanel 每年可能花费 50 万美元(例如,带有 Om Nom 的应用程序可能会花费这么多)。 一般来说,对所有这些数据的访问通常都受到限制。 你不会提出自己的模型并推出它们。 通常每月/定期付款。

还有其他人吗?

但最糟糕的是,即使 Mixpanel 也将活动移动应用程序固有的数据量视为近似值(在文档中直接公开说明)。 如果将结果与服务器分析进行比较,数值会有所不同。 (在我们的下一篇文章中了解如何创建您自己的服务器分析!)

几乎所有分析系统的一大缺点是它们限制对原始日志的访问。 因此,在看似您自己的数据上运行您自己的模型是行不通的。 例如,如果您在 Mixpanel 中查看漏斗,则只能计算步骤之间的平均时间。 无法计算更复杂的指标,例如中位时间或百分位数。

此外,通常缺乏执行复杂聚合和分段的能力。 例如,“将 1990 年出生的用户联合起来,每人至少购买 50 个甜甜圈”的棘手团购可能无法使用。

Facebook Analytics 的界面非常复杂,而且速度很慢。

如果我同时打开所有系统怎么办?

好想法! 不同的系统经常会产生不同的结果。 不同的数字。 此外,有些具有一种功能,有些具有另一种功能,还有一些是免费的。
另外,可以并行开启多个系统进行测试:例如熟悉新系统的界面并逐步切换到新系统。 与任何业务一样,您需要知道何时停止并连接分析,以便您可以跟踪它(并且这不会减慢您的网络连接速度)。

我们连接了一切,然后发布了新功能,如何添加事件?

与从头开始连接分析时相同:收集必要事件的描述并使用 SDK 将它们插入客户端代码中。

我希望常见问题的答案对您有用。 如果它们帮助您了解客户端分析不适合您的应用程序,我们建议您尝试服务器端分析。 我会在下一部分讲到,然后我会讲如何在你的项目中实现这一点。

只有注册用户才能参与调查。 登录拜托

您使用什么客户分析系统?

  • Mixpanel

  • Facebook分析

  • Google Analytics

  • Yandex Metrica

  • 其他

  • 与您的系统

  • 通过什么

33 位用户投票。 15 名用户弃权。

来源: habr.com

添加评论