今天来侃侃数据沙漏。
首先,说到数据沙漏,就不得不提一下埋点。埋点是个啥?埋点就是埋在程序中进行数据上报的点,比如说你需要一个按钮的点击数,那你就设置按钮每被点击一次,点击数就加一,伪代码大概是这样:
int 点击数 = 0;
while(用户点击按钮):
点击数+1;
那数据沙漏是啥?数据沙漏就是将一个特定的过程,分解成几个步骤,在每个步骤上进行埋点,最后根据埋点数值来进行分析的方法(一般是看转化率和流失率)。比如你发现新用户流失率较高,从用户进入注册页面到注册成功只有20%的转化率,你想分析原因并找到提升点,就可以使用数据沙漏来缩小问题范围。
首先我们将过程分解,大概如下:
注册页面弹出 ->用户输入信息 ->用户点击注册 ->用户注册成功
在每个步骤都设置一个埋点进行数据上报,假设页面弹出数是100,输入信息为60,用户点击注册为50,用户注册成功为40,那么用户的注册成功率为40/100=40%。
其中弹出到输入流失了(60-100)/100=40%,是主要的流失点,那么就可以针对此进行分析了。是不是注册引导词不合适?还是注册所需信息太多用户懒得填写?还是跳转到该页面的用户其实并没有注册的意愿只是被按头进来的?等等等等。
当然这只是个案例,有了大概的理解后,我们来看下一个例子。
数据沙漏不仅可以用于分析用户的获取留存,也可用于分析程序的运作情况,比如这个例子就是分析资源生效率的。啥是资源生效率嘞?就是你在一个平台投放了一个广告,你想知道这个广告成功展示的概率,就用展示成功次数/总展示次数,得出来的值就是资源生效率。
但话虽这么说,怎样算是展示成功?怎样算是总展示次数呢?相信聪明如你一定想到了:广告图片成功加载次数就算展示成功,广告所在的页面展示次数就算总展示。
但是一张图片从被页面展示到加载成功那可是要经历很多步骤的,虽然从普通人的认知中,页面出来了图片就出来了,可对程序来说就不一样了。
当时我们的平台加载一个广告图片需要经历八个步骤:1、页面展示;2、平台向后台请求资源,获取界面框架和展示策略(此时还没有到加载素材,可以理解成平台问后台说这个地方你要怎么布置,要放哪些东西);3、平台返回信息;4、页面向广告平台请求广告资源(因为不同的位置可能放的是不同平台的广告,所以每个模