开发者社区> 灵杰开发者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用 Databricks 进行营销效果归因分析的应用实践【Databricks 数据洞察公开课】

简介: 本文介绍如何使用Databricks进行广告效果归因分析,完成一站式的部署机器学习,包括数据ETL、数据校验、模型训练/评测/应用等全流程。
+关注继续查看

作者:冯加亮   阿里云开源大数据平台技术工程师


本文介绍如何使用Databricks进行广告效果归因分析,完成一站式的部署机器学习,包括数据ETL、数据校验、模型训练/评测/应用等全流程。


内容要点:

  1. 在当下的信息化时代,用户每天都会收到媒体投放的广告信息,如何做到精准广告投放,可以通过分析广告产出结果来合理分配广告渠道。
  2. 归因分析(Attribution Analysis):通过归因分析模型,分析不同渠道的店铺客流量数据,量化评估影响客户消费的活动因子。
  3. 面对多且杂的数据,Databricks 如何通过一站式数据分析平台和 Delta Lake 架构简化执行过程。


1.png


一、数据ETL

2.png


本文通过归因分析模型,分析不同渠道下的NewYork City快餐店的人流量数据,量化影响人们去快餐店消费的主要活动因子。

首先,从不同的媒体网站,获取分析需要的人流量的数据,模拟SafeGraph月度的人流量数,将数据存储到Bronze层。然后,进行数据清洗,将每月的时间序列数据,每日访问次数,存储到Silver层,将影响快餐店人流量的数据汇总至Gold层,进行进一步校验,确定是否满足要求。


3.png


接下来,对相关字段进行筛选,筛选出需要的字段,将店铺每日访问的人流量展示出来。

本文的数据是8月店铺的人流量,如果进行机器学习模型训练,还需要引入不同快餐店的人流量数据,来丰富该数据工程。


4.png


为了丰富数据工程,数据工程师创建了赛百味的fastfood数据集,模拟广告投放、社交媒体、门户网站的流量参数,将人流量的具体情况,默认到这个food traffic表中。


5.png


通过调用谷歌的Google Trends API,来丰富food traffic的数据。然后,将聚合后的数据写入delta gold table里,完成数据的ETL工作。

Google Trends,即常说的谷歌趋势,是谷歌基于搜索数据推出的一款分析工具。它通过分析谷歌搜索引挚每天数十亿的搜索数据,告诉用户某一关键词或者话题,各个时期在谷歌搜索引擎中展示的频率及其相关统计数据。

 

二、机器学习

6.png


完成ETL的相关工作之后,进入机器学习模块,将不同来源的人流量数据,统一到Data Lake架构里。通过数据清洗,得到需要的数据。然后,对数据进行校验,确定是否满足机器学习的模型训练需求。


7.png


通过使用预测模型,量化不同渠道的人流量,对最终消费进行预测。

接下来,利用模型,整合各个媒介渠道影响客流量的百分比,对广告投放的优化提出可行性的见解。

如上图所示,第一张表是整个纽约州不同城市间的人流分布图,第二张表是New York City的人流分布图。通过上图,可以直观看到不同城市间的人流量差距较大,所以要对纽约州的每个城市进行单独的分析。


8.png


接下来,使用Plot features对数据进行校验,使用Pandas数据框进行数据搜索,数据解析。


9.png


通过Python绘图,可以看到数据的分布情况,比如广告投放的连续情况,以及社交媒体网站的浏览情况。


10.png


完成上述操作后,对数据集的整体分布进行校验,得出feature分布符合预期。综上所述,该数据集满足Xgboost学习训练的要求。


11.png


接下来,使用Xgboost机器学习框架进行训练。通过调整参数,选择一个相对损失较小的训练模型,对该模型进行实际预测,从上图可以看到,红色线是预测结果,蓝色线是真实的客户流量。


12.png


通过该模型进行实际预测,得出社交媒体对客流量的影响,占总体的50.7%,网页浏览对客流量的影响,占总体的39%。故得出,不同渠道的广告对客流的影响,真实有效。


13.png


综上所述,利用SHAP模型整合各媒介渠道客流的百分比,通过绘制图表,能够准确找到影响客流量最大的因子。社交媒体和home页面访问是推动客流量最有效的渠道,所以预算分配可以有的放失,从而提高整体销售或市场份额。


三、Demo演示

操作演示视频

https://developer.aliyun.com/live/249173



产品技术咨询

https://survey.aliyun.com/apps/zhiliao/VArMPrZOR  

加入技术交流群

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何使用Delta Lake构建批流一体数据仓库【Databricks 数据洞察公开课】
Delta Lake是一个开源存储层,它为数据湖带来了可靠性。Delta Lake提供了ACID事务、可扩展的元数据处理,并统一了流式处理和批处理数据处理。Delta-Lake运行在现有数据湖之上,并且与Apache Spark API完全兼容。希望本篇能让大家更深入了解Delta Lake,最终可以实践到工作当中。
121 0
如何使用Delta Lake构建批流一体数据仓库【Databricks 数据洞察公开课】
Delta Lake是一个开源存储层,它为数据湖带来了可靠性。Delta Lake提供了ACID事务、可扩展的元数据处理,并统一了流式处理和批处理数据处理。Delta-Lake运行在现有数据湖之上,并且与Apache Spark API完全兼容。希望本篇能让大家更深入了解Delta Lake,最终可以实践到工作当中。
349 0
windows环境里React-Native运行失败的原因之一,缺少依赖
windows环境里React-Native运行失败的原因之一,缺少依赖
59 0
【Spark Summit East 2017】使用Spark对仙女星系数据进行分析
本讲义出自Jose Nandez在Spark Summit East 2017上的演讲,主要介绍了使用Spark与Python API对于仙女星系的数据进行交互式数据分析,Spark-Python代码充分利用了Spark RDDs进行查询来帮助预测某一对像是否属于仙女星系。
1782 0
sublime text 将2的插件转换为3的插件必备插件 Py2to3 在windows下的使用说明
Py2to3插件的功能是 将python 2 的脚本转换为 3,  可以用它将ST2的插件可以轻松升级到ST3. 原文见: http://www.sublimetext.com/forum/viewtopic.
684 0
微信4.5 for Android安卓内测版体验【实时对讲】杀手级应用下载
微信4.5 for Android 安卓 内测版 体验   程序启动画面,是一支在动的烛光 主要功能更新如下 支持语音提醒,到时间后自动弹出消息框 发起语音提醒请求       成功识别语音请求,并且保存在本地,应该是本地,不是服务器 到时间了就弹出提醒 地...
1098 0
14
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载