基于无埋点技术的用户行为分析

用户行为分析从狭义来看是用户的行为数据分析,但是广义来说这一个词包含用户分析,用户行为的结果分析,用户的行为分析。用户行为的结果和用户的行为分析是不一样的,一个是结果,一个是过程。现在国内市场上关于用户行为分析的产品分为基于前台数据的用户行为分析和基于后台数据的用户行为分析。基于前台技术的用户行为分析侧重于用户的行为分析,而基于后台技术的用户行为分析侧重于用户行为的结果分析。这两类产品可以说是有一定的片面性,完成的只是用户行为分析的一部分。基于这个现状来谈谈全面的用户行为分析应该怎么做。这篇文章主要会从数据来源和数据收集方式两个角度来说。

 数据来源

数据是用户行为分析的大前提,一切的分析都始于数据,巧妇难为无米之炊。用户行为的数据来源有前台点击数据和后台业务数据。仅仅使用后台的业务数据,会导致前台用户行为缺失,这样和仅仅通过数据库做传统地统计实现的效果差不多。假设有两种路径能够下单(用字母D表示),A-B-C-E-D 和A-B-F-D。那么仅仅通过后台数据我们知道一个客户下单了,下单金额是多少,那么如果我们想知道哪种路径引导才能让客户更容易下单呢?

仅仅使用前台数据,还是上面那个例子,虽然能够识别出用户是来自A-B-F-D下单的,但是要想分析这个路径带来的用户有多大价值,在之后这个用户有没有回来,他之后有在我们产品消费了多少,像这种复杂的分析,依赖前台数据也是做不到的。

如果想分析用户结果是依靠什么行为产生的,以此来优化产品和业务来反向获得更好的结果,相反的想要根据用户行为来衡量行为模式的效果, 就需要将前后台数据打通进行关联分析。举个例子,订单金额大于1万的高净值客户行为以及其转化率这个指标就必须通过前台数据和后台数据相结合的方式。

怎么把来自前台和后台的用户数据关联起来?这是需要解决的问题。

 数据收集技

用户行为数据收集技术主要有两种:埋点和无埋点。先来科普先这两种技术方式,以及说明下应该怎么选择。

埋点

所谓埋点就是为了数据分析的需求在原本的复杂的代码逻辑之上在加上N行获取数据的代码。比如如果想获取某商品的点击数量,就得在点击事件的中搜集点击的商品数据,发出包含商品名称和点击事件的数据({productname,clicktime})。

埋点的优势:

1)埋点最大的优势就是数据都是手动编码产生的,灵活性比较大,可以更好得支持一些扩展数据。

2)埋点由于是按照埋点逻辑进行的预处理,所以对之后的分析友好,分析效果也比较好。

埋点的劣势:

1)埋点最重要的前提条件是必须十分清楚目标,即需要收集什么样的数据必须提前确定。所以埋点最容易出现的问题就是漏埋,一般来说在发布前一定要经过谨慎的校验和测试,因为一旦版本发布出去而数据采集出了问题。

2)在产品的迭代过程中,如果代码再迭代的时候忽略了埋点逻辑的更改,从而导致后续的分析逻辑不准,甚至导致产品bug。更甚于对于产品迭代比较快的场景,埋点就是一个定时炸弹。

无埋点

埋点技术和无埋点技术都需要在原有的业务代码上进行改动。无埋点就是通过编程语言自身的特点来完成数据收集的自动化过程。比如前台无埋点其实就是通过监听JS事件,把页面上发生的所有事件都采集下来。后台无埋点实现比较复杂,但是说起来很简单,其实就是将网络数据进行旁路反解析,前后端交互的数据肯定都会经过网络,所以网络中应该包含了绝大多数业务数据。

无埋点的优势:

1) 相对于埋点方式带来的收益就是正好就是埋点容易产生的问题,由于采集的是全量数据,所以产品迭代过程中是不需要关注埋点逻辑的,也不会出现漏埋、误埋等现象。

2)无埋点方式因为收集的是全量数据,可以大大减少运营和产品的试错成本,试错的可能性高了,可以带来更多启发性的信息。

3)最后一点,也是最清楚的一点,就是减少了因为人员流动带来的沟通成本。

无埋点的缺陷,也是无埋点存在的一些质疑点:

1)适用大部门,通用的场景,有少部分需要埋点的场景覆盖不了。

2)无埋点采集全量数据,给数据传输和服务器增加压力

根据前面关于埋点和无埋点的科普,我们都明白其实两个方式都有其自身的优势和缺陷,知乎上关于这两个讨论点的文章也有很多,有人在批埋点,有人在批无埋点。关于技术,我们还是理性看待吧,它们两个不是你死我活的关系,通过我们调研的得到的情况是,目前没有方案能够完美解决无埋点问题,但是我们致力于研究最大限度通过通用方式解决埋点问题,尽量减少埋点代码,埋点代码越少,出错的可能性就越低。我们选择使用前台无埋点和后台无埋点技术相结合的方式来获取用户数据。

 如何利用无埋点打通前后台数据

当前的分析手段,都需要进行大量埋点以及关联才能做到前台和后台数据打通,有没有可能通过无埋点将前后台数据自动关联打通?

前台无埋点弊端

前端无埋点针对数据分析比较简单需求是很合适的,如果是仅仅分析页面跳转,转化率、或者控件点击等行为,前端无埋点完全能够胜任。但是如果要做细粒度的分析,仅仅靠前端无埋点可能存在困难,最关键的原因就是前台采集技术再先进也还是有些数据难以采集到,比如客户的下单金额等数据,这些数据很多都是以html形式传到前台,在不同的技术实现中,前台所展示的金额数据可能仅仅是展示数据,并不会再传至后台。所以导致如果想要做一些按照客单价分群的行为,就很难仅仅依靠前端无埋点技术来实现。

后台无埋点的引入

在典型的前后台交互的程序中,数据最通用的来源,我们发现是wired data。Wired data应该包含了90%以上的细粒度的业务数据,只是这些数据是以不同格式存在于wired data中,这里面的难度就是设计一种数据处理方案,能够通用的将存在于wired data的数据利用起来,这是后台无埋点的实现关键。

前后台数据自打通

谐云科技独创地推出了前后台关联无埋点技术,通过无埋点将前后台数据自动关联打通,而前后台无埋点的关联点就在于cookie,在用户请求中埋入特殊的sessionid和uid。后台的数据采集wired data中如用户信息,通过sessionid和uid关联之后,就可以知道某次下单业务是哪个用户操作的,在页面上有何种行为。我们采用这种方式实现了前后数据的自动关联。

时间: 2024-10-14 09:27:25

基于无埋点技术的用户行为分析的相关文章

iOS无埋点数据SDK实践之路

SDK 已经具备不需要代码埋点就能 自动的.动态可配的.全面且正确 的收集用户在使用 App 时的所有事件数据.除此之外,还单独开发了与之配合的圈选SDK,能够在 App 端完成对界面元素的圈配以及 KVC 配置的上传.而界面元素圈配的工作完全可以交给用研与产品人员来做,减轻了开发人员的工作量.SDK 已有的功能可以分为两大部分: 基本事件数据的收集:基本事件的收集是指应用冷启动事件.页面事件.用户点击事件.ScrollView滑动事件等,这部分全部都是自动完成的,实现思路会在第一节中介绍. 业

从“埋点技术已死?”开始说起

大数据时代的到来意味着数据量的爆炸,也意味着收集数据的难度将大幅增加.为了将海量的数据收集起来,埋点技术应运而生.然而随着大数据的发展和深入,用户的要求越来越高,埋点技术开始变得力不从心. 近期,一些公司开始以“无埋点技术”为卖点,开始到处宣传无埋点比埋点好,那么到底事实如何了? 埋点技术的时代 埋点技术通过在代码的关键部位植入统计代码,追踪用户的点击行为;或者植入多段代码,追踪用户的连续行为;并通过建立模型等方法,得出用户操作行为;最终作为建立产品数据系统的一个环节准确的收集数据. 那么为什么

国内主流新一代用户行为分析系统选型过程分享

企业在选择用户行为分析工具时,大都不清楚如何选择适合自己业务的用户行为分析工具.笔者自己公司之前网站分析用百度统计APP分析用友盟,公司是做电商行业的,最近公司提出要精细化运营,用数据驱动业务增长,因此在10月份分别考察了国内做得比较出色的几家公司:数极客(阿里系).神策数据(百度系)和GrowingIO(LinkedIn系)三家公司的用户行为分析产品. 我在选型过程中将各家公司的功能和服务对比文档进行整理,从团队背景和产品定位.数据接入方式.定量分析功能.定性分析功能.二次开发与数据应用.服务

Android无埋点数据收集SDK关键技术解析

前言 本文基于网易乐得无埋点数据收集SDK,无埋点数据收集SDK用于向大数据平台提供全量,完整,准确的客户端数据. Android端无埋点数据收集SDK实现中涉及到比较关键的技术点有: 用字节码插桩的方式实现Android端的AOP("Hook") 唯一定位界面上任何控件的ViewID Fragment页面的合理划分 自定义数据收集DSL,用于线上配置,即时收集定制的业务数据 关于第一点Android端AOP的实现,之前的一篇文章Android AOP之字节码插桩已经做了详细的阐述.本

埋点(Event Tracking)vs 无埋点(Codeless Tracking) vs 可视化埋点(Visual Event Tracking)

在理解什么是埋点之前,首先需要了解一些基础知识:(以下摘自:http://www.chinawebanalytics.cn/auto-event-tracking-good-bad-ugly/) 我们能够监测网站上用户的行为,或者app上用户的行为,都需要在网站的每一页或者app中加上一些程序代码(基础代码).这样的程序代码,在网站上叫监测代码,在app中叫SDK(Software Development Kit). 但是你要想收集到所有用户行为的数据,光有基础代码是不够的,总有一些特殊的用户操

AWS Lambda&Fargate 无服务底层技术是如何实现的

一.AWS Serverless 服务 近些年 AWS 非常推崇无服务器模式,自从2014年 Lambda 发布之后,无服务器大受欢迎,随之 2017 年推出 AWS Fargate 服务,应用于自家的容器服务平台 ECS.在 2019 年,EKS 也相继支持 AWS Fargate. 现在,更多的用户使用无服务器计算来构建应用程序,AWS 旨在打造让用户无需担心基础设施的预置或管理问题.开发人员可以使用 AWS Fargate 将其代码封装为无服务器容器,或使用 AWS Lambda 封装为无

项目实战(连载):基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(4)

本章主要讲什么(一句话)? <项目实战:基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(4)> -- 基于Node的Express项目环境框架搭建 一.前言 从本节开始,我们将正式[多用户博客系统]的项目开发工作.首先我们先从后台Node部分开始做起,一步步带领大家完成整个博客系统的开发. 本篇将主要帮助大家把Node环境下的Express框架搭建起来,后继后台将会在这个框架上进行扩展与业务逻辑开发. 二.项目环境 Node.js: v 6.x Express: v

Orchard 基于 ASP.NET MVC 技术的免费开源内容管理系统

Orchard 是由微软公司创建,基于 ASP.NET MVC 技术的免费开源内容管理系统: 可用于建设博客.新闻门户.企业门户.行业网站门户等各种网站 简单易用的后台界面 性能稳定,功能齐全 热拔插模块化架构提供超强可扩展性 BSD 协议授权,可用于商业闭源项目 下载地址:https://orchard.codeplex.com/releases/view/119931 相关博客:http://www.orchardch.com/Blog 一个基于Orchard的开源CRM --coevery

两项基于网络的“黑客”技术

两项基于网络的“黑客”技术 软件开发和测试中网络环境迁移和数据分析 1   导读 关于智能路由器的这两项技术的介绍,想想还是搞个比较有噱头的标题才能吸引人进来细看的.本文确实是介绍的两个关于智能路由器的hack技术,但是却是将这两项技术用于软件开发过程中的正途中的.当然如果有悟性,也可以将此技术用于不违法的恶作剧玩一下也无妨. 本文提到的两个基于网络的hack技术: DNS劫持 数据抓包 基本本质上就是路由器设备的两个主要网络功能: 网关配置功能 网关数据中转功能 但是用于软件开发的正途,就变换