写点什么

40 亿移动设备的用户画像和标签架构实践

  • 2016-11-13
  • 本文字数:5113 字

    阅读完需:约 17 分钟

大家好,我是来自 TalkingData 的王鹏,很高兴在这里和大家一起探讨大数据的应用。

说起大数据的应用可能很多朋友们脑子里边第一映像就是画像,我想从以下几个方面跟大家聊聊画像相关的事情:1、什么是画像;2、画像的用处;3、如何进行用户画像;4 画像应用中的难点。

什么是画像呢?可能大家看到过一些外文资料或者演讲中出现过 profile 一词,其实和画像是一个概念,都是从不同的维度来表达一个人,这些维度可以是事实的,可以是抽象的;可以是自然属性,比如性别、年龄;可以是社会属性,比如职业、社交特征;可以是财富状况,比如是否高收入人群,是否有固定资产;可以是家庭情况,比如是否已经结婚,是否有孩子;可以是购物习惯,比如喜欢网购还是喜欢逛商场;可以是位置特征,比如在哪个城市生活;可以是其他行为习惯。总之,所有大家能想到的描述一个人的特征的都可以算作是画像的范畴,画像其实就是想方设法用数据来描述人的特征

画像有什么用处呢?大家之所以要进行用户画像,就是为了解决业务问题,或者为了拓展一个新用户,或者为了获得一个新订单。想要获得新用户,首先必须知道自己产品定位的用户画像(也就是用户长什么样子,有什么行为特征),而很多产品设计的时候可能由于定位不清晰,对用户的了解不够,导致最后产品上线后效果与预期大相径庭。

这里举一个例子,A 银行的电子支付团队计划与 Uber 公司合作,在春节后以短信推送优惠劵的方式进行营销,选择了多类人群进行投放,其中有“有打车需求且有车”和“有打车需求且无车”两类人群,本以为“有需求且无车”人群的广告触达的营销效果会更好,结果却完全相反,“有需求且有车”人群的广告触达的比例反而最高。这可能映射出无论是开车还是打车,习惯了车反而离不开车。用数据来画像正是帮助企业了解用户和定位产品的最直接的方法。

综上我们可以看到要向更好的解决业务问题,首先必须明确业务目标,而用户画像是帮助企业明确目标客群的重要手段之一。当企业了解了自己的用户都长什么样子以后,接下来的任务就是如何将有类似画像特征人群的潜在用户变成自己的用户,也就是在营销上获新客的过程。所以,从大的框架来看,用户画像承载了两个业务目标:一是如何准确的了解现有用户;二是如何在茫茫人海中通过广告营销获取类似画像特征的新用户。

如果仔细琢磨这两个目标,其实在根源上逻辑是有些相悖的。了解现有用户的画像,需要的是少量、画像特征覆盖度全面的无倾斜的精准样本,这样能更精确的定位产品的用户。而通过画像结果做广告营销获取新用户,在一定程度上需要的是大量的相似样本。量的大小和精准度的不同决定了后续画像模型在应用设计中的不同。

提到用户画像就不得不提到一个词“标签”。标签是表达人的基本属性、行为倾向、兴趣偏好等某一个维度的数据标识,它是一种相关性很强的关键字,可以简洁的描述和分类人群。标签的定义来源于业务目标,基于不同的行业,不同的应用场景,同样的标签名称可能代表了不同的含义,也决定了不同的模型设计和数据处理方式。

举个例子,如果一款卖男装的 app 想在近期做营销,只筛选“男性”和“网络购物”这两个标签进行投放,可能效果并不一定理想。因为“性别(男 / 女)”可能有多种维度,真实性别男女是一种维度,网络购物特征男女是一种维度,性取向男女可能又是另外一种维度。因为网络的发展,你甚至都不知道网络的另一端是不是一个人,更何况是男女呢。想要正确的设计标签模型和计算处理数据,必须了解画像标签应用的场景和目标。

接下来如何进行用户画像呢?这完全取决于业务目标(需要什么样的画像标签)和有什么样的原材料(有什么类型的数据源),基于这两样才能确定使用什么样的模型设计和数据计算处理方式。就像做菜一样,要做一顿美味的晚餐,必须知道客户是想吃中餐还是西餐,配菜都有哪些鱼蛋肉和蔬菜,然后才能确定牛肉是红烧还是煎炸。

仍然以性别(男 / 女)为例,尝试演绎一下刚才的三个场景。

如果业务是征信场景,想知道的是这个人的真实性别(男 / 女),在没有全量真实数据的前提下可以采取如下的方法来处理,可以选取少量真实样本,使用这些真实样本追加一些特征因子,使用 lookalike 算法进行样本扩展,将该少数样本特征扩展到大量或者全量数据。当然,这些数据的准确度取决于样本的均衡程度和算法的质量。

如果业务是网络购物的电商场景,我们先不尝试判断真实购买男装的是否是男性(很多已婚人士是妻子负责网购丈夫的装备),仅仅考虑将来该网络账户实体是否会购买男装的角度考虑,需要的是“男装购买倾向”的标签,可以直接基于所有账户实体以往购买记录来计算处理该标签。

如果是业务场景是 blued(一款同志交友 app)定义的男性又是另外一个特殊群体,基于客户想拓展新客,这里定义的特殊男性群体或许可以定义为“男性同志”标签,而实现该标签可以考虑通过安装了类似同志交友的 app 人群或者以同志人群经常出现的聚集地进行计算处理。

所以说针对不同的行业,不同的应用场景,需要使用不同的数据源进行不同的标签设计和计算。

说起标签,可能每个行业有每个行业的标签体系,各个公司基于自己的数据源和特征不同也设立了不同的标签体系。我认为这些标签都可以归纳为以下几个方面。

  1. 人口属性:包含性别、年龄等人的基本特征
  2. 资产情况:车辆、房产、收入等资产特征
  3. 兴趣特征:阅读资讯、运动健康等兴趣偏好
  4. 消费特征:网上 / 线下消费类别品牌等特征
  5. 位置特征:常驻城市、职住距离等
  6. 设备属性:所使用终端的特性等

要支持以上这些标签的设计和计算,需要多种维度的数据源,从产生维度来看:可以包含 PC 端的数据、移动终端的数据、线下的数据;从数据拥有者来看:可以包含一方客户自己的数据、外部官方渠道的数据、市场采集的数据;从数据类型来看:有社交数据、交易数据、位置数据、运营商数据等。

使用这些不同源的数据,我们如何计算处理业务需要的标签呢?一般都会经过如下几步:

  1. 数据抽取:从不同数据源抽取要计算标签的数据原材料。
  2. 数据标准化:针对抽取的数据将其清洗为标准格式,将其中的错误数据和无效数据剔除。
  3. 数据打通:不同来源的数据有不同的主键和属性,如何将这些数据关联起来是数据打通的关键,比如有设备的 wifi 信息,又有设备的 poi 信息,就可以通过 wifi 将设备终端和 POI 建立起关联。
  4. 模型设计:针对不同的数据内容和业务目标设计不同的规则和算法进行模型的构建,并使用小样本数据来验证模型的可靠性。
  5. 标签计算:在模型可靠性验证的基础上,部署生产运营环境来进行标签计算。

一般标签计算无外乎以上过程,以“大学生”标签为例,假如我们需要针对移动终端人群设计一个大学生标签,而我们并没有每个大学生的入学信息和证件信息,我们该如何操作呢。首先进行业务分析,发现大学生的行为特征,一般大学生都会在大学校园内活动比较多,我们可以将全国 2000 多所高校的位置找到,根据移动终端设备的位置信息来筛选“大学生”人群;另外大学生可能还会使用一些特殊的 app 比如考研类、四六级、超级课程表等这些特殊 app,我们可以通过 app 进行“大学生”人群的筛选。

如果不用算法,就只用规则,我们想找精确的“大学生”人群,可以将位置和 app 行为两个特征叠加使用;如果我们想要扩展样本进行大规模广告投放,可以考虑含有位置、app 行为任意一个特征的人群,同时还可以通过算法进行 lookalike 的扩展样本学习。

注:以上表达的都是数据和标签处理的逻辑过程,实际业务中的数据处理要视具体情况而定。

最后说一说用户画像和标签设计 / 计算中的一些难点

1. 如何定义画像主体?也可以理解为如何唯一标识一个实体?

可以理解真实世界每个人都是一个实体,但是虚拟世界他可能就变身为多个,比如人可能有一个身份 ID,但是可能有多个手机,就对应了多个手机号,多个设备终端 ID,那就对应多个移动终端的使用行为;这多个终端 ID 分别代表了这个实体的不同特征,只有将这个实体拼接起来才能代表完整的画像。一个人可能有多个 qq 号,如果从 qq 行为的角度分析,同样的逻辑。这是终端实体多对一的体现。

反过来也会有一对多的情况,比如就一个家庭用的 ipad,孩子用 ipad 来玩游戏,父亲用 ipad 来查收邮件,母亲用 ipad 来购物,这一个 ipad 代表了多个实体的行为特征,并且无法分拆。所以要想唯一完整的定义一个实体其实很难。所以在业务领域中追求标签的完整性有时候是一个很难达到的目标,反过来应该更多的关注标签的代表性,无论是一对多还是多对一,只要能通过标签筛选出来想寻找的受众群体就可以,即便是家庭公用的 ipad,有游戏标签也表明了家庭中有成员有该方面的兴趣偏好。

2. 如何打通不同源的数据?

pc 端的行为信息、移动终端的行为信息和 TV 端的行为信息,如何将这些信息关联起来?核心问题在于如何将这些终端的唯一标识 ID 打通。TalkingData 的数据体系已经建立了以 TDID 为核心 ID 的关联图谱,TalkingData 的 IDmapping 能力已经实现了跨设备 ID 的关联映射。所以要解决不同源 ID 的打通只要接入一家类似 TalkingData 的数据即可。

感谢大家能如此长时间的听我唠叨,希望这些信息对您的工作能有所帮助。

大家都刚刚跨入大数据的门槛,大数据在各个领域的应用任重而道远,希望同行多多切磋学习,一起前行。

答疑部分

Q1:画像的时候常用的算法有哪些,比如什么类型的标签适合什么类型的算法?怎么评估画像画的好坏?

王鹏:我们除了用常规的算法以外,还有自研的开源算法系统 fregata,基于 spark,支持 10 亿样本 1 亿维度的超大规模运算,无需调参,超高速度。

(点击放大图像)

评估画像的好坏:1、小样本的真实验证;2,在实际的 case 中迭代验证

Q2:画像的标签体系一般怎么设计,还有你们的标签体系如何存储?更便于不同画像标签之间的追溯?

王鹏:画像的体系一般参考你们公司的业务体系来设计。标签的存储也取决于你的服务应用场景:我们的存储有多种:hdfs、vertica、hbase。标签的追溯属于另外一个问题,取决于你的标签的生命周期,有的标签就是最新的,有的标签就是每周每月加工的,有的标签是有时间衰减迭代的。

Q3:标签的确定一般是怎样的?是人工打标签,想业务场景,还是通过自动的算法跑出来?TalkingData 目前又是如何实现的呢?

王鹏:标签的确定,一般是先人工筛选小样本规则,进行验证,规则合理后,在通过算法扩展。

人工和自动是结合的,取决于该标签的具体场景、字典数据的使用、主数据的量等各种因素。

TD 的标签也是结合这二者一起完成的。

Q4:计算标签的具体流程是怎样的 效果如何评估 谢谢 ?

王鹏:计算标签的具体流程我在刚才讲的过程中已经说过了,这里可以再贴一下:

  1. 数据抽取:从不同数据源抽取要计算标签的数据原材料。
  2. 数据标准化:针对抽取的数据将其清洗为标准格式,将其中的错误数据和无效数据剔除。
  3. 数据打通:不同来源的数据有不同的主键和属性,如何将这些数据关联起来是数据打通的关键,比如有设备的 wifi 信息,又有设备的 poi 信息,就可以通过 wifi 将设备终端和 POI 建立起关联。
  4. 模型设计:针对不同的数据内容和业务目标设计不同的规则和算法进行模型的构建,并使用小样本数据来验证模型的可靠性。
  5. 标签计算:在模型可靠性验证的基础上,部署生产运营环境来进行标签计算

效果评估除了刚才说的真实 case 验证以外,还可以考虑外部标签的交叉验证,自有标签的交叉验证,比如:有“已婚”标签的,不可能是“18 岁以下”人群;“已婚”标签的“大学生”人群也应该极少;“大学生”标签的人群“有车”标签的也应该很少。

Q5:在做用户画像时如何解决数据准确性不足的问题,毕竟非 BAT 公司太多,很多数据都不完善,或者说没有准确数据。

王鹏:说到这个问题,谈谈我对大数据的看法:我理解大数据本身不存在所谓的正确性,大数据是用来验证人的先验知识 / 经验的一种工具,这个里边应该考虑的不止是准确性的问题,而是如何能更好的提高你认为的准确率的问题,大数据由于体量大,需要的是数量、时间等多维的迭代,维度的扩展。

讲师介绍

王鹏,TalkingData 数据产品总监 & 数据负责人,负责公司数据架构设计及质量管理,自有数据及第三方数据的收集、处理、加工全过程管理,数据标签和数据市场等产品的管理工作。曾任四维图新数据中心品保部经理、阿里 - 高德地图数据产品事业部数据产品总监等职位。在数据领域有深厚的积淀,对数据应用和数据管理有深刻的见解。

延伸阅读

TalkingData:对移动用户人口属性进行预测,吸引近两千支队伍参加的Kaggle 竞赛作品解析

TalkingData:不空谈 AI 概念,看看大数据孕育智能奇迹如何突破技术上的两大挑战


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-13 16:5216836

评论

发布
暂无评论
发现更多内容

.net5发布,.NET会就此“支棱起来”吗?

Philips

.net 敏捷开发 .net core

BitArray虽好,但请不要滥用,一次线上内存暴增排查

AI乔治

Java 架构 JVM 内存泄露

性能优化:线程资源回收

AI乔治

Java 架构 JVM 性能调优

LeetCode题解:17. 电话号码的字母组合,回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

美妆行业:低代码全域客户数据采集,赋能数据化运营

Linkflow

营销数字化 客户数据平台 CDP

很简单却能让你面试头疼得Java容器,这里从源码给你解释清楚

小Q

Java 学习 源码 容器 面试

架构师训练营 -week10-作业

大刘

极客大学架构师训练营

区块链版权应用开发,区块链助力版权保护

13530558032

服务器选择要注意什么?

德胜网络-阳

Linux笔记(一):基本命令

Leo

Linux 大前端 笔记

K8S CSI容器存储接口(一):介绍以及原理

silenceper

Kubernetes CSI

区块链赋能保险理赔,宁波开启“零感知理赔”试点

CECBC

区块链 保险理赔

【2020GET】即构科技蒋宁波:教育行业客户需求的核心是什么?

ZEGO即构

五年时间完成业务数字化转型,华为如今做得怎么样了?

华为云开发者联盟

效率 提升 数字化

从微服务应用于技术栈,了解华为云微服务应用

华为云开发者联盟

微服务 服务 云技术

淘宝直播技术干货:高清、低延时的实时视频直播技术解密

JackJiang

音视频 即时通讯 视频编码 直播技术

全球至少有36家央行发布了央行数字货币计划

CECBC

数字货币

K8S CSI 容器存储接口 (二):如何编写一个CSI插件

silenceper

Kubernetes Kubernetes源码 CSI

浅谈原子操作

阿里云基础软件团队

内核

当艺术品遇上区块链:金丝楠木艺术品溯源

CECBC

区块链 溯源 艺术品

Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合

比伯

Java 架构 面试 编程语言 计算机

Mybatis日志功能是如何设计的?

Java架构师迁哥

第十周 模块分解 总结

三板斧

极客大学架构师训练营

原理实践,全面讲解Logstash+Kibana+kafka

996小迁

Java 程序员 架构 面试

区块链溯源有哪些优势?区块链产品溯源系统搭建

13530558032

用FL Studio基础版制作一首完整的电音

奈奈的杂社

音乐制作 编曲 电音 电音制作 中国电音

接口测试和功能测试的区别

测试人生路

软件测试

架构师训练营 1 期 - 第十周 - 模块分解

三板斧

极客大学架构师训练营

私域流量运营03|衡量企业运营视频号的4个关键指标

Linkflow

客户数据平台 客户画像 视频号

使用sonar扫描svn中的代码后,没有作者或责任人信息

lee

svn 代码质量 sonar

谁说产品经理和程序员之间不能和平共处?

华为云开发者联盟

DevOps 产品经理 用户地图

40亿移动设备的用户画像和标签架构实践_架构_王鹏_InfoQ精选文章