40亿移动设备的用户画像和标签架构实践
本文是10月27日大数据杂谈群分享的内容。
关注“大数据杂谈”公众号,点击“加群学习”,更多大牛一手技术分享等着你。
大家好,我是来自TalkingData的王鹏,很高兴在这里和大家一起探讨大数据的应用。
说起大数据的应用可能很多朋友们脑子里边第一映像就是画像,我想从以下几个方面跟大家聊聊画像相关的事情:1、什么是画像;2、画像的用处;3、如何进行用户画像;4画像应用中的难点。
什么是画像呢?可能大家看到过一些外文资料或者演讲中出现过profile一词,其实和画像是一个概念,都是从不同的维度来表达一个人,这些维度可以是事实的,可以是抽象的;可以是自然属性,比如性别、年龄;可以是社会属性,比如职业、社交特征;可以是财富状况,比如是否高收入人群,是否有固定资产;可以是家庭情况,比如是否已经结婚,是否有孩子;可以是购物习惯,比如喜欢网购还是喜欢逛商场;可以是位置特征,比如在哪个城市生活;可以是其他行为习惯。总之,所有大家能想到的描述一个人的特征的都可以算作是画像的范畴,画像其实就是想方设法用数据来描述人的特征。
画像有什么用处呢?大家之所以要进行用户画像,就是为了解决业务问题,或者为了拓展一个新用户,或者为了获得一个新订单。想要获得新用户,首先必须知道自己产品定位的用户画像(也就是用户长什么样子,有什么行为特征),而很多产品设计的时候可能由于定位不清晰,对用户的了解不够,导致最后产品上线后效果与预期大相径庭。
这里举一个例子,A银行的电子支付团队计划与Uber公司合作,在春节后以短信推送优惠劵的方式进行营销,选择了多类人群进行投放,其中有“有打车需求且有车”和“有打车需求且无车”两类人群,本以为“有需求且无车”人群的广告触达的营销效果会更好,结果却完全相反,“有需求且有车”人群的广告触达的比例反而最高。这可能映射出无论是开车还是打车,习惯了车反而离不开车。用数据来画像正是帮助企业了解用户和定位产品的最直接的方法。
综上我们可以看到要向更好的解决业务问题,首先必须明确业务目标,而用户画像是帮助企业明确目标客群的重要手段之一。当企业了解了自己的用户都长什么样子以后,接下来的任务就是如何将有类似画像特征人群的潜在用户变成自己的用户,也就是在营销上获新客的过程。所以,从大的框架来看,用户画像承载了两个业务目标:一是如何准确的了解现有用户;二是如何在茫茫人海中通过广告营销获取类似画像特征的新用户。
如果仔细琢磨这两个目标,其实在根源上逻辑是有些相悖的。了解现有用户的画像,需要的是少量、画像特征覆盖度全面的无倾斜的精准样本,这样能更精确的定位产品的用户。而通过画像结果做广告营销获取新用户,在一定程度上需要的是大量的相似样本。量的大小和精准度的不同决定了后续画像模型在应用设计中的不同。
提到用户画像就不得不提到一个词“标签”。标签是表达人的基本属性、行为倾向、兴趣偏好等某一个维度的数据标识,它是一种相关性很强的关键字,可以简洁的描述和分类人群。标签的定义来源于业务目标,基于不同的行业,不同的应用场景,同样的标签名称可能代表了不同的含义,也决定了不同的模型设计和数据处理方式。
举个例子,如果一款卖男装的app想在近期做营销,只筛选“男性”和“网络购物”这两个标签进行投放,可能效果并不一定理想。因为“性别(男/女)”可能有多种维度,真实性别男女是一种维度,网络购物特征男女是一种维度,性取向男女可能又是另外一种维度。因为网络的发展,你甚至都不知道网络的另一端是不是一个人,更何况是男女呢。想要正确的设计标签模型和计算处理数据,必须了解画像标签应用的场景和目标。
接下来如何进行用户画像呢?这完全取决于业务目标(需要什么样的画像标签)和有什么样的原材料(有什么类型的数据源),基于这两样才能确定使用什么样的模型设计和数据计算处理方式。就像做菜一样,要做一顿美味的晚餐,必须知道客户是想吃中餐还是西餐,配菜都有哪些鱼蛋肉和蔬菜,然后才能确定牛肉是红烧还是煎炸。
仍然以性别(男/女)为例,尝试演绎一下刚才的三个场景。
如果业务是征信场景,想知道的是这个人的真实性别(男/女),在没有全量真实数据的前提下可以采取如下的方法来处理,可以选取少量真实样本,使用这些真实样本追加一些特征因子,使用lookalike算法进行样本扩展,将该少数样本特征扩展到大量或者全量数据。当然,这些数据的准确度取决于样本的均衡程度和算法的质量。
如果业务是网络购物的电商场景,我们先不尝试判断真实购买男装的是否是男性(很多已婚人士是妻子负责网购丈夫的装备),仅仅考虑将来该网络账户实体是否会购买男装的角度考虑,需要的是“男装购买倾向”的标签,可以直接基于所有账户实体以往购买记录来计算处理该标签。
如果是业务场景是blued(一款同志交友app)定义的男性又是另外一个特殊群体,基于客户想拓展新客,这里定义的特殊男性群体或许可以定义为“男性同志”标签,而实现该标签可以考虑通过安装了类似同志交友的app人群或者以同志人群经常出现的聚集地进行计算处理。
所以说针对不同的行业,不同的应用场景,需要使用不同的数据源进行不同的标签设计和计算。
说起标签,可能每个行业有每个行业的标签体系,各个公司基于自己的数据源和特征不同也设立了不同的标签体系。我认为这些标签都可以归纳为以下几个方面。
人口属性:包含性别、年龄等人的基本特征
资产情况:车辆、房产、收入等资产特征
兴趣特征:阅读资讯、运动健康等兴趣偏好
消费特征:网上/线下消费类别品牌等特征
位置特征:常驻城市、职住距离等
设备属性:所使用终端的特性等
要支持以上这些标签的设计和计算,需要多种维度的数据源,从产生维度来看:可以包含PC端的数据、移动终端的数据、线下的数据;从数据拥有者来看:可以包含一方客户自己的数据、外部官方渠道的数据、市场采集的数据;从数据类型来看:有社交数据、交易数据、位置数据、运营商数据等。
使用这些不同源的数据,我们如何计算处理业务需要的标签呢?一般都会经过如下几步:
数据抽取:从不同数据源抽取要计算标签的数据原材料。
数据标准化:针对抽取的数据将其清洗为标准格式,将其中的错误数据和无效数据剔除。
数据打通:不同来源的数据有不同的主键和属性,如何将这些数据关联起来是数据打通的关键,比如有设备的wifi信息,又有设备的poi信息,就可以通过wifi将设备终端和POI建立起关联。
模型设计:针对不同的数据内容和业务目标设计不同的规则和算法进行模型的构建,并使用小样本数据来验证模型的可靠性。
标签计算:在模型可靠性验证的基础上,部署生产运营环境来进行标签计算。
一般标签计算无外乎以上过程,以“大学生”标签为例,假如我们需要针对移动终端人群设计一个大学生标签,而我们并没有每个大学生的入学信息和证件信息,我们该如何操作呢。首先进行业务分析,发现大学生的行为特征,一般大学生都会在大学校园内活动比较多,我们可以将全国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概念,看看大数据孕育智能奇迹如何突破技术上的两大挑战
下期预告
胡时伟 第四范式联合创始人,研发副总裁
在大规模机器学习、广告、搜索、行业垂直应用、系统运维、研发团队管理等领域拥有丰富经验。
曾主持架构了百度“知心”系统和链家网系统,在百度任职期间作为系统架构负责人,主持了百度商业客户运营、凤巢新兴变现、“商业知心”搜索、阿拉丁生态等多个核心系统的架构设计工作。在担任链家网研发负责人期间,从0开始完成了链家网新主站、经纪人新作业系统、绩效变革系统的整体架构设计以及研发团队的建设管理,参与规划及推动了链家系统和研发体系的互联网化转型。
现任第四范式研发总工程师,负责产品技术团队以及第四范式核心产品『先知』机器学习平台的研发工作。
涂威威 第四范式数据建模专家
在大规模分布式机器学习系统架构、大规模机器学习算法设计和应用、在线营销系统方面有深厚积累
百度最高奖triity发起人之一
首次将FPGA应用于在线营销深度学习预估系统
设计开发百度机器学习计算框架ELF
主题:走近机器学习产品设计,探究极致工程优化
忽如一夜春风来,机器学习和人工智能的话题突然间频繁走进大家眼帘,面对层出不穷的新产品和开源技术,越来越炫的性能指标和效果报告,人工智能的能力距离触手可得还有多远?机器学习系统和大数据系统间的关系如何?聚集了众多算法科学家和工程大牛AI领军公司又做了哪些努力来提升机器学习的效率和易用性。本次演讲从维度的概念、算法设计、工程架构、实践经验等多个方面和大家一起分享和探讨第四范式在机器学习产品设计和工程优化方面的心得。
大数据杂谈
ID:BigdataTina2016
▲长按二维码识别关注
专注大数据和机器学习,
分享前沿技术,交流深度思考。
欢迎投稿,欢迎加入社区!