如今,人们的消费方式已经少不了一样东西,那就是网购。据艾瑞统计数据显示,2013年中国电子商务市场交易规模9.9万亿元,同比增长21.3%,预计2014年后未来几年增速放缓,2017年电子商务市场规模将达21.6万亿元。
在如此激烈而又庞大的市场中,电商们迫切想知道的想必就是用户需求。当这个用户登陆网站的瞬间,就能猜出来这个用户今天为何而来,然后从电商的商品库里面把合适的商品找出来并推荐给他,进而展现出符合客户需求的产品都有哪几款。这种服务是消费者想要的,但是谁能帮助电商们做到呢?
坐在百分点北京总部的运营副总裁韩志勇先生给了我答案,这就是百分点公司的核心产品推荐引擎所做到的。起初记者对这个答案深有疑惑,数据的准确性是最先怀疑的,因为基于以往的购物经验中,并不乏买鞋给推荐帽子的事情发生过。百分点是如何获取高质量的数据,如何对这样的数据进行快速处理,获得实时分析的呢?疑惑也伴随着对于百分点错误的认识中获得解决。
一错 百分点获取的数据并非一家电商企业而是千家
百分点作为一家大数据初创公司,成立于2009年,那时候大数据的概念在中国还未发展起来。但是数据的价值,是创业者苏萌所认识到的,他也就是如今百分点科技公司的董事长。在互联网的生态圈里面,一切都是数据化,通过挖掘所获取的数据能够为企业带来更多商业价值。也就是基于这种想法开始做起了推荐引擎。
百分点科技公司董事长苏萌先生
但是这种引擎的准确性如何呢?火起来的电商企业似乎并没有这种数据认识,或者说基于一家的数据何谈准确性呢?数据质量,单一浏览网站中的个人偏好问题,是不可能全面的保证引擎能够推荐出最精确的产品。通过了解知道,目前百分点已经与一千家电商企业签约合作,如果一家的数据不准确,那么一千家绝对在一定程度上减少了错误比率。
同时丰富的数据资源更有助于行业间的交叉互用。比如苏萌讲到的例子,百分点曾遇到一家金融公司,给网站做全网的用户画像。它可以查到浏览该网站的用户都看了什么样的股票,什么样的理财产品,同时还能追踪到该用户之前所应用的黄金、期权类网站,进而推算这个用户在全网的消费能力如何,是高价值客户还是低价值客户。
如此这样,数据似乎也有些恐怖,让消费无隐私,或许是每个网民的担忧。对于数据安全问题,韩志勇谈到安全对百分点来说是个先决条件。百分点通过匿名的方式采集数据。所以一个客户的名字只是一个代码而已,甚至不知道这个人物理的性别是男还是女。同时百分点内部数据的分层架构,也保证原始数据的绝对安全。
二错 百分点实时提供消费者数据而并非在第二次浏览中
千家的电商合作企业,也就是千家的数据。这意味着数据量可以用三个字来表示,那就是大数据。大数据可不只是数据量大,还有数据分析。这用在百分点自身业务上,更具有特殊的挑战意义。需要将千家可能是跨行业跨领域的数据融合,在毫秒级的实时响应时间内,做到用户无肉眼感知。
实现这些的百分点该是怎么样的一个大数据平台呢?它所构建的大数据处理平台包含了数据存储和数据处理两个层次。底层的基础架构自然少不了hadoop,但它也只是其中的一个组件,这包括分布式文件系统(Hadoop HDFS)、分布式SQL数据库(MySQL)、分布式NoSQL数据库(Redis、MongoDB、HBase)、分布式消息队列(Apache Kafka)、分布式搜索引擎(Apache Solr)以及必不可少的Apache Zookeeper。
数据处理层由四个部分组成。其中Web应用云包含了所有直接面对用户的Web服务,每个Web应用都会产生Web日志以及其他实时数据,这些数据一方面会及时交由实时计算框架进行处理,另一方面也会定期同步至离线计算框架;实时计算框架会处理接收到的实时数据,并将处理结果输出到数据查询框架或者离线计算框架;离线计算框架则定期对数据进行处理,并将处理结果输出至数据查询框架;数据查询框架提供了一系列应用接口供程序调取需要的各项数据,同时提供了一些Web工具帮助业务人员对海量数据进行统计、汇总和分析。
尤其是百分点引以为豪的实时计算,关于这一部分的组件架构和数据流如上图。数据采集服务会将收集到的实时数据推送到消息队列Kafka中;Kafka中的数据会被两个处理平台BDM CEP(Big Data Management Complex Event Processing)和Storm消费并处理。其中Storm是百分点在2013年中开始运用,它是当下比较流行的开源流处理框架,主要负责数据的清洗、统计和分析,而在这之前,百分点所有的实时计算都是基于BDM CEP进行的。
也就是基于这样的架构,当我们在浏览网站时,才能获得肉眼无感知的性能。据悉,目前对于一些知名的电商网站来说,所采用的用户偏好计算只能在隔天获取,对于讲求高效性的网络时代,无形中流失的客户可想而知。