查看原文
其他

流量为王,如何盘活你的客户数据

微软科技 2021-04-22

(本文阅读时间:8分钟)

兵法有云,知己知彼,百战不殆。现如今,商场如战场,商业模式,客户喜好,竞争对手动态瞬息万变,稍有不慎,整个业务就会陷入困顿。那么在如今流量为王的商业大背景下,如何盘活你的客户数据,做到真正的私域流量激活销售,就需要大家在数据上多动脑筋。

你可能已经在多个场合下了解过数据中台的概念,数据中台强调可量化业务价值,通过数据业务化从而推动业务发展,比如精准营销,个性化推送等等,今天我们看下其中的一个很重要的业务场景 —— 用户标签体系,探索通过微软数据服务构建用户画像。

很多企业往往对自己的产品研发,以及市场脉搏有自己独到的见解。但是如果落实到需要执行的数字化端,往往一筹莫展。这一次,我们就给大家介绍一下企业如何在微软的数据平台上构建一个用户标签体系。

但是大家要注意几点。虽然说其中涉及到了很多微软产品,比如数据湖,大数据分析工具等,但是请千万不要本末倒置。正所谓拿着这些工具去反推业务,这是犯了大忌,所以还是要结合自身业务,来看一下如何构建自己的用户标签体系,因为有的企业是 2B 的,有的企业是 2C 的,业务驱动模式完全不同,数据来源不同,业务目标也不同。不做削足适履的事情是大家要记住的。

接下来给大家说一下这次案例的大致数据背景,假设某公司运营媒体类的线上节目,那么就会有自己运营的节目列表,有自己的客户注册信息,以及线上应用收集过来的数据,那么业务目标就是如何让更多的免费注册用户成为付费的白金用户,如何推送订阅广告,以及分析哪些是高潜客户成为了用户标签体系很重要的环节。


用户标签体系案例背景介绍

首先来看一下已有的四类用户数据。

1.用户唯一识别号:这个唯一键值会始终贯穿在和其他数据进行交互分析,当然也包括一些常见的数据类型,比如姓名,地址等。

2.视频媒体节目信息:我们可以看到每个视频节目都有一个唯一识别号,当然也有作品名字,艺术家名字,长度等。这些也可以作为以后的交叉分析。

3.应用可收集的用户行为信息:其中我们关注客户的唯一 ID,什么时候听的这个节目,是用手机端听的节目吗?客户的邮政编码 (这个可以知道地理信息)。

4.关键用户行为信息:用户在使用过程中到底点了什么广告,或者推荐的订阅。

我们把所有的数据都介绍完了,现在看看我们准备如何操作。之前的四个数据源,用户信息和媒体信息都是静态的数据,可能会有间歇性的刷新。应用里的追踪数据和用户点击行为数据相对来说变化都比较快。那么按照正式应用场景,我们一定需要把这四个数据源通过一些 ETL 工具实时导入到一个数据湖中,本文就不详述如何做 ETL 抽取了,大家其实可以选在 Azure Data Factory 完成这一步。这次我们就聊数据全部放入到数据湖之后如何操作。

从下图来看我们可以有三个输出结果:一个是通过 Databricks 来做属性抽取,就是把之前的数据源中感兴趣的属性放到一个用户标签体系来看,比如说某用户,听取某个内容听了多少次,听取的时间段分布如何,然后是否点击了订阅,这个我们后面会详细分说。另外一个是通过机器学习模型(Azure Machine Learning Service)来判断用户是否会是高潜的付费用户。最后一个就是通过 Power BI 来做快速的商业分析,这部分不做赘述。


技术实现准备篇

实现用户标签体系的建立,需要准备以下环境:

1.建立数据湖:注意选在 v2 版本,这个是支持数据湖第二代,那么里面支持高并发访问,以及目录结构方式,对于 Spark 的使用会是相当的方便。同时也建立一个新的 container,我们把要用到的四种用户数据都放在这个 container 下面。

2.建立 Azure Databricks 集群:Databricks 有个比较好的优点是,集群是可以随时关闭的,数据还是在数据湖里。这样的话在不用跑大数据业务的时候,可以节约在云上的开支。

3. 建立 Azure 机器学习服务:此服务功能十分强大,可以作为训练的集群,可以作为生产部署模型,也可以和 Azure DevOps 集成。本次我们主要用到自动机器学习的功能。


用户标签体系建立实践

1. 我们主要的用户标签的属性抽取将会在 Azure Databricks 中完成,首先我们先打开 Databricks 的 workspace。

2. 来到交互式的 Notebook,其中第一步我们就是要把数据湖以文件形式挂在到 Databricks 中。大家可以看到其中我们通过 Azure 的 Service Principe 的方式结合 Key Vault 安全存储密钥,在代码中是没有明文写入任何密钥的。随后把数据湖中的一个容器里的所有文件挂在到了 /mnt/customer360 这个目录下面,这样就你能很方便的在 Databricks 中以文件系统的方式来操作了。

关于如何配置密钥,请参考官方指南:

https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/azure-datalake-gen2 

3. 下面我们来读取 tracks.csv 这个文件。通过一定的通用化,把 csv 的文件读取成 RDD 的 key/value 形式,然后通过 RDD 高效的 map/reduce 功能按照客户 ID 来迅速得做好汇总。结果就可以看到 Cust ID 为48的这个客户,所有的行为数据都被整理了出来。

4. 接下来我们做进一步分析,按照客户 ID,计算他/她在各个时间段收听的时间,收听过多少个节目,多少是在手机端收听的。这样就产生了一个简单的用户标签画像。是不是觉得用户画像并没有这么难?

同时大家注意了,这进一步的加工就是为了之后做特征分析用的,我们将以这几个作为特征分析机器学习向量的输入。

5. 我们看一下是否点击推送的订阅广告的情况.读取 clicks.csv 的信息,来转化成按照客户 ID,以及是否点击的 RDD 序列。这样可以和之前生成的按照时间分布的客户属性做一个交叉查询。

6. 紧接着我们就来做一个 spark 里也经常会使用到的 Data frame,我们通过一系列的函数,得到按照是否点击了,以及各个收听时间段,是否为移动端等机器学习需要用到的特征。


用机器学习分析用户行为模型

第一种方法  使用 Spark ML

我们把之前输出的机器学习文本导入。由于目标很明确,是想知道客户是不是会点击订阅广告,那么是不是 click 就是我们机器学习的目标,输入就是之前的时间分布,是否手机端收听等。这是一个比较明确的分类问题,下面随意选取了一个 Naïve Bayes 分类模型来计算。最后看了下准确值,看起来是0.848,还不错。

第二种方法  微软自动机器学习

1. 同样的数据,我们把数据导入微软的自动机器学习中。首先选取的你的目标列,就是机器学习告诉你到底用户是不是会点订阅广告呢?这个非常友好,如果你记得之前那个 spark 机器学习包,输入的数据是一定要按照定义好的序列来,你得实现处理好你的数据结构。但是到了微软的自动机器学习里,它会很贴心的让你选取。

2. 在开始愉快的机器学习之前,你可以给它指一条明路,比如只选取分类的模型,当然也可以全选。同样的道理,它会让你选择要输入哪些特征,是不是很棒?妈妈再也不用担心我做脏数据处理了。

3. 随后等待机器自我学习的时间,可能会比较长,取决于你的机器多少。随后我们就看到了结果,下面这么多模型效果都不错,当然比我之前在 spark 里的好,似乎也不是差太多。当然也有一些模型准确率相当不好,也许还不如丢硬币。


用户画像展示以及模型下载

总结一下我们前面这么多操作,最终可以得到什么呢。第一个当然是之前通过 Azure 自动机器学习得到的预测用户是否会点击订阅广告的这样高潜客户,这个模型可以使用到生产中。另一个是可以通过之前得到的用户画像属性,做一些简单的商业分析报告。

1. 下载机器学习模型,以备生产使用。

2. 通过 Power BI 做一个简单的分析. 可以按照用户收听时间的习惯,看起来好像是早上收听的最多。按照是否手机端看,数据显示 PC 端还是多一点。同时可有看看散点图,大致了解到手机端用户的分布。

 


总结

上面我们通过一个简单的用户画像标签体系,向大家展示了如何在大的数据中台中完成的你的一小块拼图,不过也是很重要的一块拼图 —— 用户标签画像

同时你可以通过可视化 BI,以及机器学习模型,持续不断优化你的业务。比如给高潜用户投放优惠券,投放订阅广告等,同时持续运营你的客户关系。但是在商业规则也好,治大国烹小鲜也好,了解你的最终用户的需求,以及使用习惯是重要的,千万不能把一些无关的数据,或者说是伪造的数据,引入到标签体系,那么得出的结果往往是南辕北辙的。同样对于客户的隐私数据也一定要保存好,本文使用的 Azure Databricks 就集成了微软的 AAD 体系,以及密钥保存库,让数据泄露的风险降到最低。以后有机会再给大家说说数据的脱敏,动态加密等 Azure 平台上的功能。

最后祝大家能够建立起有效合法合规,合情合理的用户标签体系,运营好自己的私域流量。即刻点击阅读原文,进入代码传送门!


1推荐阅读《微软给企业的7个锦囊》—No.6
未来智慧建筑的N种打开方式
化繁为简,微软商用Surface成为水利电力企业发展新引擎
2最新活动企业如何高效办公?“避坑”指南安排上



点击这里阅读原文

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存