暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Firebase Analytics知多少

jasmine的数据小路 2021-03-03
2040

目录:

  • firebase包括哪些模块,详解核心Analytics模块

  • firebase Analytics指标的定义和计算

谷歌产品中文版一般都是英文直译过来,有些名词不是很利于国人理解,会在名词后面做解释,没有解释到的也欢迎大家在评论区提问

1.firebase包括哪些模块,核心Analytic模块的介绍

Firebase是一家实时后端数据库创业公司,它能帮助开发者很快的写出Web端和移动端的应用。目前firebase已经和谷歌的云服务打通,具备了比较强大的分析和计算能力

firebase一共有以下的功能:

1、Analytics:Firebase的核心功能,这是一项免费且无限制的分析解决方案。

firebase项目概览中的分析模块

上图是分析模块的十大应用:

1)dashboard 上主要展示日活,月活,使用时长,事件数,事件转化,留存率等指标;维度筛选除了系统自带的平台,数据流外,还支持所有自定义的用户属性和受众群体(受众群体是指用户自定义圈出的画像群体,如选择只购买一次的用户)的维度值筛选。因为firebase SDK采集的数据存储于Big Query中,BQ对日志数据会有7天的回溯周期(回溯,通俗的讲就是将落盘日期跟发生日期不一致的事件放回其发生日期所在分区,一般因为断网或者离线场景产生的数据会延迟上报数据),所以Firebase的数据在7天之内会有变化,7天后才会稳定不变,但由于数据是通过谷歌服务上报的,只要用户在线使用任一谷歌应用,数据便可做上报,一般2天后数据便趋于稳定;

另外,当日志数据超过50万条之后,dashbord里的数据不是100%根据BQ中的原始数据统计的,虽然firebase方没有公布其详细的计算公式,到目前为止这块数据的计算逻辑仍是个黑盒子(当然指标的定义是清晰的),但可以明确的是,dashbord大致采用抽样和近似计算的方法来计算各个指标的统计结果,如果你们同时购买了BQ的服务,可以自行跑数做对比,但两者差异不是很大,大约在千分之一量级。所以条件有限的公司不购买BQ服务也不必担忧,dashbord上的数据还是可信的。但是有一点需要注意的是,firebase的唯一用户定义可能跟国内大部分应用的定义方式不同,国内的定义常见的有两种方式,第一种是采用设备id,如采用安卓id,apple的icould id等;第二种是需要用户登录,自行注册一个账号;但firebase的用户id,是指应用实例的id,即同一个设备每下载一次apk包,那用户id就会重置,也就是说假如一个用户下载应用后卸载再重装,那么就会别识别为2个用户。如果购买了BQ服务的话,可以自行在统计时剔除卸载重装用户数的统计,在下一篇BQ相关的文章中会提到,敬请期待。

2)Realtime 实时统计,这块不是很常用,firebase的实时统计其实没有那么实时,最低颗粒度也就只到一分钟,相关的数据指标对我们业务作用不是很大。firebase SDK的数据是批次上报的,如果数据量长时间无法累计到一个batch的量,大约5min也会定时上报,这种机制不适合应用到毫秒级运算的OLTP系统中,离线统计一般也是按天计算,所以分钟级的统计其实也没太多用处。

3)Events:这里可以看到所有上报事件的名称,触发次数、触发用户数以及同比变化幅度,包括firebase自动收集的事件和用户自定义事件,一般当做日志数监控使用,如某个事件同比降低了50%,那很可能是哪里出了bug需要紧急排查修复。

4)conversions:转化;当我们使用Google Ads投放广告时,可能需要了解用户广告的点击是否促使其执行了特定操作,例如购买商品、下载应用等;当然也可以追踪一些分享活动或者链接是否带来新增用户等;谷歌采用的是最终互动模型的归因方式,即将流量来源归功于转化路径中最后一个接触点,如用户搜索引擎中搜索网站名,而后点击了cpc展示广告,那么这个流量最终会归因到cpc上(对应的也有首次互动模型的归因方式);

转化面板上数据会展示事件的流量来源,媒介,广告系列等,如,first_open事件里面,来自于search(来源)和google(媒介)的触发数一共有1000个。

这里可能需要熟悉下来源(source)媒介(media)两个概念:

来源:流量来源,常见的来源有几种:

  • 搜索引擎(search)比如 google

  • 具体的网站 ,如http://example.com

  • 直接流量(direct),这种流量一般是用户将该网址保存在书签栏中直接点击访问的

媒介:来源的常规类别

  • 自然流量(organic),用户通过搜索引擎自然搜索

  • cpc,每次点击费用付费搜索

  • 引荐(referral), 如用户点击合作方网站上的链接跳转到你的网站,那这份流量就归为从该网站引荐来的流量


其他一些广告或者邮件营销带来的流量等,一般会由广告投放岗位的同学配置,配置规则参考以下链接:https://support.google.com/analytics/answer/1191184?hl=zh-Hans

追踪链接上加utm参数来实现转化追踪的方法:https://developers.google.com/analytics/devguides/collection/android/v4/campaigns

5) Audiences:受众群体,其实就是建立某些特征的用户画像,然后基于此进行圈人,建立细分的用户群体,并针对性对其进行运营活动;这个功能跟国内很多的画像平台都很类似,基本上都是选择用户属性维度值或者触发事件满足某个条件来筛选目标用户群体,用户运营的同学应该会经常用到。

6)Funnels:漏斗,漏斗模型是数据分析中常用的一种分析方法,长链路如电商各环节的转化流程等很适合建立漏斗模型进而优化产品。建立漏斗有点类似上面的受众群体创建,举个电商相关的例子,step1,选择访问了网站的用户,step2,点击了商品详情页的用户,step3,点击了check out的用户,step4,成功付款的用户,这样就形成了一个销售转化漏斗。

7)user properties:用户属性,事件上报时的已设计好的用户属性字段(具体会在BQ的文章中一起讲),只有该模块添加了用户属性后才可以在dashbord中将其作为筛选维度查看数据。

8) Latest Release:最新的版本,纯记录。

9) Retention:留存率,默认展示新增用户的留存率,也可以通过过滤器筛选维度查细分群体的留存率,支持周留存和月留存指标。

10)DebugView:这个功能一般是测试阶段用的,下载firebase_debug_tool文件,修改信息为测试手机的gaid(即谷歌广告id,手机上在谷歌服务里面就可以看到,国内版手机一般没有),连接后可以在客户端操作相关的业务行为,同时就可以实时在debug界面上看到各上报的事件、字段和值了。


2、Firebase Cloud Messaging(FCM):FCM服务器会根据用户的token实现点对点的push消息推送,但实际使用过程中触达率较低,已被我弃用(跟pull保活机制相比)。

3、Test Lab:Firebase Test Lab for Android 提供了基于云的基础结构,用于测试 Android 应用。具体操作也很简单,跟国内AB测试平台切流量的配置一样,但没有可以选择置信区间的选项,估计默认都是95%的置信度了。

firebase在分配AB组流量的时候,即使用户不满足分组条件,firebase也会将其计入样本中,以使得最终的流量切分更加均衡;举个例子:你的测试必须要3.0版本的用户,将流量切割为50%:50%的AB两组,那firebase会将客户端每个版本号的用户都会进行随机分组,样本量足够大的前提下3.0版本的AB分组会更加均衡,实验结果也会更可靠。此外,firebase的ip域可能跟我们内部的不一致,在配置实验的时候,可能只选了国家A,但分组用户中会有少量其他国家的用户数据。

以下模块没用过,仅列举,各位想了解可自行谷歌
4、Realtime Database
5、Storage
6、Hosting
7、Remote Config
9、Crash Reporting
10、Notifications
11、App Indexing
12、Dynamic Links
13、Invites
14、AdWords
15、AdMob
16、Authentication

2.firebase Analytic dashbord上的指标计算

firebase自动收集的事件:当然有些描述不够中国话,理解起来会有点费劲,谷歌说明文档链接:https://support.google.com/firebase/answer/9234069?hl=zh-Hans&visit_id=637495906403962093-1233841032&rd=1

但dashbord上的数据指标怎么计算得来就需要费一番功夫研究了,下面就归纳一下几个主要的事件和其对应的指标计算公式:


事件名称定义说明指标计算公式
app_remove当应用包从 Android 设备上移除(卸载)时触发
1.卸载用户数;
2.卸载次数;
3.卸载率
1.事件不重复的用户数

2.事件发生次数

3.卸载用户数/活跃用户数

app_update当应用更新到新版本并再次启动时触发新版本一定是比旧版本的版本数大1.升级用户数(可统计升级前后版本)1.事件不重复的用户数
first_open当用户在安装或重新安装应用后首次启动该应用时触发可根据字段previous_first_open_count(在本次安装前的卸载次数,值为0则是首次安装)来区分是首次安装还是第几次卸载后安装1.新增用户数1.事件不重复的用户数
screen_view即启动,退出,切换页面等页面切换时触发engagement_time_msec,在该页面的停留时长,单位ms1.页面停留时长
2.pv,uv
1.统计页面的engagement_time_msec值之和
2.对应页面的事件发生次数和人数
session_start当用户与应用或网站互动时触发firebase默认会话过期时间为30分钟,但可以调整,一般app端过期时间可设置为30s-5min不等,网站端一般就默认过期时间是30min1.人均访问次数1.事件的同session_id数/用户数
user_engagement当应用在前台运行时定期触发即用户从启动app开始,每隔差不多7-15秒,不定期触发,退出时一定会触发;engagement_time_msec,本次事件触发距离上一次该事件触发的时间间隔1.使用时长
2.活跃用户数
3.留存率
1.统计事件的engagement_time_msec值之和
2.该事件的不重复用户数
3.新增用户中第n天的活跃用户数占比



文章转载自jasmine的数据小路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论