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

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

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

内容要点:

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

一、数据ETL

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

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

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

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

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

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

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

二、机器学习

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

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

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

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

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

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

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

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

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

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

三、Demo演示

操作演示视频

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


产品技术咨询

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

原文链接:http://click.aliyun.com/m/1000346558/

本文为阿里云原创内容,未经允许不得转载。

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

  1. 网易郑栋:数据采集与分析的那些事——从数据埋点到AB测试

    本文由  网易云发布. 4月8日晚,DTalk邀请到了网易互联网分析产品.可视化 BI 产品的负责人—郑栋老师,进行了一次关于<网易郑栋:数据采集与分析的那些事第一弹: 数据篇>的主题分享 ...

  2. 数据采集与分析的那些事——从数据埋点到AB测试

    作者:网易有数郑栋. 一.为什么企业需要一套完善的用户行为埋点和分析平台 产品初创期间,需要分析天使用户的行为来改进产品,甚至从用户行为中得到新的思路或发现来调整产品方向:产品成长过程,通过对用户行为 ...

  3. 11月30日《奥威Power-BI智能分析报表制作方法》腾讯课堂开课啦

    这么快一周就过去了,奥威公开课又要与大家见面咯,上节课老师教的三种报表集成方法你们都掌握了吗?大家都知道,学习的结果在于实际应用,想要熟练掌握新内容的要点就在于去应用它.正是基于这一要点,每一期的课程 ...

  4. 斯坦福ML公开课笔记15—隐含语义索引、神秘值分解、独立成分分析

    斯坦福ML公开课笔记15 我们在上一篇笔记中讲到了PCA(主成分分析). PCA是一种直接的降维方法.通过求解特征值与特征向量,并选取特征值较大的一些特征向量来达到降维的效果. 本文继续PCA的话题, ...

  5. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  6. 鸿蒙内核源码分析(管道文件篇) | 如何降低数据流动成本 | 百篇博客分析OpenHarmony源码 | v70.01

    百篇博客系列篇.本篇为: v70.xx 鸿蒙内核源码分析(管道文件篇) | 如何降低数据流动成本 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...

  7. coursera 公开课 文本挖掘和分析(text mining and analytics) week 1 笔记

    一.课程简介: text mining and analytics 是一门在coursera上的公开课,由美国伊利诺伊大学香槟分校(UIUC)计算机系教授 chengxiang zhai 讲授,公开课 ...

  8. Hadoop项目实战-用户行为分析之编码实践

    1.概述 本课程的视频教程地址:<用户行为分析之编码实践> 本课程以用户行为分析案例为基础,带着大家去完成对各个KPI的编码工作,以及应用调度工作,让大家通过本课程掌握Hadoop项目的编 ...

  9. ifconfig源码分析之与内核交互数据

    <ifconfig源码分析之与内核交互数据>本文档的Copyleft归rosetta所有,使用GPL发布,可以自由拷贝.转载,转载时请保持文档的完整性.参考资料:<Linux设备驱动 ...

  10. 投资20万研发的JFinal项目《旅游线路营销管理系统》准备公开课中

    18年初上线了一套旅游营销管理系统,目前给几个合作客户内测试用,是基于JFinal研发的一套旅游行业旅游线路批发零售系统(SAAS)版. 系统终端: PC后台管理分:总部.线路批发商.旅行社门店.个人 ...

随机推荐

  1. oracle错误之未知的命令开头imp忽略了剩余行解决方案

    现象:执行imp命令如下: imp username/password@orcl full=y  file=C:\optimove.dmp ignore=y  解决方案: imp 命令是在dos提示符 ...

  2. 应用层01-HTTP

    2.1 应用层协议原理 2.1.1 网络应用程序体系结构 研发网络应用的程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序. 例如: Web应用程序 客户:浏览器程序(进程) 服务:Web ...

  3. Java jdbcTemplate 获取数据表结构

    表结构如图 代码 @Autowired JdbcTemplate jdbcTemplate; @Test public void getColumnNames() throws Exception { ...

  4. Java内存马2-Spring内存马

    Spring内存马 目录 Spring内存马 1.Spring&Spring MVC简介 2.环境搭建 3.Controller内存马 4.踩坑日记 5.Interceptor内存马 1.Sp ...

  5. 基于proteus的4026的二分频计数

    基于proteus的4026的二分频计数 1.芯片原理 4026还是一个CMOS芯片,是直接输出段码的计数器.显然,这个芯片的作用就是和七段数码管配合,直接将计数结果显示在数码管上.这里只是用于分频, ...

  6. KingbaseES 复制冲突之锁类型冲突

    背景 昨天遇到客户现场的一个有关复制冲突的问题 备库报错:ERROR: canceling statement due to conflict with recovery,user was holdi ...

  7. virtualbox安装windows10出现OOBE,卡在OOBE。

    参照 https://zhuanlan.zhihu.com/p/419237209 https://www.0z.gs/win/781.html 文档 https://learn.microsoft. ...

  8. 5W1H聊开源之What——开源协议有哪些?

    开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议.开源协议规定了用户在使用开源软件时的权利和责任,虽然不一定具备法律效力,但是当涉 ...

  9. 通过位运算修改指定bit位的值

    通过位运算将指定位的值置0或1 问题样例 假如现在有一个8bit二进制数A,其可以为任何值,所以这里不妨先设A=(xxxxxxxx)2,{x|0,1} 现在需要你将A的几个指定位修改为1或0,例如将A ...

  10. #扩展欧拉定理#CF906D Power Tower

    题目 给定一个数列,有\(m\)组询问 定义 \[\large f(x-1)={a_x}^{f(x)} \] 若 \(f(r)=a_r\) 求 \(f(l)\) 对固定的 \(mod\) 取模 分析 ...