推荐算法模型应用——策略运营沙盘与促活引擎

作者:神秘网友 发布时间:2020-09-07 13:59:17

推荐算法模型应用——策略运营沙盘与促活引擎

推荐算法模型应用——策略运营沙盘与促活引擎

个人公众号:livandata

前面聊了那么多推荐类的算法,具体在数据产品中该如何应用呢?是不是这些推荐逻辑只能应用在推荐系统中呢?我想未必的,用户兴趣在业务逻辑中几乎可以渗透到工作的方方面面,简单来讲:无论什么业务,但凡接触客户,就给他最喜欢的东西,是不是一个最好的策略?

答案可能是未必,但是在大部分领域还是非常有价值的,笔者在这一文章中跟大家分享一下两个常见的应用方向:

1)活动受欢迎程度、最佳人群/活动推荐:

1.1)我们根据经验设计了一个闪闪发光的活动,是否真的符合当下公司的客群?

1.2)近期公司想要回馈老客户,运营圈定了一批高价值客群,这些客户适合哪些类型的活动或者喜欢哪些类型的优惠券?

1.3)公司新增加一个合作方,谈了一批新的优惠券,想要了解一下这些新的优惠券适合哪些客户?

2)针对有异常的人群,投其所好的向他推送他喜欢的优惠券:

2.1)近期公司的目标是促活和转化,面对筛选出的异常客户(例如:活跃不转化、睡眠户、待流失),该给他什么样的优惠券才能激活他?

上面这些问题该怎么解决呢?千万人有千万思路,本文从算法角度,探索一下算法的解决思路,这一算法模型即为:用户兴趣模型,也叫营销响应模型。

因此,在解决问题之前,我们先来看一下兴趣模型构建过程:

1、营销兴趣模型

在挖掘客户的兴趣时,我们借鉴了推荐系统的常用模型——DeepFM,这一模型因为能够有效的深度融合高维和低维的特征,在点击率预测和推荐排序方面应用极为广泛。

我们细想这一模型,点击率预测和推荐排序问题,本质上都是根据用户对商品的交互行为,混合用户/商品的基本属性,计算用户喜欢某商品的概率值,进而推断是否会点击。

这个模型构建过程中存在一个基本的假设:用户喜欢就大概率会点击。且不管这个假设是否一定成立,单看前半部分,模型预测出了用户是否喜欢某一商品,这一部分就足够我们应用了。

模型构建过程中,我们以活动数据为切入点,获取了用户的基本属性、活动的基本属性以及用户对活动的行为交互数据,融合这三种数据,将其喂入到DeepFM模型中,计算得到用户对活动的喜好程度,即兴趣度。

这中间存在一个很有意思的点,就是特征库简化了特征工程的难度。正常逻辑下,算法工程师需要进行详细的特征筛选,罗列现有的特征,通过相关性或熵值等计算方式,判断哪些特征与目标值有相关性,进而筛选出强相关特征以及相关性权重。这一过程往往消耗很长的时间,但特征库的出现简化了这一工作,特征库的工作原理我会在后面的文章中具体描述,在这里,我们简单理解为将y值和x的关键经验值(有些设计会省略掉x关键值只输入y值,取决于特征库的设计完整度)放入到特征库中,特征库会返回给你与y值和x经验值强相关的其他特征以及对应的相关性权重,如下:

工程师只需要对这些特征进行简单的缺失值、离散化等业务相关处理,就可以直接将其喂入到模型中了。

有没有感觉很有意思?

科技的力量会逐渐替代掉人工,就像汽车替代马车、机器替代劳力一样。

聊回正题,DeepFM模型我在推荐算法的系列中做了描述,可见文章:

https://images1.tqwba.com/20200907/20pldcvoyon

本文由于是探讨算法在产品设计中的应用,算法方面,简单的贴出模型的样式,有兴趣的同学可以深入探索:

整个运算过程即为:

经过上面的探讨,我们得到了用户对某一活动的兴趣度对照表:

我们接下来的工作,就是用这三张表设计对应的应用场景了。

2、策略运营沙盘

运营过程中,活动设计往往会遇到一类问题,即:“知识的魔咒”,自身丰富的经验,使活动设计人员认为活动本该如此设计以及某一阶段的客群就应该喜欢什么,逐渐忽略掉新方案的探索和客户真实的喜好。

这一“魔咒”能否打破呢?

我们今天尝试从用户兴趣度角度给出一个新的方法。

很多活动的设计思路来自于以往的经验和别家公司的经验,这其实是我们不断学习的主要方法,即:从历史中吸取经验和从其他人身上获得启发,这本身没有问题,模型构建本身也是沿用了这一思路,即从过去n年的活动数据中总结推断出现在我们的客户喜欢什么,然后给他设计什么样的活动,问题在于人是无法从整个数据集角度来判断用户喜好,设计活动方案的,一方面是因为计算量太大,另一方面是因为过于繁杂的数据很难抽离出有效的信息。

于是,有了兴趣模型~

兴趣模型的价值就在于能够借用自身强大的计算能力,遍历公司n年有效数据,用存量客户以往的行为判断当下的喜好,而新客也可以根据与存量客户的相似度,近似判断当下的喜好,变相解决了上文中提到的人的局限性。

但是兴趣模型自身的局限性在哪里?

很简单,局限性就在于模型不能读新闻,什么意思呢?即模型无法从其他人的身上获取到启发,缺乏想象力,除非你将其他人的经验数据喂入到模型中,而这一点,往往是做不到的,因为其他公司不可能提供给你你想要的数据,所以,单纯对兴趣模型的依赖,往往是不成功的,因为他在对陌生事物的探索和启发能力远不及人类。

于是,有了人机结合~

人机结合主要是指人在构思方案过程中,借鉴兴趣模型对历史数据的挖掘能力,融合自身的奇思妙想和借鉴启发,形成一个较为完整的方案思路。

策略运营沙盘应运而生~

这一沙盘主要有三个能力:

其一:现有活动和客群是否匹配?

如果正在运行的活动是来自于自身的奇思妙想,或者来自于过去的经验,在当下的公司客群中是否合适呢?

我们可以拆解活动,确定有辨识度的活动类型特征,并将其喂入到上面的兴趣表中,圈定一批活跃客群,然后拿这批客群与活动原本确定的客群进行比较,取交集查看客群兴趣度分布。进而确定活动设计是否符合当下客群。

其二:面对新的客群,哪些活动类型匹配度高?

这个问题就有一些推荐的影子了,我们根据新的客群,在兴趣表中圈定对应的活动特性,并根据各个活动特性的兴趣度排序,查看各个活动特性的兴趣度分布情况,兴趣度普遍偏高的活动特性即为满足客群的活动特性,我们就可以围绕这个活动特性发挥想象力了。

其三:面对新的优惠券,该面对哪些客群设计活动?

兴趣模型中评估兴趣度的一个主要活动特性即为优惠券,当产生新的优惠券的时候,我们可以在兴趣表中的活动类型列表筛选出与现有优惠券相似的优惠券客群,并根据兴趣值进行排序,把兴趣度大于某一阈值的客群筛选出来,作为目标客群,设计新的活动。如果筛选出来的客群数量不够,可以将这部分客群作为种子客群,采用人群扩散的方式,扩大客群的数量。

讲到这里,策略运营沙盘的三个应用方向就清晰了,欢迎有兴趣的小伙伴来聊~

3、促活/召回引擎

前面讲完了活动设计过程,接下来我们聊一下促活/召回的问题。

促活/召回的问题本质上是刺激异常客户变化的问题,主要分两个步骤:

其一:确定哪些客户是异常客户。

作为运营人员,我们需要关注的异常主要有:活跃不转化的客户、不活跃的客户、待流失客户,这三种类型的客户是相对比较理论的认知,在结合具体的业务场景时,往往会有更细致的划分,比如:频繁首页浏览没有深入访问的客户、只做查询动作不做具体交易的客户、频繁使用一个功能不涉及其他功能的客户等等,这些异常的行为通常反应出客户的心理矛盾。

在一个完整的生命周期中,一个正常的客户访问往往是:从初步的访问到深入的浏览、从只做查询到完成具体的交易、从完成单一交易到完成多种类型的交易、从低频访问到高频访问等等。随着客户对APP的逐渐熟悉,对APP的使用也会逐渐深入,反之就会存在异常,这一异常就是值得我们反复探索的地方。

在这篇文章中,我们姑且以:活跃不转化的客户、不活跃的客户、待流失客户三类为例,探索兴趣模型在其中的应用。

其二:确定异常客户喜欢什么样的优惠券

上文我们提到过,有区分度的活动类型最主要的是优惠券,这也符合我们的认知,因此,可以从兴趣表中抽离出用户对优惠券的兴趣度,进而应用到这里。

确定异常客户,同时又明确了这些客户喜欢什么样的优惠券,接下来需要做什么呢?

我想已经很清楚了吧?

向这些客户发送他们喜欢的优惠券,以图最大化激活这些客户,达到促进异常客户变化的目的。

在工程方面,我们可以以一个流程图的形式呈现出来:

从上面的信息流我们基本上可以看到这个促活/召回引擎的使用逻辑,即:

1)确定异常客户和感兴趣的优惠券,并配置到标签库中;

2)将标签库对接到事件中心,按照一定的规则触发消推平台;

3)消推平台获取到异常客户和对应优惠券,进行个性化发送;

这一思路有两个地方可以作为亮点:

1)兴趣模型会根据用户兴趣的变化,定时调整感兴趣的优惠券,这样可以保证同一个客户在不同的时间接收到不同的优惠券类型,不让客户因为千篇一律的优惠券而反感。

2)事件中心实时发送优惠券,既保证了实时性,同时,规则配置可以增加消推平台发送优惠券的灵活性(上午发送或者下午发送对不同的客户有不同的影响),在时间维度上满足客户。

好了,文章写到这里就告一段落了,对于兴趣模型,或许大家还会有更好的应用思路,欢迎大家来撩~

推荐算法模型应用——策略运营沙盘与促活引擎相关教程

  1. 差分进化算法
  2. 【算法】2 由股票收益问题再看分治算法和递归式
  3. [Java]深入理解Java内存模型(一)基础
  4. 推荐系统架构治理
  5. 小程序I18n最佳实践案例
  6. 需要真正明白的Promise
  7. 深度学习中对全连接层的理解
  8. Jvm垃圾回收算法,相关概念和四种引用