热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

产品也需要懂的数据埋点和日常数据分析

数据反馈,不仅能验证我们的产品是否符合市场的预期,而且还能为我们优化产品,迭代产品提供需求,建立产品的优化飞轮。因此,数据分析是形成整个产品工作闭环中,必不可少的一环。去年我们团队

产品也需要懂的数据埋点和日常数据分析

数据反馈,不仅能验证我们的产品是否符合市场的预期,而且还能为我们优化产品,迭代产品提供需求,建立产品的优化飞轮。

因此,数据分析是形成整个产品工作闭环中,必不可少的一环。

产品也需要懂的数据埋点和日常数据分析

去年我们团队上线了一个新的产品,上线后,由于一直招不到合适的数据产品经理,因此团队让我先暂时支持下数据产品的基础工作。

于是,在这期间,我成了半个数据产品,在支持了一段时间的数据工作后,也建立了对数据的基本认知。

所以今天,我先从埋点开始,介绍下数据埋点工作过程中要了解的要点,同时补充介绍下,在数据分析工作中,可以直接应用一些分析框架和工作方法。


一、数据埋点与事件管理

1. 什么是埋点、事件、参数

埋点,是通过在程序中植入代码的方式,记录用户在软件(web、app、小程序)上的操作行为的技术手段。

事件,是记录用户在软件中操作行为的标签,如,用户在首页的曝光事件、按钮的点击事件等。

而在事件中,为了进一步区分事件的范围,更好地进行数据分析,会增加事件的“参数”,用来框定某个范围内的数据。如,时间参数、城市参数,就是用来筛选某个区间内事件上报数据的。

假如,我们要看到3月20日的产品首页曝光人数。

我们首先可以在首页中增加带有“时间”参数的“曝光”事件埋点。

在查询时,可通过代码在数据库中找到“首页曝光”这个事件,并在时间上选择“昨天”这个时间参数。

就可以得到昨天在首页曝光的用户数。


2. 事件分类

事件是通过用户在软件中留下的痕迹,来进行统计和上报的。

因此,从用户痕迹获取的维度上来看,事件可分为:基础事件和行为事件

1)基础事件是用户的属性标签,可用来建立用户画像的;如,用户id、城市、地址、年龄、经纬度、设备、ip地址、运营商、网络等信息,都属于基础事件。

2)行为事件就是用户在软件上的行为标签;如,曝光pv/uv、点击pv/uv、停留时长等,都属于行为事件。而根据用户操作的行为,行为事件又可进一步细分出以下三类:



  • 点击事件,指用户在软件中的点击,如用户在某个按钮、某个功能的点击,都记录为一次点击事件;

  • 曝光事件,指用户打开页面的行为,如用户在某个页面上曝光一次,记录为一次曝光事件;

  • 页面事件,指用户在页面中的操作,如,通过统计a用户在b页面停留时长;


3. 埋点的方式

介绍完事件分类之后,我们再来看下埋点的两种主要方式:

1)私有化部署

全部功能都自己开发,在代码中写入事件和上报逻辑,并搭建起相应的查询后台,埋点后,事件上报到对应的平台即可进行可视化呈现。

私有化部署的优势是:数据安全性高;且可根据业务需要,定制埋点逻辑;

但缺点也同样明显,就是不论是埋点开发还是可视化平台的搭建,所耗费的成本都比较高;

所以,一般只有大厂或相对成熟的产品,才会选择私有化部署的方案。

2)第三方统计工具

如使用友盟、神策等平台工具进行埋点、统计和上报。

这么做的话,优劣势和自行开发刚好相反:通用化的方案,带来的结果是可自定义程度低,但成本也会相对较低。

所以,一般中小型企业或新产品,都会选择此方式,满足业务的基本数据诉求。


4. 埋点工作流程

从工作流程上来说,埋点需要业务方先从拆解需求核心流程开始梳理,提出埋点需求;

开发团队根据埋点逻辑进行开发,开发完成后,测试团队进行上线前的测试;

上线之后,产品将数据的事件维护到表格中,而后,业务方才方便根据反馈的数据,定义数据,进行数据分析或可视化呈现。

因此,埋点也是数据采集和分析的基础。而在埋点开发到上线过程中,我们要注意以下几点:

1)埋点方案,要保证埋点需求的合理性

随着数据维度的健全,所需的数据量也增大,因此需要埋点的事件也会越来越多,这是必然的趋势。

但因为埋点的本质是代码中加入代码,因此如果埋点的事件增多,也必然会导致软件加载速度变慢,影响用户体验。

所以,埋点需求一定要仔细审核,否则就是给后面工作挖坑。

因此,一般我在收集埋点需求时,都会让业务方在文档中尽可能明确的阐述,每一个埋点的意义和价值(尤其是曝光事件),否则不予上报。

以此来减少产品代码压力,提升产品使用体验。

2)埋点测试,要验证每一个埋点和参数的上报情况

测试,是保证需求上线后能够正常运转的最后一道关卡。

所以埋点开发完成后,除了测试要验证埋点是否上报上报之外,产品人也必须亲自确认,看数据是否正常上报、相关参数是否正常加入埋点。

3)事件管理,要建立建全的统计维度

在埋点需求上线之后,我们也要建立事件管理的表格,以变后续在进行数据分析时,快速得到数据源

如上图所示,我们团队就是用表格中得这几个维度,来对所有事件进行维护和管理的:



  • 场景id和场景名称:在哪个页面执行的埋点——id是代码层面的统计,名称则是后续查询的时候方便识别;

  • 位置id和位置说明:在页面中的哪个位置写入埋点上报事件;

  • 行为id和行为说明:主要是曝光、点击、停留时长等行为,用来区分用户的操作;

  • 事件英文和事件中文:埋点的具体事件名称,我们一般是解合“场景”+“0”+“位置”+“0”+“行为”;(除了“0”之外,也可以用“_”来连接,但不可用“-”,因为代码无法识别这个字段)

  • 参数(key):用来进一步区分当前事件下的不同维度,如表中所示,time代表时间——用来区分这个事件下曝光时间点,city代表城市——用来区分这个事件下的城市维度;

通过上述方式对事件进行管理之后,团队成员就能再文档中,快速查询到对应事件。

4)事件更新同步

事件都写入维护表格之后,还有很重要的一步,就是一定要和各相关方,尤其是和业务关联的核心产品或运营团队,同步上报事件逻辑。

否则,在一定时间内,你的工作重心就变成天天帮他们找事件,解释每个事件意义…

一般在版本发布后,我们团队产品、研发和运营都会组织个上线会,同步版本新增功能,而我一般也会趁这个机会,给大家同步数据事件的更新情况。


二、数据分析

在埋点正常上报之后,我们就需要通过定期查看上报数据,来判断产品的数据表现情况。


1. 核心指标:北极星指标

在进行数据分析之前,我们得先了解产品的核心指标,也就是“北极星指标”。

北极星指标,是产品在某个阶段内最关键的唯一指标,因为它像北极星一样指引着前进的方向,通过它能反映当前团队对产品核心价值的追求的指标。

因为每个团队业务不同,要关注的核心数据也不同。

如,电商产品,北极星指标或许是交易笔数,又或许是成交量;而社交产品,北极星指标是活跃用户数;

所以,北极星指标的制定,通常是由数据团队,产品团队,运营团队共同定义出来的指标。

并由此出发,进一步量化,并最终拆解成各团队的业务考核指标。

所以说,我们在工作中,也需要要时常关注团队的北极星指标,以此来判断我们的工作方向是否正确。

除此之外,同行业的产品在不同的发展周期,要关注的核心数据也会有所不同。



  • 业务前期,目的是抢占市场,所以,业务要关注用户对产品的认可度,此时的北极星指标可从产品的使用量出发。如,在微信上线初期,北极星指标是每日成功发送的消息数。

  • 业务中期,目的是为了验证产品能否解决用户需求,所以,业务更应该关注用户结构,优化用户结构,此时的北极星指标可从用户活跃度出发。如,facebook就曾把月活跃用户数,作为北极星指标。

  • 业务后期,目的是变现能力和市场份额,所以,业务核心是要关注产品转化量和收益,那此时的北极星指标,就可从营收情况出发。如,爱奇艺当前的北极星指标,就应该是付费会员数;


2. 发现问题:异常数据排查四步法

在产品基础数据能力搭建完成,且业务团队也定义了本阶段的北极星指标后,产品人要养成查看数据的习惯。

首先先关注产品每日核心数据是否出现异常,并尝试分析定位问题,这样才能及时发现产品问题,找到产品突破点。

刚支持数据业务时,我经常被我领导diss。

主要是因为我在定位异常数据时,没有掌握系统的方法,不能及时解决问题,导致产品隔三差五就会被用户投诉。

而在我定位了数十次数据问题后,终于总结出一套异常数据定位的方法论,主要分为以下四步:

1)确认数据异常情况

如果有人告诉你说某个模块数据出问题了,叫你排查,一定要先自己核实数据异常情况,千万不能人云亦云。

其次,我们在定位问题时,要先尝试初步判断问题产生的原因。

可以先拉长时间维度,看是否是行业的淡旺季导致产品周期性变化,还是真的是产品数据出现异常了。

所查看后,确认是近期才发生的数据骤增或骤降的情况,我们再从宏观、中观、微观三个层次逐步排查。

2)宏观社会因素:假期、政策影响

宏观的社会效应,是由于大环境的变换影响整个行业,导致产品数据突增或突降,如:



  • 假期效应:国庆节,导致全国用户出行暴增,从而导致携程等旅游产品用户数据暴增;

  • 政策影响:深圳政府7.15房地产制度,提出购房指导价,对整个深圳的房地产都产生了不小的冲击,进而导致贝壳买房app在2020年7月16日用户访问数据下降;

3)中观市场因素:热点事件、大型活动、竞品调整、城市因素

中观的市场因素,是由于行业变化或短期市场波动导致的,如:



  • 热点事件,今年315点名简历问题,导致智联、猎聘等平台品牌受损,用户访问量下降;

  • 大型活动,双11、618等活动导致电商平台影响;

  • 竞品调整,竞品上线新功能或新的运营能力,如爱奇艺上线超前点播功能,对优酷、腾讯视频用户产生影响;

  • 城市因素,如某城市突降暴雨,导致该城市打车用户突增,滴滴的产品数据也猛然上涨;

4)微观内部因素:产品功能更新,运营策略、数据分析逻辑通路

如果宏观和中观都排除之后,通常就是产品本身出现了问题,如:



  • 产品版本迭代,产品上了新功能模块,导致某页面访问用户增加或减少

  • 运营策略,如运营做了产品推广策略,导致一段时间内产品用户突增,但运营没有及时和我们同步活动的时间节点;

  • 底层数据问题,如上报逻辑出错,导致多渠道数据埋点未能正常上报;

根据数据异常排查的经验来看,以上排查四步,可以有效解决90%的产品数据异常的问题。


3. 工作前置:建立告警

可在实际工作中,我们不能等同事发现并跟你提出了问题,才思考解决方案。

这样不仅会打断自己的工作计划,而且无法从根本上解决问题。久而久之,我们就会变成整天忙于异常定位的救火队员了。

所以,为了减少异常数据发展成更为严重的产品事故,也为了提高我们的工作效率,我们可以在产品的核心流程中,增加告警上报机制。

之所以只在产品的核心流程中设置,是因为如果告警太多,维护的开发迟早会麻木的。一旦麻木,就失去了设置告警的意义。

比如,可以在用户支付流程中,对产生的报错码建立监控体系。

我们团队的规则是,当有大于5个用户拉起微信支付失败,即支付失败报错码出现报错次数大于5时,平台就会出发告警,并触达开发,让开发去排查和定位问题。

从而减少由于小范围的产品问题演变成影响大量用户使用的产品事故。


4. 锻炼自己的数据感

告警机制只能解决核心产品流程的问题,但产品的组成,除核心流程之外,还有很多其他的功能也需要我们时常关注。

所以,除了系统层面的解决方案之外,我们自己也要养成看数据的习惯。

数据感,是我们在分析事情,或说服他人的时候,都能用数据来证明自己的想法;在看到数据时,会去思考数据的合理性与准确性。

培养数据感和产品感一样,都是需要我们长时间对数据的思考、沉淀和积累之后,实现从量变到质变的过程。

所以我们团队也会要求每个产品人,每天都必须抽时间看看产品的数据表现,我一般是早上9点-11点的时候,看昨天的数据日报。

虽然说刚开始看数据时,数据工作确实是一个无聊且枯燥的工作。

因为每天的数据无非就是突增、突降、正常,这三种情况,所以很多人会觉得很无聊。

可我们日常的数据分析就是要从这三种情况下,找到产品的优化点和破局点:

如果是数据突增,产品要思考能否趁风而起,提升产品指标;

如果是数据突降,可以从更长时间周期进行分析,看是周期性环境变化、稳步下降的产品原因、亦或是内部产品迭代导致的异常,进而提出优化需求或策略。

即便是每天都一样的数据,也能说明现在的产品策略,无法实现产品的稳步增长,产品也可以进一步调整产品策略。

因此,不论什么数据,都存在分析的价值和意义。

只有意识到这点,数据分析才算是真正入了门。


三、写在最后

在产品的日常工作中,关注产品数据也是很重要的一部分。

在之前的文章中,虽然有穿插一些数据的部分,但个人觉得在之前的文章中介绍的相对零散,不足以形成体系。

所以,我用这篇文章,从数据埋点和日常数据分析两个层面,给大家介绍了下数据分析工作中要关注的内容和一些方法论:



  • 埋点、事件、参数的基本知识,并在埋点工作中,要关注需求合理性,做好上线前的测试、文档管理和事件同步;

  • 在数据分析中,要关注产品核心数据,建立告警机制,并从每日的数据观察中,培养除自己的数据感;若数据异常时,可从核实异常、宏观、中观、微观这四步入手,对异常数据进行定位和分析。



推荐阅读
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 如何撰写PHP电商项目的实战经验? ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 公司计划部署邮件服务器,考虑到已有域名,决定自行搭建内部邮件服务器。经过综合考量,最终选择在Linux环境中进行搭建,并记录了相关配置和实践过程。本文将详细介绍Postfix的基本设置步骤和实践经验,帮助读者快速掌握邮件服务器的搭建方法。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 利用 Python 实现 Facebook 账号登录功能 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
author-avatar
果儿2702937807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有