产品实时数据的价值与意义

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

将对产品实时数据做介绍,实时数据适用的场景以及存在的负面因素。在设计产品时,合理的运用“实时数据”,会为我们的产品带来更多的价值。

产品实时数据的价值与意义

我们先来看下“百度统计”中,如果以数据时效性来划分字段的话,会得到什么结果?

通过对demo的体验,从时间维度上看,可以发现“应用概况”中字段有一些的区别。

例如昨日启动用户数、昨日点击次数等字段展示的数据,是昨日甚至昨日更早之前的数据进行一个统计。

而今日启动用户数、今日启动次数等,是对截止到当前的一个数据统计,从图片右上角可以发现当前时间16:44,折线图展示的是16:00-16:59的数据。因此这部分数据就是我们讨论的产品中的实时数据。

产品实时数据的价值与意义

百度统计-应用概况演示demo

01 什么是实时数据

为什么在百度统计的案例中,我们说“今日启动用户数”是“实时数据”,而“昨日启动用户数”不是呢?

当我们在16:44打开百度统计时,“昨日启动用户数”和“今日启动用户数”是怎么得到的?让我们来一起看下这两个字段数据的产生过程。

  • “昨日启动用户数”是我们在当前时间段请求服务器呈现出来的数据,事实上数据已经在数据库的表中存在,是事先在一定的时间节点由服务器统计计算的(例如每晚24:00开始计算前一日的数据)
  • 而“今日启动用户数”是在16:44请求服务器计算出来今日0:00-16:44启动的用户数量和,这个数据是立即计算的,不同时间段登陆看到的数据是不一样的

由此我们可以发现,实时数据是当下计算的,是指某事发生、发展过程中的同一时间中所得信息的载体,即表达了最新的情况,是当下情况在数据层面的一个反应。实时数据适用于对数据时效性要求很高的场景:

  1. 用户行为依赖于当下数据的直接反馈,在金融市场特别常见,例如软件的交易行情,场内etf的买卖,银行的汇率兑换。用户“买入”还是“卖出”的行为,需要根据当下最新的价格进行决策
  2. 日常生活中数据监控和预警,实时数据也常常被用于预警,因为预警所对应的事件具有一定的危险性和破坏性,不允许数据出现滞后性,例如化学罐区,化学品的实时温度预警
  3. 特定日期比如重大节日或者日期对业务数据的跟踪,例如双十一商家数据大屏销售额跟踪

02 实时数据存在的负面因素

实时数据可以获得当下最真实情况的反应,对反应当下情况有重大意义,那么为什么我们不把所有的数据的统计都做到和当前时间同步呢,因为实时数据也存在一些负面因素,主要是以下3个原因:

  1. 实时数据对服务器的计算压力更大,成本更高。其一,实时数据需要每次根据当前时间段来计算数据,假如有100个用户分不同的时间段访问我们的产品,实时数据就需要我们计算100次;其二,实时数据要求计算返回结果快,因为是当下情况的反应,实时数据如果出现延时现象会给用户带来负面情绪,而要求快速计算出结果,一旦数据量增加,就需要我们配置更多的服务器和机器,增加了成本
  2. 大部分字段统计实时数据的必要性低,除了一些特殊场景,例如实时交易,异常预警监控等。我们对绝大多数字段的更新要求没有到达实时(秒级/毫秒级)的必要性,例如“销售额”这一字段,对于用户来说,并没有必要了解到秒级变化的销售额
  3. 一些字段的实时统计没有意义。例如在电商交易中,“询单转化率”字段的实时统计就没有意义,因为客户和客服的询单过程是一个时间段过程,存在跨小时跨天的可能,统计实时询单转化率就没有意义了

03 实时数据的延时性

从实时数据的负面因素1中,我们可以分析出当数据量过大,而软硬件配置更不上时,实时数据会出现一个延时现象,延时性会给用户带来负面情绪和一定的损失。

例如小明对在港股上市的公司A进行投资,但是因为软件所展示的行情数据是延时15分钟的,那么会让小明无法得知最新的波动情况做出买卖决策。

对于实时数据的延时性问题,我们有什么解决办法呢?

  1. 从根本上来说,增加足够的服务器和机器配置,就能解决实时数据的延时性问题
  2. 但是每个项目的成本并不是无限的,现实生活中往往会存在成本限制的问题,这就需要我们对统计字段和用户进行取舍,例如设置用户白名单,在有限的资源下优先保证核心用户的实时数据更新;配置统计字段优先级,优先保证关键字段的更新
  3. 同时也可以在产品的用户层面做一些对于用户的友好提示、说明,降低用户的负面情绪

实时数据的延时性这一特征也不只是有负面影响的,合理运用实时数据的延时性,能为我们产品带来积极正面的影响,甚至减少成本。

例如上文中的案例有100个用户分不同的时间段访问我们的产品查询销售额字段,那么我们就需要计算100次,如果考虑“销售额”实时性数据的必要性较弱,适当的延时是能够被用户所接受的,我们就可以这样处理。

在数据库中每隔15分钟计算一次“销售额”,每次用户登陆的时候展示距离当前时间最近的“那个15分钟记录的数据”
之前方案100个用户的成本:服务器计算100次
替换方案100个用户的成本:1小时需要记录4次,24小时需要记录96次
随着用户规模的扩大,计算的次数远小于之前方案计算的次数

上述方案就叫做“定时计算”,通过一定的更新频次和一定的更新时间间隔,通过多次更新来实现数据的相对实时,即让用户从感官上觉得数据的实时性也不错,是对实时数据延时性特征的正面运用

04 总结

简单对实时数据做一个总结:

  • 定义: 通过一个缩短更新的时间间隔,增加更新的频次,在一个时间段内多次更新,来实现数据的实时展示
  • 表达意义: 实时数据表达了最新的情况,是当下或者靠近当下的情况在数据层面的反应
  • 适用场景: 适用于对数据时效性要求很高的场景,包括用户行为需要当下数据的直接反馈(例如:金融市场买卖交易);关键数据和节点的监控(例如:日常一些关键业务指标跟踪和预警);重大活动或节日的数据跟踪(例如:双十一商家数据大屏销售情况跟踪)
  • 意义: 帮助商家或用户,比较及时的了解相关指标最新的一个变化情况,为用户行为提供数据支持
  • 存在缺陷: 获取成本相关较高;当因接口等原因导致数据无法及时更新时,会给用户带来实时数据更新慢更新不及时等感觉,导致用户体验较差,引发用户不好的情绪

通过本文的分析,对实时数据有了一个简单的了解,知道其适用的场景以及存在的负面因素。在设计产品时,合理的运用“实时数据”,会为我们的产品带来更多的价值。

本文由 @晌午 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

随意打赏

提交建议
微信扫一扫,分享给好友吧。