数据分析和埋点,产品经理必须掌握的知识和技能
产品经理必须随时全面而准确地了解自己产品的各项数据,否则只能凭着感性在规划和设计产品,容易犯错误。因此,看哪些数据,如何统计和分析数据,如何进行数据埋点,都是产品经理必须要掌握的知识和技能。
如果你对此尚不了解,可以通过这篇文章,快速地知道一个大概,然后待到在工作中学习和实践时,就更加容易上手了。
首先简单讲一下什么是数据埋点。数据埋点通常是指开发工程师基于业务、运营或产品经理的需要,在产品前端程序中植入相关代码,以获取用户行为等数据的一种技术手段。
对开发人员而言,埋点需求同性能需求一样都属于非功能性需求,它们与功能性需求一起组成了产品需求。
网页中最常见的埋点方式是通过JS代码来实现的。
比如为了统计用户的点击事件,那么在每个链接或按钮处,都增加一段JS代码,用户一旦点击,无论页面是否有跳转、刷新等,都悄悄地请求了服务器,也就把一大堆信息传给了服务器存下来,包括用户的IP地址、地理信息、浏览器参数、点击的对象、时间等等。
又比如为了统计曝光事件,先定义好何为有效曝光(例如完成加载、渲染并进入用户视界),然后在有效曝光发生时,执行一段JS代码,把相关信息传输到服务器。
如果是手机APP或智能设备,则不同于网页主要使用JS代码的方式,它们往往被植入SDK(Software Development Kit,即软件开发工具包)来实现数据埋点。同时,为了避免频繁连接网络上传或下载数据,通常会将数据先存储在手机本地或智能设备中,等到一定的时机,再一次性同步至服务器。
一定要记住的是,数据埋点只是数据统计和分析的一种技术手段,并非所有的数据统计都必须要有数据埋点。
比如网页事件。在通过HTTP或HTTPS协议请求时,也就是访问各种网址时,浏览器发送给服务器的数据包中,不仅仅是地址栏中你看得见的那一行链接地址,而且还已经包括了诸如浏览器信息、用户信息、来源URL等,这些信息无需再通过埋点,只需要在后端接受请求的程序中加以解析,把有用的存下来即可。
还有一类数据,也是无需埋点的,比如有多少用户成功收藏了一篇文章,这本就属于功能需求的范畴,业务数据中已有记录。
好了,通过前面提到的各种方式,数据有了,但这还不是最重要的。
有了数据之后,还应该根据需要,从这些可能相当杂乱、冗余的数据中选出有用的,按照有利于查询和分析的方式进行二次加工和存储,使之与生产环境中实时变化着的数据隔离开。然后在此基础上,生成各类报表,或者提供一个可自行敲入SQL语句查询数据的界面。
稍有规模的公司通常会有专门的BI团队,他们的主要工作就是开发并维护一个这样的数据系统,供包括产品经理在内的各方面人员,随时随地地查询和分析数据。