客户分析系统

想象一下,您是一个刚刚崭露头角的企业家,他刚刚制作了一个网站和一个移动应用程序(例如,一家甜甜圈店)。 您想以较小的预算连接用户分析,但不知道如何。 周围的每个人都使用Mixpanel,Facebook分析,Yandex.Metrica和其他系统,但尚不清楚选择什么以及如何使用它。


图片


什么是分析系统?


首先,我必须说用户分析系统不是对服务本身的日志进行分析的系统。 监视服务的工作方式着重于稳定性和性能,并且由开发人员单独进行。 创建用户分析是为了精确地研究用户的行为:他执行了什么操作,执行频率,对服务中的推送事件或其他事件做出反应的方式。 在全球范围内,用户分析有两个领域:移动和网络分析。 尽管Web和移动服务的界面和功能不同,但在两个方向上使用分析系统的工作大致相同。


为什么需要这个?


所需的用户分析:


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

如何运作?


要研究用户行为,您需要收集此行为的历史记录。 但是到底要收集什么呢? 这个问题占整个任务复杂程度的70%。 产品团队的许多参与者必须一起回答:产品经理,程序员,分析师。 此步骤中的任何错误都是代价高昂的:您无法收集所需的内容,也无法收集无法做出重要结论的内容。


一旦决定要组装什么,就需要考虑如何组装的体系结构。 分析系统工作的主要对象是一个事件。 事件是对响应用户操作而发送到分析系统的事件的描述。 通常,对于在上一步中选择跟踪的每个动作,事件看起来都像一个JSON包,其中包含描述完美动作的字段。


什么样的JSON包?

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


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

语言学习服务中的JSON包示例:
图片


但是,为什么不连续收集所有内容呢?


因为所有事件都是手动创建的。 在分析系统中,没有“保存所有内容”按钮(那将毫无意义)。 仅收集服务逻辑中团队某些部分感兴趣的那些动作。 即使对于按钮或窗口的每种状态,通常也不是所有事件都有意义。 对于较长的流程(例如,游戏级别),只有开始和结束可能很重要。 中间发生的事情可能无法收集。
通常,服务的逻辑由对象(实体)组成。 它可以是硬币实体,也可以是级别实体。 因此,可以根据实体,它们的状态和动作来编译事件。 例如:“关卡已经开始”,“关卡已经结束”,“关卡已经结束,龙吃掉了原因”。 希望所有可以“发现”的实体都被关闭,以免违反逻辑并且不会使自己进一步复杂化分析工作。


图片


复杂系统中有多少事件?


复杂的系统可以处理从所有客户(产品经理,程序员,分析师)收集的数百个事件,并小心地(!)传递给平板电脑,然后传递给服务逻辑。 活动准备是一项重大的跨学科工作,需要每个人都了解需要收集的内容,关注度和准确性。


接下来是什么?


假设我们提出了所有有趣的事件。 是时候收集它们了。 为此,您需要连接客户端分析。 我们进入Google并寻找移动分析(或从著名的: MixpanelYandex.MetricaGoogle AnalyticsFacebook AnalyticsTuneAmplitude中进行选择 )。 我们从网站上获取SDK,并将其嵌入到我们的服务代码中(因此名称为“ client”(客户端),因为该SDK内置在客户端中)。


在哪里收集事件?


将要创建的所有JSON包都需要存储在某个地方。 将它们发送到哪里以及它们将要去哪里? 对于客户分析系统,她负责。 我们不知道JSON包在哪里,它们在哪里存储,有多少,以及如何存储在那里。 整个收集过程由系统执行,与我们无关。 在分析服务中,我们可以访问您的个人帐户,我们已经在该帐户中看到了处理初始行为数据的结果。 此外,分析师会处理您在帐户中看到的内容。


在免费版本中,通常无法下载源数据。 在昂贵的版本中有这样的机会。


连接需要多长时间?


一个小时即可连接最简单的分析:它将是App Metrika,它将显示最简单的内容而无需分析自定义事件。 对于更复杂的系统,建立时间取决于所选的事件。 有一些困难需要进一步发展:


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

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


图片


如何选择我需要的那个?


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


对于非标准任务,选择取决于您的服务,分析任务和需要处理以解决它们的事件。


  • 例如,在Mixpanel中,可以执行A / B测试。 怎么做? 您创建一个实验,其中将有几个样本并进行选择(将此类用户分配给A,将其他用户分配给B)。 对于A,按钮将为绿色,对于B,按钮将为蓝色。 由于Mixpanel收集了所有数据,因此可以从A和B中找到每个用户的设备ID。在服务代码中,使用SDK进行了调整-在这些地方可以更改某些内容进行测试。 此外,对于每个用户,从混合面板中提取值(在我们的情况下为按钮颜色)。 如果没有Internet连接,则将选择默认选项。
  • 通常,您不仅要存储和研究事件,而且还要聚集用户。 相同的Mixpanel在“用户”选项卡中自动执行此操作。 您可以在此处查看所有永久用户数据(名称,电子邮件,facebook个人资料)和用户日志的历史记录。 您可以查看用户数据作为统计数据: 龙吃了100次,买了3朵花 。 在某些系统中,可以下载用户聚集。
  • Facebook分析的主要特色是什么? 它将服务的访问者与他的Facebook个人资料结合在一起。 因此,您可以找出您的受众,最重要的是,将其转化为广告受众。 例如,如果我访问过该网站1次,并且其所有者在访问者身上包含了广告(Facebook分析中的可自动填充的受众),那么将来我将在Facebook上看到此网站上的广告。 对于网站所有者而言,它的工作原理简单便捷,您只需要记住为广告预算设置每日上限。 Facebook分析的缺点是它并不是特别方便:一个相当复杂的网站,无法立即清除,并且运行速度不是很快。

几乎无所事事,一切正常! 可能有缺点吗?


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


但是,如果该解决方案价格便宜,则将不会详细分析:将可以看到设备,操作系统的类型,但不能看到特定事件,也无法创建渠道。 Mixpanel一年的费用为5万美元(例如,使用Am Nyam的应用程序可以吃很多东西)。 通常,对数据的访问通常通常十分有限。 您无法想象并运行自己的模型。 付款通常按月/定期进行。


还有吗


但是最糟糕的是,即使Mixpanel也会将活动的移动应用程序特有的数据量视为近似值(直接在文档中直接指出)。 如果将结果与服务器分析进行比较,则值将有所不同。 (有关如何创建自己的服务器分析的信息,请阅读我们的下一篇文章!)


几乎所有分析系统的最大缺点是它们限制了对原始日志的访问。 因此,启动您自己的模型似乎无法使用您自己的数据。 例如,如果您查看Mixpanel中的渠道,则只能计算步骤之间的平均时间。 无法计算更复杂的指标,例如中位数时间或百分位数。


而且,通常复杂的聚合和分段功能还不够。 例如,狡猾的groupby“团结1990年出生的用户,每个用户至少购买50个甜甜圈”可能不可用。


Facebook分析的界面非常复杂且运行缓慢。


如果我一次打开所有系统?


好主意! 通常,不同的系统会产生不同的结果。 不同的数字。 另外,有些具有一个功能,其次具有其他功能,而另一些则是免费的。
此外,可以并行包含多个系统进行测试:例如,使自己熟悉新界面并逐步切换到该界面。 像在任何企业中一样,在这里您需要了解度量并以可跟踪的数量(并且不会降低网络连接速度)连接分析。


我们都迷上了,然后我们发布了新功能,如何添加事件?


与从头开始连接分析时相同:收集必要事件的描述,并使用SDK将其粘贴到客户端代码中。


我希望您对常见问题的答案有所帮助。 如果它们帮助您了解客户端分析不适合您的应用程序,我们建议您尝试服务器分析。 我将在下一部分中讨论它,然后再讨论如何将其转换为我的项目。

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


All Articles