从开发的视角看App运营数据

离上次写blog过去了两月有余,期间经历了春节休假,同时也把blog荒废了不少,觉得是时候收拾心情,继续记录一些成长的内容了。

数据是一个神奇的东西,目前手Q内部各个业务、功能都充斥着数据监控,数据对于产品的重要性是不言而喻的。例如各种UV、PV以及用户画像、转化率。这些都是对产品决策非常重要的数据,例如一个页面上有很多按钮,有些按钮由于设计得不合理,可能很少有用户点击。如果有了数据上报监控,就很容易发现这其中的问题。

但今天要讨论的是作为开发人员,其实也是非常关注产品的运营数据的,这与产品经理关注的点有点不一样,开发更多地应该是关注每条网络请求的成功率与失败率。一些特定功能的耗时,以及页面FPS的统计与分析。

其实开发做这些统计的话,主要还是为了后面做优化做准备,如果我们发现某个列表的FPS平均在50以下,那么我们就要想办法去提升FPS.同时我们也可以尽量把维度分得更细一点,例如iPhone4S的FPS是多少,iPhone6S是多少等等。
同时这些数据上的变化也可以作为代码优化的一个佐证。

一个有趣的案例:

为了减少浏览图片时的等待时间,我们提出了预加载的策略,例如在展示第一张图片的时候,就开始去加载前后两张的图片,这样当用户滚动查看下一张图片的时候,大图就已经加载好了。但同时又会出现另一个问题,那就是用户的流量问题。
为此,我们可以尝试去跟踪和记录用户的操作习惯,例如用户在3G或者4G时,平均查看几张图,来私人定制预加载的张数,对于一些不怎么查看大图的用户,就少用预加载。这样体验反而会更好。

数据安全问题:

以前在做企业应用的时候,老板总是强调用户的数据安全,不要把用户的数据上报到一些外网环境,甚至之前网上还有用户投诉腾讯说,腾讯偷偷在后台监控他们的隐私,例如聊天记录。
这里我们从一个开发的角度来讲,其它我们真不会去监控这些内容,也不会去暴露用户的隐私,我们的所有数据都是基于大盘,从全局去看问题的。记录的仅仅只是一些操作体验的问题,至于细分到某个特定的用户,我们真没有时间和精力去关注。

数据上报:

我看市面上有很多开放的统计平台,例如Flurry,google分析、友盟等。如果产品的一些指标数据比较机密的话,可以上报到内部的统计平台。
上报的内容除了Event名称,Event Value外,应该还包含一些能用的字段,例如时间、机型、网络环境,如果可以的话,也可以加入地区,这样可以方便后续做一些问题的定位和跟踪。
同时,我们需要一个灵活的查看平台,必要的话,可能需要自己写SQL语句进行查询,如果上报数据量过大,像手Q这样大的数据上报,我们也可以采取抽样上报。

数据监控:

例如我们发现某个页面的失败率突然上升,或者访问用户数据突然降低,那么我们就可以断定我们的后台服务或者网络状况是存在某些问题的,然而事实往往没有那么简单,通常出现问题的时间往往只是在某几个小时之内,后面可能又恢复正常了,又或者问题只出现在某些特定的地理区域。

所以一个好的实时监控平台有时候也会显得非常重要。

其它手段:

例如通过用户反馈投诉的关键字提取,也可以发现一些问题所在,例如突然某个问题被大量投诉,说明这一块肯定是有问题了。

数据查看:

在查看数据时,我们尽量做到可视化,或者报表表格化。这样有助于数据的直观展示。对于不同的数据内容采取不同的查看方式,效果会更好。
另外形成一个定期ReView的机制,让这项事情形成一个习惯,这里的频率不宜过高,毕竟效率是第一位的,如果我们花大量时间才能得出数据,或者找出问题,这样反而是不合适的。

最后,也推荐大家看下数据的秘密

2016-03-30 17:0480