序列模式挖掘在用户行为分析中的应用

环境

在互联网产品中,用户行为分析,通常指的是根据统计分析、剖析客户在商品上的各类个人行为事件,发掘、发觉出有用的信息,为商品的设计方案,运营策略给予令人难忘的根据。

通常,用户行为分析包括下列步骤:

数据埋点数据收集数据清理数据呈现

在淘宝闲鱼中,大家有大量客户埋点数据,这种数据信息量丰富多彩,可是却非常少合理地运用起來:

使用率低:埋点数据量大而且十分混乱,通常都仅仅某一特殊情景下,会统计分析一些特殊埋点数据数据太“初始”:通常埋点全是某一网页页面曝出、某一点一下事件这些,这种事件层面“低”,单用这种埋点不可以表述一些“高纬度”的事件,例如“点一下输入框->输入文字->进到搜索结果->点击搜索結果”为一次详细检索产品个人行为。

那麼对于这种初始埋点,大家是不是可以根据优化算法解决,抽象化出更高纬度的客户个人行为数据,而且运用这种数据,发掘出有用的信息呢?

文中咱们将共享淘宝闲鱼在用户行为分析中,运用“编码序列方式发掘”所做的的一些试着和运用。

1.什么叫“客户个人行为”

一般人们将客户个人行为界定为:由一系列的个人行为事件所串连成的编码序列。这一界定在不一样的“粒度分布”上面有差异的表述,例如细粒度上看来,“检索产品”->"闲聊“->“提交订单”为一个消费者个人行为,在其中“检索产品”是一个个人行为事件。

可是从粗粒度上看来,“检索产品”包括了好几个更小的事件,例如“点一下输入框->键入文字->点击搜索按键->查询百度搜索”等,从粗粒度上这好多个事件一样可以界定为个人行为事件,这时“检索产品”就变成了一个消费者个人行为。

因而,剖析客户个人行为,要首先看大家从哪个层面上实现剖析。

在这篇文章,大家将个人行为事件界定为“页面跳转”和“按键点一下”两大类事件,而客户个人行为则是“好几个个人行为事件”依据先后顺序串连在一起的编码序列。

相匹配到数据方式上,每一个“页面跳转”都相匹配一个埋点,每一个“按键点一下”也都相匹配一个埋点,因而,用户行为分析,事实上也就变成了:埋点编码序列剖析。

2.什么叫“编码序列方式发掘”

编码序列方式发掘,是数据挖掘里相关性分析优化算法的一种,用直接得话来了解,便是:

从很多的编码序列数据中,发掘出经常发生的“子序列”。

以大家埋点数据为例子,客户造成的埋点数据,依据時间排序可以获得一串埋点编码序列(图中中埋点1到埋点7), 而编码序列方式发掘的功效,便是可以从很多消费者的埋点编码序列中,寻找在其中掩藏着的方式:

埋点2->埋点4->埋点7(即很多客户都出現了“埋点2->埋点4->埋点7”这类行为模式,正中间很有可能有其他埋点)。

运用编码序列方式发掘,我们可以从客户埋点数据中,发觉一些也许有價值的客户行为模式。

3.怎样运用3.1 发觉不明个人行为

运用编码序列方式发掘,可以“梳理”和“汇总”群体的个人行为关联性,那麼如果我们先依据个人行为数据对群体开展无监管聚类分析,随后再对聚类分析出的群体开展个人行为编码序列方式发掘,就可以“梳理”出该群体的“个人行为特性”。

个人行为聚类分析的步骤大概如下所示,有感兴趣的朋友们可以查看相关资料,这儿不会再进行:

这儿无监管聚类分析可以依据群体本质的个人行为特点,获得不一样群体。由于没提前开展个人行为界定,因而可以看到一些之前不明的群体,可是与此同时也形成了一个缺点,便是聚类分析結果可实证性差,聚类分析出的群体为什么被聚在一起不为人知。

而个人行为编码序列发掘刚好可以“表述”一个群体的公共性个人行为编码序列,因而融合聚类分析和队列方式发掘,既可以看到不一样的群体,又可以表述这种群体被归类的“缘故”。

实例:发觉不明灰产群体

用以上计划方案,大家对淘宝闲鱼的客户埋点开展剖析,发觉聚类分析出的群体里,有一个人群的个人行为编码序列是:

“产品搜索结果->开启某一产品->点一下闲聊->推送文档->回到产品搜索结果->开启某一产品->点一下闲聊->推送文档”

取样查询这些人推送的文档发觉,全是广告宣传视频,换句话说,这种全是灰产账户,持续的在推送广告宣传视频给其他客户,而这种灰产个人行为,是咱们原来“不明”的(不用提早了解这种做法的存有)。

这类方法对比原先的“防水堵漏”型灰产防治有下列优点:

沒有工作经验预置,可以迅速从数据中发觉新式的灰产行为模式,而无须直到大规模用户满意度之后做防水堵漏。优化算法抽象化出去的行为模式对比人力“汇总”会更为精确。(原先的防治大部分是依据用户满意度,随后人力观查这种人的行为,并且用标准去鉴别配对这种个人行为)3.2 发觉大量类似群体

假定大家已经有一个特殊群体样版(例如一批灰产账户),那麼怎样借助这批判别分析,去寻找更高的一批类似样版呢?

我们可以根据编码序列方式发掘,发掘出这种群体个人行为的编码序列方式,随后再用这种编码序列匹配算法全部群体,那样就可以获得一个更高范畴的,达到这一行为模式的群体。

实例:发觉大量搔扰客户的灰产账户

在淘宝闲鱼中,对于灰产的防治,有很多已经有的完善计划方案,这种计划方案会輸出许多灰产群体。

在其中一个群体,是将广告宣传放到个人介绍里,随后头像图片换为含有“看着我介绍”文本的照片,最终持续推送神情给其他客户,吸引住客户去看看介绍里的广告宣传。

这一群体是按照以前的对策产出率的,均值每日可以发觉大概 1800 个以内的灰产账户。

大家充分利用以上计划方案,发掘这一群体的公共性个人行为:

“检索产品-点一下产品-进行闲聊-推送信息-点一下个人中心-关心客户”

根据这一行为模式,大家再去配对了所有用户,获得了很大的一个群体。这种群体通过认证,全是灰产账户。

通过交叉式核对和人力认证,用个人行为匹配算法的方法:

比原先的对策多造成了 57% 的灰产账户。产出率的灰产账户准确度做到 99%3.3 给予新的数据角度

根据发掘所有用户的公共性个人行为编码序列,我们可以获得一个个人行为序列表,拥有这一表,大家就可以根据统计分析每一个客户产生这种个人行为数据的频次,获得一份最新的数据,即“客户个人行为频次表”。那样,我们可以从不一样个人行为的频次这一角度上,发掘大量信息。

(发掘出的个人行为表,由于个人行为组成的多元性,因此有许多现实意义上反复的个人行为编码序列,可以用 PCA 因子分析法来进行过滤掉反复的个人行为编码序列)

例如,可以核对不一样消费群,在这种个人行为频次上的差别(一个id为一个个人行为编码序列,如 4633):

自然,这类那样的数据还要进一步发掘才可以获得具体可使用的信息,对于不一样业务流程和问题,也是有不一样的运用方法,这儿大家也还仅仅是一个构思,大家也在再次试着,期待能从这一新的数据角度发掘到对业务流程有用的信息。

4. 大量运用

自然,以上仅仅共享了大家运用编码序列方式发掘在用户行为分析上的试着,除开 这种方式,也有大量可以运用的情景。

例如除开以上这种比较大粒径的用户行为分析,编码序列方式发掘还能够用在更小粒径的场面上。例如剖析单独网页页面内,客户个人行为是不是有一些特殊的方式(这时的手段可以界定为更细腻的实际操作,如点一下、滚动,长按等),进而进一步协助提升客户体验,出现异常等。

针对用户行为分析和队列方式发掘,文中的实例仅仅冰山一角,期待这儿可以发挥开诚布公的功效。

文中创作者:淘宝闲鱼技术性-楚丰

全文连接

大量技术性干货知识敬请期待云栖社区知乎机构号:阿里云服务器云栖社区 - 知乎问答

文中为云栖社区原創內容,没经容许不可转截。

扫码免费用

源码支持二开

申请免费使用

在线咨询