数据中台实战(八):如何打造支撑N条产品线的标签平台

11 评论 18442 浏览 140 收藏 36 分钟

上一篇数据中台的实战文章讲了《数据中台实战(七):流量分析》,这次讲如何打造可以支撑N条产品线的标签平台。

为什么要建设标签平台

亚马逊的CEO Jeff Bezos曾说过他的梦想,「如果我有一百万的用户,我就会做一百万个不同的网站!」。

当然,现在大型的电商公司如亚马逊、淘宝等已经实现了他这个梦想,就是我们常说的千人千面-用户个性化推荐系统。

那么如何实现千人千面呢,这个基础是先对用户打标签。

为什么要给用户打标签呢?

最主要原因就是让我们更加了解我们的用户,他是谁?他在哪里?他用的什么设备?他用了我们的什么服务?他的使用习惯是什么?他的偏好是什么?

当我们更加了解我们的用户,我们才会有可能知道他的痛点,我们才会知道应该推荐给他什么样的产品,他购买的概率也才会更高一些。

那么什么公司适合建设标签平台?

一些小的创业公司是不适合的,现在的产品和运营张口闭口就是户画像、用户标签和PPT上面贴满标签的标签云人像。一个真正的标签平台是一个非常浩大的工程,它需要投入很多的开发资源,就只是一个标签体系的建立都需要,n个角色参与(数据开发工程师,数据挖掘工程师,前端工程师、后端工程师、产品经理、模型设计师),加上需求的调研时间,最少也得2-3个月的时间。后期比较深的一些功能如标签圈选、人群画像等又是很大的工程量。

所以,建立标签平台需要很大的工作量,投入很多的资源,前期也不能很快得到回报,是一个方向大致正确的事情。创业公司或者小型公司初期、用户量较少的公司还是不建议做标签平台,当公司有一定规模,用户量有一定基础、数据有一定的积累,再投入资源做标签平台还是不晚的。

建设标签平台你必须面对的几个问题

那我们该怎么建设标签平台呢?

上面已经说了,当有了一定的用户基础、数据基础才适合搭建标签平台。这时会面临一个问题,当公司发展到搭建标签平台这么一个阶段,一定是多个产品线,多种角色、数据分散度很高的情况。

那么怎么统一这些产品线的标签呢?

例如笔者所在的公司有n条产品线,我们想打通服装批发产业的上下游,从生产端服装的打版服务,到线上的销售平台,到供应链服务平台和金融服务平台等产业的上下游我们都在运营。

我们在搭建标签平台时就遇到了以下个挑战:

  • 每个系统都会产生大量的数据,怎么让这些数据标签化呢?
  • 打版服务、电商服务、供应链服务、金融服务的客户群体是完全不同的,怎么让这些各种各样的角色都进去标签平台。
  • 作为我们的电商产品,只有用户标签是不够的,商品作为电商系统十分重要的存在,也得分门别类的打上各种各样的标签,那么我们怎么区分用户标签和商品标签,甚至供应商的标签?
  • 公司所有的产品线运营都会用一个CRM系统,所有的客户都会先进去CRM系统作为潜客,转化后再成为各个业务系统的会员统一进入业务系统,这就带来一个问题,潜客和注册用户怎么分?

带着这样种种问题,我们团队大概策划了有半个月才有解决方案。

怎么基于各个业务线的数据给用户都打上标签

首先我们有平台的概念,用户注册后,会统一进入用户中心,入库时都会打上注册平台的标识,这里做了一层区分。后来我们发现这样无法解决一个用户同时用了2个平台服务的问题,因为我们用户中心是是基于手机号去重复的数据,如果只取某个平台的用户,就无法给用了我们电商产品又用了我们的物流、快递产品的用户同时打上标签。

这时我们加大了每个产品线打标签的用户范围。举个例子,比如电商产品的用户定义是取平台为电商产品,但是平台为非电商产品又登录了电商产品的用户也会抓取过来打上电商产品相应的标签。这样当我们查看用户的标签时,就可以看到这些用户同时拥有2条产品线的标签。

至于每个业务线的数据怎么标签化,我们的想法是做成可配置化,每条产品线的运营都可以在他们的业务线下建立各种各样的标签,来丰富用户的信息。至于如何实现可配置化,下文标签体系的搭建我会基于电商RFM的实际案例来讲解。

用户的角色怎么确定

首先我们针对不同的客户群体我们做了一层抽象,他们首先都是人,我们称为需求端和供应端。比如电商产品的采购商为需求端,供应商为供应端,快递物流产品的商户(需要发快递或者物流的人)我们称为采购端,物流快递的提供者如顺丰、德邦等我们称为供应端,打版产品的设计师为需求端,生产衣服的工厂为供应端,这样就完成了一个抽象。

接下来要做的就是让各个业务线的运营去划分,他们业务线到底有那些角色,怎么给他们产品线的人打上角色的标签,这样也倒逼我们的业务线统一目标用户的标准。很多公司都有这么一种情况,每个人都大概知道自己的目标用户的大概样子,但是当每个描述自己所讲的目标用户的样子时,是完全不同的。这是为什么?因为大家没有统一的标准。

如电商产品我们就让运营出了一套标准:一批采购商,二批采购商,普通终端门店,c端消费者。我们把用户的类型做了比较细致的描述,比如他的拿货价位,开店数量等等,我们基于用户填的信息自动会给这个采购商一个身份标识。

当你抽象成一个人时,埋点的数据也能用上了,我们已经针对各个产品线做了数据埋点,这些埋点收集到了用户潜在的信息,如地理位置、设备信息等我们都作为基础属性放在标签体系中。

用户标签和商品标签的问题

我们针对标签定义了一个类型,在生成标签时,我们预先定义了有用户标签、商品标签,每个标签都要选择一个类型。商品标签和用户标签类似也有一些基础属性,如颜色、尺码、面料等属性,这些基础属性我们叫做基础标签,用户的基础标签直接从用户属性字段和埋点数据取得,商品的基础标签直接从商品的属性字段取得。

潜客和注册会员该如何区分

我们增加了一个标签,是否潜客。在CRM系统录入的用户且不在用户中心的用户我们都当潜客处理,CRM针对潜客又有一套标签也是一个漏斗的关系,从有销售线索、商机识别、商务谈判、签约下单,这些用户的状态我们会从CRM系统直接拿过来,针对潜客打上状态标签。

如何建设可以支撑N条产品线的标签平台

这样我们标签平台的目标就很明确了:

  • 我们的标签平台要可以支撑给n条产品线,n种角色打标签。
  • 一个用户如果在n个产品产生了行为记录,都要通过标签记下来,可以看到用户在N条产品线打的标签。
  • 每条产品都可以自己定义自己的个性化标签。
  • 标签要支持给注册用户打标签,同时还要支持给潜客打标签。

基于这个目标,我们的标签平台规划了以下这四个功能:

  1. 数据宽表
  2. 标签体系的搭建
  3. 标签工厂
  4. 用户群圈选

从标签的生成到人群的圈选整个流程如下:

准备数据宽表

对于电商产品来说,需要采购商宽表、商品宽表、供应商宽表。宽表其实就是单个用户(采购商、供应商)、商品指标的一个合集,我们尽量把所有的指标都汇聚到一张表,方便接下来的标签的生成。

用户的宽表包含用户的基础信息、行为信息、业务指标等,用户的基础信息就包括用户的手机号、姓名、性别、注册时间、用户的角色信息、平台信息和其他用户自己填的信息,用户的行为信息就包括用户的设备信息、地理位置、用户的访问时长、加购次数、收藏次数、距离上次访问时长等通过埋点得到的信息,还有就是用户的业务信息,包括用户下单金额、支付金额、优惠金额等信息。

商品的宽表包括商品的基础信息和商品的业务信息。在电商商品中商品的基础信息包含,商品的ID、名称、品类、颜色、尺码等上架商品时填的一些信息。商品的业务信息包括商品的下单金额、支付金额、加购金额、加购次数等业务指标。

创建标签体系

有了宽表的数据,接下来就可以创建标签体系,并将标签工厂制作的标签归入标签体系。

首先看一下标签体系是什么,标签体系的结构大致如下:

标签体系一般是多层结构,基础信息和每条产品线的第1级标签由数据中台管理。我们拿用户端的标签举个例子,无论用户是采购端和供应端,他首先是一个人,那么我们就抽取出来了人的基础信息,包括:

  • 平台的信息:用过我们那个产品线的服务就会打上那个平台的标签。
  • 用户类型:采购端还是供应端,如果是采购端,他是什么样的角色;如果是供应端,他又是什么样的角色。
  • 潜客:是否潜客,如果是潜客,他现在处于什么状态。
  • 地理位置:通过埋点采集到的信息,他的城市、省份在哪里。
  • 设备信息:通过埋点采集到的信息包括浏览器的版本、设备版本、系统版本等信息。

各个产品线的业务标签,第一级一般来说也是由数据中台提前定义好,比如我们有电商产品线、打版产品线、供应链产品线。那么我们的第一级就是电商服务、打版服务、供应链服务,下面的具体标签就可以由各个产品线自己定义个性化的业务标签。

为什么要建立标签体系呢?

一方面是公司所有的产品线都用这个体系,有一个统一的标准,降低沟通成本。另外一方面通过这个标签体系可以全局的看公司都用哪些标签,甚至哪些用户用了我们那些服务,哪些用户存在多个角色,这个也是数据中台打通公司数据的一个体现。

接下来定义业务标签,首先要选择平台,平台是为了查看用户标签时给运营分别赋不同的权限,比如产品线A的运营不能看见产品线B的标签。

接下来是选择维度,还是用户维度的标签还是商品维度的标签,这个决定数据源的选择,也就是上文讲到的宽表的选择。

那么接下来就是选择一级标签和二级标签把新的标签归入标签体系,这样所有的标签都可以在我们标签体系中看到。

下面就是最核心的定义标签,比如我们要给产品线A的新用户打上标签,新用户是根据他的注册天数这个指标来定义的,我们就可以这个规则来筛选出来应该给那些用户打上新用户的标签。

接下来就是标签的定义,可以选择用户宽表或者商品宽表的指标进行等于、大于、小于等简单的运算,这样一个标签的定义就完成了。

人群圈选

一般来说,做营销活动会针对特定的人群,人群其实就是标签的组合,我们做了人群圈选这么一个功能。人群的圈选分为三种方式:第一种是基于用户客观标签的圈选,另外一种是基于用户行为的圈选,还有一种是基于用户主观标签的圈选。

先讲一下基于用户客观标签的圈选,比如我们要针对广州市的新用户做一个发优惠刺激他们下单的触达任务,那么这里广州市的新用户就有由二个标签组成的一个用户群体。那么,我们首先在标签工厂定义好广州市的用户这个标签,也就是用户的所在城市是广州,接下来是新用户,比如注册7天内的用户。那么接下来要做一个且的操作,广州的用户且是注册时间在7天内。我们的用户圈选功能支持且、或的简单操作,就要选择计算频率,是每天计算一次,还是只计算一次。

针对我们这个任务我们是一个固定的规则,我们想针对所有广州市注册的新用户都发一个短信提醒用户领取优惠券,那么我们可以选择每天都计算一次,如果我们的推送平台满足可以每天定时针对这批用户群发触达任务,那么我们就完全做成了自动化。如果选择只计算一次,那么这个计算任务就会执行一次,这个人群计算一次就固定了,再过多天后再来查看这批人还是第一次计算的那批人,这样方便追踪活动效果。比如7天前圈出一批人做了一场活动,那么7后再拿出这批人看下这批人各项指标的变化情情况。

还有一种是基于用户行为的圈选,这个是要结合埋点数据。用户的行为分为浏览和点击。我们需要基于每天的埋点数据去重,计算出当天有哪些页面和和按钮。浏览有哪些页面呢?在电商产品中主要有这么几个页面:首页、商品列表页、商品详情页、进货车页、下单页、支付页,关键的按钮有哪些呢?主要有:收藏、加购、下单、支付。另外因为我们的埋点数据是分端采集的,那么我们也可以分端去筛选出浏览和点击事件。

比如我们要做一个基于H5的活动,活动中我们要实时监控访问我们H5的人都有那些,H5上的关键按钮有那些人点击,活动一般都很短暂,所以我们对时效性要求比较高的,需要准实时的圈出访问该活动页和点击加购却没有下单的人。

那么我们的第一个条件就是访问了H5页面的人,第二个条件是点击了加购按钮,第三个条件是没有下单的人。基于用户行为的标签一般来说都是只计算一次,属于客观标签。这样我们就圈出了参加这个活动加购了但是没有下单的人,我们再研究一下他们为什么不单。对于那些价格敏感的客户,再结合全渠道营销平台推一条短信,发一个优惠券刺激一下说不定这个用户就下单了。

当然,还可以两者结合。比如我们要圈出性别为男的用户,并且累计花销在3000元的用户,并且在2019年11月21日做过登录并点击过某个按钮的用户。

还有一种圈选方式是基于主观人群的圈选。这个一般给运营或者一线的销售用。当他们做电话回访,或者上门拜访后得到的一些关键信息,都可以用标签的形式记录到这个用户身上。主观人群还有一种使用场景是运营一般会有大批量操作用户或者商品的情况,比如发优惠券时可以基于标签去发而不是一个一个用户的去选择,这样可以给你发优惠券的用户打上一个主观标签,在发券系统选择这个标签来代替这些用户来发券。

我们设计了2个功能,第一个是可以任意选择单个用户打上主观人群标签,这个功能一般要对外提供接口对接其他一线业务人员使用的系统,直接打标签到数据中台标签平台。还有一个功能是针对大批量用户,我们可以通过导入手机号的方式批量给用户打上主观人群标签。

无论通过哪种方式,都可以圈出来一批人,最终圈选出来的用户就如下图所示。

我们可以查看每个用户群每天计算出的用户数量,也可以查看具体的用户有哪些。人群圈选的功能一般要和其他平台对接一般要对外提供以下几个接口:

  • 通过群组名称查用户或者商品列表;
  • 通过当个用户或者商品查询所属人群。

关于主观标签、只计算一次的客观标签,随着时间的增加,会产生越来越多的标签,会显得十分混乱,另外也增加很多的存储成本。有些标签可能是n年前打上的,到现在已经没有任何用。

举个简单的例子,我们常用到的一类标签是复购高意向用户,比如半年前我们圈出了这批用户,那么这个复购高意向标签就打在了这批用户的身上,说不定这个用户已经流失,或者现在不是复购高意向用户了。

那么,我们要想办法对以前打的复购高意向的标签进行处理,我在这里提供三种方案:

  1. 给标签针对每个用户增加一个有效性的属性,这就需要写一个定时计算任务,每天检查用户标签的有效性。如果这个标签当时计算时还有效,那么就打上有效的标识,如果当时计算时候标签已经不适用,就打上无效的标识,那么我们前端取数据时只取有效的标签。这个方案的问题是我们无法判定主观标签的有效性,因为主观标签是没有什么规则的。
  2. 给每个标签一个属性,启用和禁用,当运营觉得这个标签没用时就禁用,一旦禁用我们展示用户标签时就展示没有禁用的标签,只显示开启的标签,这样运营的同事看到的都是自己觉得有效的标签。这个方案的问题就是增加了运营的工作量,当后期有很多标签时,工作量会比较大。
  3. 在运营创建人群时,选择一个有效期,比如45天,当这个标签过了45天就自动失效,前端只展示用户未失效的标签。这种方式对于数据量比较大的公司来说是有必要的,比如百度他们每天都有几十万甚至几百万的人用他们DMP人群圈选功能,那么每天会产生大量的数据,有效期还是必要的,会减少大量的存储成本。

用户画像

做完了标签,接下来就可以做用户画像的应用。用户画像分为个人用户画像,群体用户画像。

个人用户画像

先讲一下个人用户画像,这个是给客服、销售或者运营查大客户的资料时用到。个人用户画像最好能汇聚用户所有信息,当我们更加了解这个人的时候,我们会更加容易刺激他产生购买行为。

个人用户画像的内容分为几部分:

  • 用户的基础信息,他是谁,他在哪里,用了什么设备,他的一些关键的数据指标有那些,比如RFM的属性都是什么。
  • 用户的业务信息,比如电商产品他的加购信息、收藏信息、领券信息、下单信息等,这里可以给出他的明细数据,比如加购什么时候加购、加购了几件商品、加购了那些商品,当然信息是越详细越好。
  • 用户的标签信息,标签分为主观标签和客观标签,我们可以分开展示。接下来就是分产品线展示每个产品线的标签,如果一个用户用了产品线A同时又用产品线B,那么我们可以一眼看出,用户在产品线A和产品线B都有标签。如果用户只用产品线A,那么在产品线B那里就看不见标签。
  • 用户的行为信息,这里用到埋点数据,可以把采集到用户的埋点信息以会话的形式做一个拆分,按照时间轴的方式显示。通过这个时间轴可以清晰的看到,用户在什么时候产生了什么动作,主要还是包括浏览和点击。做得更深一步的话,可以把用户浏览的明细也输出,比如用户浏览了商品详情页,那到底是那个商品呢?比如用户点击了加购按钮,那么到底是那个按钮呢?数据越明细,运营分析起来就越方便。
  • 用户的偏好信息,这里就有很多内容了,比如可以根据推荐算法算出用户偏好的品类、未来可能买的单品。还可以基于埋点数据看出用户的访问偏好,用户总是在那个时间段过来使用我们的产品。还可以看下用户搜索的内容都有那些,对关键字做一层汇总,搜索内容可以最直接显示用户的偏好。

群体用户画像

接下来说一下群体画像,当把用户圈选出来后,可以简单通过简单的分析形成人群画像。可以从用户类型(采购商、供应商、未知身份等)、设备信息(IOS、安卓、Windows)、地理位置(省份、城市)等基础信息做一个透视,这样你就大概知道这群人是什么类型、用的什么设备、在那里使用我们的服务。

你还可以选择2个人群之间的对比做一个对比分析。目标人群指的是此次分析的目标人群,即画像都是基于此目标人群计算得出;基准人群指的是计算目标人群的TGI时所基于的对比人群。

TGI的计算逻辑是:目标人群中打上该标签的人数占比,除以基准人群中打上该标签的人数占比,可以通过性别、年龄段、城市等级的三维交叉细分,借助算法模型,找到目标人群中最为典型的形象特征。典型特征指的是在一定占比基础上,和基准人群相比,TGI最高的特征。

标签平台实战案例

接下来我们以运营经常用到的RFM模型为实战的案例,来介绍一下标签平台该怎么使用。

什么是RFM呢?

  • R(Recency):用户最近一次交易时间的间隔。
  • F(Frequency):用户在最近一段时间内交易的次数。
  • M(Monetary):用户在最近一段时间内交易的金额。

可以根据这些数据指标将用户分成8类。

我们的资源是有限的,高价值用户我们一定要倾斜更多的资源给他们,一定会先满足他们的需求,再考虑其他用户;低价值用户就不要浪费太多的资源,差异化运营就在此体现。

RFM的最终目的,就是将用户基于消费频次、金额、距离上次消费的天数将用户分为8类。比如,重要价值客户的条件定义是R<10天(最近一次消费距离今天小于10天)、F>5次(消费频次大于5次)、M>20000元(累计消费金额大于20000元)。

因为每个产品线重要价值用户的条件是不一样的,所以要进行数据分布的分析才能确定最终的阀值(划分的标准一般采用2/8或者均值的原则)。

那怎么圈选出每个平台重要价值用户呢?

其实你会发现这些条件有个规律,R其实是用户的一个指标,最近一次消费距离今天的天数,这个是可以计算的,R<10这个其实已经是一个标签,有很多人会满足这个条件,重要价值用户的条件是R<10且F>5且M>20000,这属于一群人。

第一步是要准备数据源。

R为最近一次消费距离今天的天数,F是消费频次、M是消费金额,这三个指标要计算好并到宽表中,这个可以交给数据工程师来开发,以后每新增一个用户的指标都要放到宽表内。

这里可以增加一个申请的流程,让运营每次想增加新的标签,数据中台需要开发相关指标时,需要填指标的业务口径,我们的数据工程师基于技术口径来计算指标。

完成了数据准备,接下来就是要生成是R<10天等这些标签。

由于考虑到每条产品线的RFM标签都不一样,我们希望做成可以配置的模式。

首先选择平台,选择所属标签体系中的一级标签产品线A和二级标签产品价值,三级标签可以命一个名称如:最近一次消费距离今天的天数。接下来就可以选择宽表中的字段R,选完字段后可以进行一些常规的运算,我们的运算符支持简单的大于、小于、等于、不等于这些。这个重要价值客户需要的标签是R<10,那么选择一下生成标签就行了,点了确定你会发现在标签体系多了一个标签,产品线A-用户价值-最近一次消费距离今天天数-R<10,这样一个标签就生成了。

当生成了标签,标签平台就会启动底层的计算逻辑,用户属性的标签我们一般采用离线计算,每天晚上计算一次,每天晚上系统会找到符合该条件的用户,并打上R<10的标签,这样标签体系中展示的统计只用查询有多少人属于R<10即可得到数据。

当标签生成之后,还不足以筛选出重要价值客户,需要几个标签的组合才能配置出重要价值客户,我们称为人群圈选,按照同样的流程配置出F>5次、M>20000这两个标签。

进入我们的人群圈选模块,选择平台和维度,维度就是用户还是商品,RFM是针对用户,所以我们选择用户维度。接下来就可以选择标签体系中的R<10这个标签,我们自己支持简单的运算且与或,并且支持支持括号的运算,避免运算的过程产生歧义。

那么,重要价值客户的表达式就是(R<10且F>5且M>20000)基于这个条件可以快设置我们的人群圈选条件如下图:

到此为止,基于多条产品线的标签平台就讲完了。

标签平台通过标签体系打通了单个产品线的用户行为数据和用户的业务数据,另外一方面打通了各个产品线之间的数据,可以更清晰地看到我们公司的用户到底都在使用我们公司的那些服务。

而标签平台的用户群一般和公司内的营销平台做对接使用,营销活动一般分为三个步骤:圈人,做活动,看效果。而标签平台主要就是承担圈人的功能。

全渠道营销也是作为公司内部必不可少的一种能力,如果打造全渠道、自动化运营的营销平台可以参考数据中台实战的下一篇文章《数据中台实战(九):全渠道营销平台》。

#相关阅读#

《数据中台实战(七):流量分析》

《数据中台实战(六):交易分析》

《数据中台实战(五):自助分析平台》

《数据中台实战(四):商品分析(产品设计篇)》

《数据中台实战(三):用户分析(产品设计篇)》

《数据中台实战(二):基于阿里OneData的数据指标管理体系》

《数据中台实战(一):以B2B点电商为例谈谈产品经理下的数据埋点

数据中台实战入门篇:数据中台对内、对外合作机制

数据中台实战入门篇:双中台战略

 

作者:Wilton(董超华),曾任职科大讯飞,现任富力环球商品贸易港大数据产品经理。微信公众号:改变世界的产品经理。简单、简短、有用,坚持原创、坚持做感动你的好文章。

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

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

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 感谢华仔,作为一个三年迷茫期的产品经理。使我收获非常多。希望您能多多分享您的经验,相关书籍已下单,支持!!!

    来自上海 回复
  2. 我感觉属性和标签的分界不是很明确,圈人的时候要选出:广州市新注册的用户,这个可以直接用用户属性——注册地址和注册时间这两个字段筛选,不需要额外定义标签,再创建群组。

    来自上海 回复
  3. 特别棒的文章,感谢分享。
    全面的介绍了运营所需的标签体系,我认为可以独立成一个标准化产品。

    来自江苏 回复
  4. 新手,请教下,请问如何辨别A产品的某用户和B产品的某用户是否是同一个人呢?是通过电话号码吗?

    来自山东 回复
    1. 做统一用户管理即可,移动互联网通用做法是通过手机号,也可以建立产品账号与用户的关联关系。

      来自江苏 回复
    2. 如果用户未登录仅仅是激活用户呢?

      来自山东 回复
    3. 未登录的情况下,可以通过设备来确定是否是同一个人,比如浏览器cookie、手机终端IMEI、Mac地址

      来自江苏 回复
  5. 看完后发现,这个是大数据平台干的事情,有机会看看前面几篇的数据中台。你的数据存储在哪?标签库存在哪?在哪运算?应该都在hadoop上吧

    来自浙江 回复
  6. 属性和标签的概念不能混淆

    来自浙江 回复
    1. 是的,比如用户的手机号、姓名等这些属于属性。 用户的指标相关是属于标签

      来自广东 回复
  7. 写的很好 点赞 😳

    来自上海 回复