首页> 中国专利> 广告效果的衡量方法及系统

广告效果的衡量方法及系统

摘要

本申请公开了一种广告效果的衡量方法及系统,所述方法包括以下步骤:配置存储结构;配置完成后,获取转化漏斗表;基于所述转化漏斗表,查询漏斗数据,评估广告效果。通过本申请,提供了一种多来源、可匹配指定人群的用户转化漏斗模型来评估广告效果,并给出用户转化漏斗分析的计算、存储以及快速查询方案。

著录项

  • 公开/公告号CN112837101A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 北京明略昭辉科技有限公司;

    申请/专利号CN202110170697.7

  • 发明设计人 刘杨;袁振风;刘凯;

    申请日2021-02-08

  • 分类号G06Q30/02(20120101);G06F9/445(20180101);G06F16/215(20190101);G06F16/22(20190101);G06F16/2458(20190101);

  • 代理机构37256 青岛清泰联信知识产权代理有限公司;

  • 代理人赵燕

  • 地址 100089 北京市海淀区北三环西路25号27号楼二层2020室

  • 入库时间 2023-06-19 11:05:16

说明书

技术领域

本发明涉及数据分析技术领域。更具体的说,本发明主要涉及一种广告效果的衡量方法及系统。

背景技术

随着近年来电子商务的发展,广告在生活中随处可见。广告作为一种传媒方式,在现实生活中有着它独特的、不可替代的作用。无论是上街散步还是在家观看电视,无论是翻阅报刊还是上网浏览,都会发现广告无处不在。在这个通讯技术高度发达的时代,广告已经铺天盖地,电视广告、广播广告、报纸广告、招牌广告、网络广告等多种广告形式并存。广告对社会文化和人们的观念,行为产生着巨大的影响。

用户转化漏斗模型是评估广告推广效果的有效工具,特别是可分来源的用户转化漏斗模型,可以直观的展示广告推广效果。现有用户转化漏斗模型主要是分推广渠道来进行归因,转化窗口期固定,对更细粒度上的用户转化归因支持性较差,比如不支持按地域、按IP、按设备类型等用户属性进行分析,也不支持按指定人群进行归因分析。另外,现有方案每次查询都要从原始明细数据计算开始,面对数据量大的情况,分析效率过低,时效性过差。

发明内容

本申请实施例提供了一种广告效果的衡量方法,以至少解决相关技术中主观因素影响的问题。

本发明提供了一种广告效果的衡量方法,所述方法包括以下步骤:

配置步骤:配置存储结构;

获取步骤:配置完成后,获取转化漏斗表;

查询步骤:基于所述转化漏斗表,查询漏斗数据,评估广告效果。

上述广告效果的衡量方法,其中,所述配置步骤具体包括以下步骤:

漏斗配置步骤:配置漏斗存储;

Hbase配置步骤:配置Hbase存储结构;

Druid配置步骤:配置Druid存储结构。

上述广告效果的衡量方法,其中,所述获取步骤具体包括以下步骤:

日志拉取步骤:从消息队列中拉取实时日志;

数据处理步骤:对所述实时日志进行数据处理;

状态查询步骤:提取数据处理后的所述实时日志中的访客ID,在所述 Hbase中查询所述访客ID对应的转化漏斗状态,并反序列化成本地临时缓存对象;

判断步骤:将所述实时日志按照所述访客ID进行分组,在每个分组内对所述实时日志进行逐条判断;

删除步骤:遍历完后,如果所述访客ID的所述转化漏斗状态未被修改或新建,则从所述本地临时缓存对象中删除所述访客ID对应的数据;

写入步骤:将所述本地临时缓存对象中的所有数据序列化后写到所述 Hbase;

数据读取步骤:从所述消息队列中实时读取数据,获取所述转化漏斗表。

上述广告效果的衡量方法,其中,所述数据处理步骤具体包括以下步骤:

清洗步骤:对所述实时日志进行数据清洗;

过滤步骤:过滤异常日志。

上述广告效果的衡量方法,其中,所述判断步骤具体包括以下步骤:

第一判断步骤:判断所述实时日志是否会更新所述本地临时缓存对象中的当前漏斗状态,如果会更新,则将最新状态写入所述消息队列;

第二判断步骤:判断所述实时日志是否会触发新的漏斗计算,如果会,则以所述实时日志为触发日志创建转化漏斗状态对象,更新到所述本地临时缓存对象中。

上述广告效果的衡量方法,其中,所述漏斗数据的查询方案包括但不限于:分来源统计查询、分人群统计查询、可变窗口期查询。

基于相同发明思想,本发明还基于任一项发明创造所揭示的广告效果的衡量方法,揭示了一种广告效果的衡量系统,

所述广告效果的衡量系统包括:

配置模块,配置存储结构;

获取模块,配置完成后,获取转化漏斗表;

查询模块,基于所述转化漏斗表,查询漏斗数据,评估广告效果。

上述广告效果的衡量系统,其中,所述配置模块具体包括:

漏斗配置单元,配置漏斗存储;

Hbase配置单元,配置Hbase存储结构;

Druid配置单元,配置Druid存储结构。

上述广告效果的衡量系统,其中,所述获取模块具体包括:

日志拉取单元,从消息队列中拉取实时日志;

数据处理单元,对所述实时日志进行数据处理;

状态查询单元,提取数据处理后的所述实时日志中的访客ID,在所述 Hbase中查询所述访客ID对应的转化漏斗状态,并反序列化成本地临时缓存对象;

判断单元,将所述实时日志按照所述访客ID进行分组,在每个分组内对所述实时日志进行逐条判断;

删除单元,遍历完后,如果所述访客ID的所述转化漏斗状态未被修改或新建,则从所述本地临时缓存对象中删除所述访客ID对应的数据;

写入单元,将所述本地临时缓存对象中的所有数据序列化后写到所述 Hbase;

数据读取单元,从所述消息队列中实时读取数据,获取所述转化漏斗表。

上述广告效果的衡量系统,其中,所述数据处理单元具体包括:

清洗单元,对所述实时日志进行数据清洗;

过滤单元,过滤异常日志。

与现有技术相比,本发明的有益效果如下:

1、提出了一种广告效果的衡量方法,针对客户实际需求,提供了一种多来源、可匹配指定人群的用户转化漏斗模型来评估广告效果,并给出用户转化漏斗分析的计算、存储以及快速查询方案;

2、通过计算和存储转化漏斗查询的关键数据,过滤了大量不需要参与转化漏斗查询的数据,有效降低了存查询压力;

3、通过数据库的聚合和位图索引功能,大大提升了用户ID的匹配效率,从而提高了用户转化漏斗数据的时效性;

4、通过特殊的表结构设计,以空间换时间,实现漏斗窗口期的灵活调整和快速查询,可以轻松完成实时多来源转化漏斗分析以及可匹配指定人群的转化漏斗分析;

5、提供了更丰富的多来源用户转化漏斗分析方式,提供了自定义人群的用户转化漏斗分析方式,提供了更高效(可用于实时)的用户转化漏斗的架构、存储、计算和查询方案;

6、应用场景丰富,可以用于其他的用户转化漏斗的计算,包括网上商城、教育网站等网站用户转化漏斗分析场景。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本发明实施例提供的一种广告效果的衡量方法整体流程图;

图2是本实施例所揭示的技术方案整体架构图;

图3是图1所揭示的步骤S1整体流程图;

图4是图1所揭示的步骤S2整体流程图;

图5是本实施例所揭示的计算方案流程图;

图6是图4所揭示的步骤S22整体流程图;

图7是图4所揭示的步骤S24整体流程图;

图8是本实施例提供的一种广告效果的衡量系统结构框架图。

以上图中:

1、配置模块;2、获取模块;3、查询模块;11、漏斗配置单元;12、Hbase 配置单元;13、Druid配置单元;21、日志拉取单元;22、数据处理单元;23、状态查询单元;24、判断单元;25、删除单元;26、写入单元;27、数据读取单元;221、清洗单元;222、过滤单元;241、第一判断单元;242、第二判断单元。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/ 或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不待表针对对象的特定排序。

下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替待,均属于本发明的保护范围之内。

在详细阐述本发明各个实施例之前,对本发明的核心发明思想予以概述,并通过下述若干实施例予以详细阐述。

本发明可基于用户转化漏斗模型进行广告效果评估,并给出用户转化漏斗分析的计算、存储以及快速查询方案。

实施例一:

参照图1至图7所示,本实例揭示了一种广告效果的衡量方法(以下简称“方法”)的具体实施方式。

具体而言,首先介绍所示方法的整体架构。从消息队列kafka中拉取待计算的原始日志,中间数据存储在Hbase数据库,最终结果存储在Druid数据库,计算组件选择spark-streaming组件(日志实时计算组件),完成实时日志的实时计算和入库。需要说明的是,所述方法使用的数据库可替换为其他同类型数据库,比如Mysql可用SQLserver替代,Hbase可以用redis替代,Druid 可以用clickhouse替代,以及日志实时计算组件spark-streaming组件可以替换为storm或者flink等,消息队列kafka可以替换为RabbitMQ等消息队列组件,本发明并不以此为限。

具体而言,参照图1和图2所示,本实施例所揭示的方法包括以下步骤:

步骤S1、配置存储结构。

具体而言,在其中一些实施例中,参照图3所示,所述步骤S1具体包括以下步骤:

S11、配置漏斗存储;

S12、配置Hbase存储结构;

S13、配置Druid存储结构。

具体而言,在其中一些实施例中,所述步骤S1中部分涉及字段解释如下:

具体而言,在其中一些实施例中,进行漏斗配置存储设计时,每当使用者创建一个新的漏斗,需要生成一个唯一的漏斗ID,将漏斗ID、转化周期等信息作为一条记录存储到Mysql中,具体配置细节根据需求或场景进行调整。

具体而言,在其中一些实施例中,Hbase承担中间结果存储的角色,中间结果包括用户ID和该用户参与的转化漏斗计算的状态。字段设计如下:

其中,FunnelReffer是由多个来源字段组成的漏斗来源类,lastStep是指使用者创建的漏斗的第N个步骤(降低存储量),该步骤对应的具体信息要在Mysql库中进行匹配,rowKey为visitorId,value则是用户参与的不同漏斗ID下的对应漏斗最新状态,每个漏斗ID下则对应存储不同开始日期或不同来源的漏斗状态。

具体而言,在其中一些实施例中,转化漏斗的最终计算结果会存储到Druid 中,供查询分析使用。由于查询粒度为天,Druid的存储分段策略是按天分段,按funnelId的hash值分区,为了符合客户灵活选择分析时间段和人群匹配包的需求,Druid的表结构设计如下:

然后执行步骤S2、配置完成后,获取转化漏斗表。

具体而言,在其中一些实施例中,参照图4和图5所示,所述步骤S2具体包括以下步骤:

S21、从消息队列中拉取实时日志;

S22、对所述实时日志进行数据处理;

S23、提取数据处理后的所述实时日志中的访客ID,在所述Hbase中查询所述访客ID对应的转化漏斗状态,并反序列化成本地临时缓存对象;

S24、将所述实时日志按照所述访客ID进行分组,在每个分组内对所述实时日志进行逐条判断;

S25、遍历完后,如果所述访客ID的所述转化漏斗状态未被修改或新建,则从所述本地临时缓存对象中删除所述访客ID对应的数据;

S26、将所述本地临时缓存对象中的所有数据序列化后写到所述Hbase;

S27、从所述消息队列中实时读取数据,获取所述转化漏斗表。

具体而言,在其中一些实施例中,参照图6所示,所述步骤S22具体包括以下步骤:

S221、对所述实时日志进行数据清洗;

S222、过滤异常日志。

具体而言,在其中一些实施例中,参照图7所示,所述步骤S24具体包括以下步骤:

S241、判断所述实时日志是否会更新所述本地临时缓存对象中的当前漏斗状态,如果会更新,则将最新状态写入所述消息队列;

S242、判断所述实时日志是否会触发新的漏斗计算,如果会,则以所述实时日志为触发日志创建转化漏斗状态对象,更新到所述本地临时缓存对象中。

具体而言,整体计算流程如下:实时计算程序从kafka拉取一批实时日志,首先要将日志进行数据清洗,过滤掉异常日志,然后将当前批次的所有 visitorId(访客ID)取出,组成rowKeyList(从Hbase读取数据需要提供rowkey,即行键,多个rowkey组成rowKeyList,可以提高平均查询效率),去 Hbase中查询这些visitorId对应的转化漏斗状态,并反序列化成本地的临时缓存对象(以rowKey(即visitorId)为key,多个漏斗状态为value的映射关系);然后将日志按visitorId分组,在每个分组内逐条日志进行判断,首先,判断当前日志是否会更新本地临时缓存中的当前漏斗状态,如果会更新,则将最新状态写入kafka;其次,根据从Mysql中读取(订阅方式同步到广播变量) 的漏斗配置判断当前日志是否会触发新的漏斗计算,如果会,则以当前日志为触发日志创建转化漏斗状态对象,更新到本地的临时缓存对象;在每个 visitorId分组的日志遍历完后,如果该visitorId的转化漏斗状态未被修改或新建,则从本地临时缓存中删除对应的key和value。计算完当前批次的数据后,将本地临时缓存对象中的所有数据(如果没有则不用写回)序列化后写到Hbase。最后Druid从kafka实时读取每一条数据记录,存入转化漏斗表,供后续的查询使用。

然后执行步骤S3、基于所述转化漏斗表,查询漏斗数据,评估广告效果。

具体而言,在其中一些实施例中,所述漏斗数据的查询方案包括但不限于:分来源统计查询、分人群统计查询、可变窗口期查询。例如:分来源里可以分广告活动、IP段、媒体、社交类别等,分人群可以分留存用户、新用户、特殊群体(学生、上班族)等。

具体而言,以转化漏斗20200701到20200707(整体数据查询范围默认自动向后延展一个窗口期,漏斗的第一步必须在20200701到20200707日期范围内触发,此处假设默认窗口期为3天,则实际查询时间段为20200701到 20200710)各步骤达成量统计为例子,分三种方式来说明查询方案:

1、分来源统计,此处假设来源为‘reffer’,实际生产环境可能是多个字段,用and操作符连接即可。如下:

select count(distinct(visitorId))as uv,lastStep from (selectvisitorId,beginDate,max(lastStep)as lastStep from tb where beginDate>=20200701 and beginDate<=20200707 and lastStepDate<= 20200710 andTIMESTAMPDIFF(DAY,beginDate,lastStepDate)<=3 and funnelId='fid'and reffer='a'groupby beginDate,visitorId)ta group by lastStep

2、分人群统计,此处的人群是多个具体的visitorId,在SQL中用“…”符号做替代。如下:

select count(distinct(visitorId))as uv,lastStep from (selectvisitorId,beginDate,max(lastStep)as lastStep from tb where beginDate>=20200701 and beginDate<=20200707 and lastStepDate<= 20200710 andTIMESTAMPDIFF(DAY,beginDate,lastStepDate)<=3 and funnelId='fid'andvisitorId in(...)group by beginDate,visitorId) ta group by lastStep

3、可变窗口期查询,最大窗口期为180天,180天以内可以随意调整,此处假设设定窗口期为7天。如下:

select count(distinct(visitorId))as uv,lastStep from (selectvisitorId,beginDate,max(lastStep)as lastStep from tb where beginDate>=20200701 and beginDate<=20200707 and lastStepDate<= 20200714 andTIMESTAMPDIFF(DAY,beginDate,lastStepDate)<=7 and funnelId='fid'group bybeginDate,visitorId)ta group by lastStep

通过本申请实施例所揭示的一种广告效果的衡量方法,针对客户实际需求,提供了一种多来源、可匹配指定人群的用户转化漏斗模型来评估广告效果,并给出用户转化漏斗分析的计算、存储以及快速查询方案;通过计算和存储转化漏斗查询的关键数据,过滤了大量不需要参与转化漏斗查询的数据,有效降低了存查询压力;通过数据库的聚合和位图索引功能,大大提升了用户ID的匹配效率,从而提高了用户转化漏斗数据的时效性;通过特殊的表结构设计,以空间换时间,实现漏斗窗口期的灵活调整和快速查询,可以轻松完成实时多来源转化漏斗分析以及可匹配指定人群的转化漏斗分析;提供了更丰富的多来源用户转化漏斗分析方式,提供了自定义人群的用户转化漏斗分析方式,提供了更高效(可用于实时)的用户转化漏斗的架构、存储、计算和查询方案;应用场景丰富,可以用于其他的用户转化漏斗的计算,包括网上商城、教育网站等网站用户转化漏斗分析场景。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

实施例二:

结合实施例一所揭示的一种广告效果的衡量方法,本实施例揭示了一种广告效果的衡量系统(以下简称“系统”)的具体实施示例。

参照图8所示,所述系统包括:

配置模块1,配置存储结构;

获取模块2,配置完成后,获取转化漏斗表;

查询模块3,基于所述转化漏斗表,查询漏斗数据,评估广告效果。

具体而言,在其中一些实施例中,所述配置模块1具体包括:

漏斗配置单元11,配置漏斗存储;

Hbase配置单元12,配置Hbase存储结构;

Druid配置单元13,配置Druid存储结构。

具体而言,在其中一些实施例中,所述获取模块2具体包括:

日志拉取单元21,从消息队列中拉取实时日志;

数据处理单元22,对所述实时日志进行数据处理;

状态查询单元23,提取数据处理后的所述实时日志中的访客ID,在所述 Hbase中查询所述访客ID对应的转化漏斗状态,并反序列化成本地临时缓存对象;

判断单元24,将所述实时日志按照所述访客ID进行分组,在每个分组内对所述实时日志进行逐条判断;

删除单元25,遍历完后,如果所述访客ID的所述转化漏斗状态未被修改或新建,则从所述本地临时缓存对象中删除所述访客ID对应的数据;

写入单元26,将所述本地临时缓存对象中的所有数据序列化后写到所述 Hbase;

数据读取单元27,从所述消息队列中实时读取数据,获取所述转化漏斗表。

具体而言,在其中一些实施例中,所述数据处理单元22具体包括:

清洗单元221,对所述实时日志进行数据清洗;

过滤单元222,过滤异常日志。

具体而言,在其中一些实施例中,所述判断单元24具体包括:

第一判断单元241,判断所述实时日志是否会更新所述本地临时缓存对象中的当前漏斗状态,如果会更新,则将最新状态写入所述消息队列;

第二判断单元242,判断所述实时日志是否会触发新的漏斗计算,如果会,则以所述实时日志为触发日志创建转化漏斗状态对象,更新到所述本地临时缓存对象中。

本实施例所揭示的一种广告效果的衡量系统与实施例一所揭示的一种广告效果的衡量方法中其余相同部分的技术方案,请参考实施例一所述,在此不再赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

综上所述,基于本发明的有益效果在于,提出了一种广告效果的衡量方法,针对客户实际需求,提供了一种多来源、可匹配指定人群的用户转化漏斗模型来评估广告效果,并给出用户转化漏斗分析的计算、存储以及快速查询方案;通过计算和存储转化漏斗查询的关键数据,过滤了大量不需要参与转化漏斗查询的数据,有效降低了存查询压力;通过数据库的聚合和位图索引功能,大大提升了用户ID的匹配效率,从而提高了用户转化漏斗数据的时效性;通过特殊的表结构设计,以空间换时间,实现漏斗窗口期的灵活调整和快速查询,可以轻松完成实时多来源转化漏斗分析以及可匹配指定人群的转化漏斗分析;提供了更丰富的多来源用户转化漏斗分析方式,提供了自定义人群的用户转化漏斗分析方式,提供了更高效(可用于实时)的用户转化漏斗的架构、存储、计算和查询方案;应用场景丰富,可以用于其他的用户转化漏斗的计算,包括网上商城、教育网站等网站用户转化漏斗分析场景。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号