推送系统从0到1(七):推送用户画像建立

18 评论 23407 浏览 187 收藏 19 分钟

通过前六篇文章的介绍,大家应该对推送系统的整体运作流程有清晰的了解。本篇开始将会从数据和运营层面对推送进行更深入的介绍,力求把推送的效果最大化,也和大家一起把推送系统研究到极致。

想要通过推送达成运营目的,首要的是要用户点开推送消息,进到目标页面才有机会实现运营目的。所以推送点击率,成为许多运营者观察的数据指标之一。

用户对推送内容是否感兴趣,很大程度影响着点击率的高低。近年来,各种信息平台/电商网站通过精准推荐、消息聚合和消息分发,声称基于大数据算法实现个性化的推荐,从而达到内容点开率大幅提升。

精准+大数据算法似乎成为当下的潮流,但是对于很多产品经理来说,机器学习、大数据算法听起来就难以实现。

其实个性化推荐并没有想象的那么困难,本篇将会给大家介绍个性化精准推送的第一步:建立用户画像,当然我们主要从推送出发,在推荐算法上不会有太深入的挖掘。

为什么建立用户画像

其实要做精准推送同样可以使用多种推荐算法,例如:基于用户协同推荐、基于内容协同的推荐等其他的推荐方式,但是以上方式多是基于相似进行推荐,运用范围多为单一的功能,难以实现全网功能之间的联动。而构建用户画像,不仅可以满足根据分析用户进行推荐,更可以运用在全网所有功能上。

建立用户画像确实是一个一劳多得的事情,不仅可以运用于精准推送、精准推荐、精准营销,更可以作为网站的用户属性分析,用户行为分析,商业化转化分析等。同时网站共用一套用户画像,可以对用户有统一的认知,更可以在各个运用渠道对数据进行补充和矫正。

大致的理念如下图:

从图上可以看出,用户画像的运用途径非常广,但那些都是应用层面的事情,我们在此主要分析从用户画像构建到实现精准推送的过程。下面开始为大家介绍如何构建网站的用户画像库。

用户画像构建思路

在部分构建用户画像介绍文章中分为四个层级,第四层为预测模型,但在精准推送中较少运用到预测的需求,而且预测算法会是更高阶的算法,需要大量的数据演算,本次不做讨论,所以暂且分为三层进行构建

从图中可以看到,用户画像的第一层主要是原始数据库,此数据库主要囊括后续分析所需要的所有原始数据。也是通过大量数据的分析和处理,后面能提炼成用户的画像得以运用。

故在这一层的关键词是:大量、数据。而第二层级是根据第一层的原始数据通过算法计算、提炼、规划成可以组成用户画像的一系列通用标签,而这类标签的存在形式类似于矩阵或者多个类别的集合。

在业务需要时,该类标签从数量和维度都可以增加以满足业务需求。所以第二层的关键词是:通用、标签

而对于第三层,我们可以通过对标签的聚合、提炼、建模等方式构成用户的多个“面”,并运用于多个场景。例如:说小明在听音乐时的画像是摇滚、年轻、流行、活泼;而在学习时的画像是认真、专心、投入、经济学等。

通过用户不同的角度实际运用于各类业务需求,实现精准化。所以在第三层的关键词是:聚合运用

建立原始数据库

从第一层的原始数据库搭建开始介绍,这一层我们需要获得尽量多的原始数据,因后面的所有的应用场景都依托于原始数据的计算、分析、建模,所以在原始数据库搭建时需要考虑更全面,当然原始数据与数据存储、采集难度和成本都密切相关。

以下图为主要数据维度,大家根据实际情况进行抉择。

一般来说,例如:电商类网站。对用户的分析更为深入仔细,会需要分析出用户的购买力,所以可能会在用户信息部分下功夫。虽然在用户信息泛滥的今天,依然不提倡大家通过非正常渠道获取用户信息,即便这些数据的商业价值很高。

而第二类数据即用户行为数据是必选项,用户行为数据可以更好的分析用户需求,更容易获取用户的兴趣内容。所以大部分的推荐算法,都会基于用户行为作为原始数据源。而用户环境信息及其他的数据,可以作为数据分析的重要参考资料,这个可视实际情况进行采集和存储。

下面仔细介绍如何采集用户行为数据,采集的目的多用于推算出用户的喜好度以及分析用户的转化行为。通过用户行为推算出用户的标签,实质是利用用户感兴趣的内容赋予标签化的过程。

主要思路如下图:

这个方法的核心思路就是把用户在网站内的每一个操作和操作的对象、操作时间,均记录下来,形成一个用户行为表,这样用户行为的原始数据就构建完成了。

具体操作如下:

把用户浏览/收听/观看的每一个内容、浏览时间、与该内容的交互(点击、滑动)、在该内容的关键指标(收藏、分享、商业化行为等)均记录下来,那么每个用户都会有一个用户行为记录表,而记录的维度可以是数值,可以是“是or否”,也可以是时间,要视具体的需求而定。

如下图:是我在实际设计过程中定义的用户行为数据存储格式,主要反映用户在什么时间看了什么,并做了什么事情。

根据这个表格形成原始数据,当然我前面也说到了,这只是原始数据中行为数据的部分,在设计时可以根据实际情况拓展数据表。

通过记录用户行为的这个原始数据,我们可以获得这些信息:用户的访问习惯(频率、时间、时长)、用户感兴趣的内容、用户对内容的感兴趣程度。

其实光是这些,我们已经大致能推算出用户基本喜好度了。但是这个方法有个缺陷,既用户未产生足够多的行为时,我们无法获取其行为信息,自然也无法进行后续分析。此时就可以运用前面介绍到的通过用户的信息、用户环境等其他数据作为基础,通过用户协同算法,找到与该用户相似的同类用户喜好的内容。

建立用户标签库

根据上面获得的用户行为原始数据,我们得到了一张庞大的行为记录表。但是想要把这个表格的内容运用起来,我们需要把用户行为更为具象化,也就是需要把用户画像构建起来。

构成用户画像可以是一段话描述,可以是各种属性的合集,也是直观解释的标签。根据上面的介绍,用户画像可以运用在用户的分析、商业化模式的分析、精准和个性化推荐系统中。而本篇主要介绍精准推送,故只选取可以具象化展示画像的用户标签。

其实用户标签并不等同于用户画像,只是用户标签是用户画像直观的呈现,并且是比较好且常用的运用方式。

构建用户标签库其实比较简单,因为我们在上述采集用户行为过程中,已经把用户喜好的内容采集下来了,所以基础标签并可以直接运用内容的标签。也就是通过用户喜欢的内容给用户贴标签。

(1)内容标签化

首先要做的事情就是把内容标签化,根据内容定性的制定一系列标签,这些标签可以是描述性标签,也可以是具象的标签,更可以是数字或者数值范围。这些内容的标签需要具有通用性,即适用于你所采集的用户浏览的所有内容。

例如:是电商类网站,则这一些列标签可以是商品类型、商品价格范围、商品产地、商品品牌、商品特点等等。如果是房产类网站,则可以是房子的区域、价格、面积、格局、形态等等。

在完成这一步操作之后,此时用户行为表中的内容均可以标签化了,相当于用户行为表记录的是用户对一组标签的感兴趣程度。

在对内容标签化的时候,需要注意,标签的值需要有统一的范围,不然在后期将无法进行使用和比较。例如说:上图表格中,“区域”这个标签的值范围只能是某个行政区,而每个房源信息都有这个区域值的标签,切勿出现“区域”这个标签值是范围外的内容,如:小区名等情况。

以上图为例,房源ID-1001的标签为:福田区、6万单价、2房、40-50坪、……

(2)用户标签化

第二步要做的就是把内容的标签赋予用户,这个过程就是需要研究用户对内容的喜好程度,用户喜欢的内容即当作用户喜好的标签。

在用户行为记录表中,我们所记下用户的行为在此时就发挥出重要的作用了。用户的浏览(时长/频率)、点击、分享/收藏/关注、其他商业化或关键信息均不同程度的代表的用户对这个内容的喜好程度。

此时我们可以用过给这些行为赋予权重分值,通过分值的计算得出用户喜好的一组标签。按照行为的重要程度赋予分值没有规定的值推荐给大家,大家可以通过不断的尝试和调整,找到最适合自己算法的权重值。同时内容是具有时效性或者与时间的关系比较重要,也是可以把时间作为权重参数之一。以下图是举例说明为行为赋值的过程。

完成对关键行为赋予权重分值后,即可开始计算,首先我们把用户浏览(收听、观看)的内容全部按照上面内容标签化的方式打散成标签,并且把用户行为表中的关键行为转化成对应分值。

这样可以得到下表:

把标签与分值关联进行求和计算,即每个标签的值都可以得到一个分值之和,例如说:商品A的标签“商品产地”的值有“福建、广东、、云南、浙江、河北”等,通过分值计算,找到分值最高的值作为该用户此标签的值。

如:计算出来“福建”的分值最高,即该用户喜欢“商品产地是福建”的商品。

通过以上计算可以实现每个系列标签获得分值最高的值,此时根据自身的需求,可以取最高的值作为标签值,当然也可以从分值从高到低排序,取前几个成为标签数组。通过上面计算,那么一个用户将获得一组/多组标签及对应的值。

如下图:

建立用户画像库

我们通过上述方式获得了用户的一组组标签,但是对用户的剖析并不够立体。用户画像的是个立体标签库的集合,此时就需要我们把标签组构成像矩阵、集合一样立体。再把用户通过各类维度进行组合和排布,形成用户画像。

这是一个用户的画像在数据表中的形态,然而网站千万用户均有自己的画像库,所以在构建用户画像的时候,需要考虑数据存储的问题。这个大量的数据计算将会持续对数据的存和使用造成压力,所以在构建时一定要与研发工程师讨论。

用户画像的横向和纵向都具有拓展性,随着基础数据的获取越来越多,可以拓展的维度也越来越多。同时通过标签的组合、聚合和拓展,可以形成二级标签、三级标签等高阶标签,并运用于不同场景。

下面将为大家举例介绍标签多变的玩法。

应用层的用户标签

来到应用层,我们就可以充分的利用标签发挥各种用途。首先我们可以通过标签筛选出用户,特定的几个标签即可圈定特定范围的用户。

例如说:我可以在用户池中筛选出“年轻、单身、用苹果手机、喜欢xxx”的用户,可以对这类用户进行有针对性的推荐和营销。同时除了圈定用户,我们还可以对标签进行组合。如:标签A=标签a+标签b-标签c。

以上面基础用户画像图中信息举例:首购用户=年龄22~35岁+购房格局为2房+购房单价低于X万-有小孩+….等等,当然只是举例说明,通过标签之间的组合叠加或排除,可以形成更高阶的标签并运用于各种应用层。

例如:电商网站经常会通过各种信息来判断用户的购买力、喜欢的商品,购物习惯和购物频次。这些都是可以根据基础标签的聚合计算出来的,不同的组合方式让标签更丰富,更贴近实际运用场景,但是也不会干扰原始标签库和用户原始数据的存储和使用。

总结

本篇主要为大家介绍了精准推送的第一步,构建用户画像:

  1. 构建用户画像可以用于精准推荐、精准推送、精准营销、数据分析等;
  2. 把用户画像构建分成三层,分别是原始数据库、画像标签库、画像应用层;
  3. 原始数据的获取可以是用户信息、用户行为、用户环境等相关信息;
  4. 通过分析用户行为,可以针对用户对内容的喜好度,使用内容给用户标签化;
  5. 用户画像是可以在横向和纵向进行拓展的庞大标签组;
  6. 在应用层可以通过标签的组合、聚合、拓展形成各类高级标签并灵活使用。

在下一篇将会给大家介绍通过一些相似度算法,计算用户最感兴趣的内容,从而实现精准的个性化推送,尽请期待!

相关阅读

推送系统从0到1(一):是系统不是工具

推送系统从0到1(二):了解你的用户

推送系统从0到1(三):推送任务的建立

推送系统从0到1(四):消息如何到达用户设备

推送系统从0到1(五):推送消息如何丢失的

推送系统从0到1(六):推送的着陆页设计

 

本文由 @番茄那只羊 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Pexels,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 学习了,非常棒!

    来自河北 回复
  2. 这个是针对于C端的,还是如果加上B端的就更好了

    来自广东 回复
  3. 您好,有点没看懂,在“用户标签化”举例的表里: 标签系列一指的是一系列行为指标的集合么?包含“浏览时长,关注,收藏,点赞。。”然后因为提前定义了集合每个操作对应的数值所以进行了求和。那对应的ABCD又指的是什么呢,?(是指对标签的定义么,比如“非常喜欢”“一般”“不感兴趣”)?? 期待回答

    来自北京 回复
    1. 标签系列一指的是一个标签类别,比如以人为例,那标签系列一就是家乡,那ABCD就是不同的省这样,然后浏览时长啥的是用户行为,用来加总反应用户的偏好,就一个标签下江西省的行为加总是5,浙江省的是7,那么标签一得出的偏好就是浙江省。

      回复
  4. 哇塞,大写的优秀~ 😳

    来自广东 回复
  5. 怎么不支持打赏 😛

    来自广东 回复
    1. 打赏功能今天突然不见了~

      来自广东 回复
  6. 强烈推荐!全文最全推送系统知识型分享~ 😉

    来自广东 回复
    1. 感谢支持~~~ 😳

      来自广东 回复
  7. 期待更新

    来自江苏 回复
    1. 感谢支持哦~ 😉

      来自广东 回复
  8. 感谢作者分享,这篇很实用。请问有没有深入讲解用户画像的书籍推荐?

    来自江苏 回复
    1. 用户画像和推荐算法:可以看《推荐系统实践》;我的下一篇文章也会提到这本书。

      来自广东 回复
    2. 蟹蟹

      来自江苏 回复
  9. 这文章写的好呀

    来自北京 回复
    1. 感谢支持哦~ 😳

      来自广东 回复
  10. 想问下这是什么书啊,能否推荐下,去细读下 🙂

    来自北京 回复
    1. 1.推送系列文章:是我自己通过实战总结出来的经验,个人观点仅供参考
      2.用户画像和推荐算法:可以看《推荐系统实践》;我的下一篇文章也会提到这本书。 😉

      来自广东 回复