网站及APP坑位流量归因分析-(3)数据计算篇

2022-09-21 09:33:27 浏览数 (1)

前面了解到归因分析的理论知识和数据采集,接着我们看如何搭建数据计算模型。比如我们现在希望对进入UP主视频播放页的来源进行归纳。

一、根据采集信息,对采集页面进行梳理整合。下面以BiliBili的IOS端为例进行说明

客户端

坑位

事件名称

整合后入口

IOS

我的-关注-我的好友-我的关注-点击

click_my_follow

关注页

IOS

我的-关注-我的好友-我的粉丝-点击

click_my_fans

关注页

IOS

我的-历史记录-全部

click_my_history_all

历史记录

IOS

我的-历史记录-视频

click_my_history_vd

历史记录

IOS

搜索结果页-综合-UP主

click_search_com_up_user

搜索结果页

IOS

搜索结果页-综合-视频列表

click_search_com_vd_ls

搜索结果页

IOS

首页-推荐-热门推荐

home_page_recom_hot

首页推荐

IOS

首页-热门-排行榜

home_page_hot_rank

首页推荐

二、利用归因算法模型处理上述数据。

参数

含义

填写示例

ActionData

待归因的行为数据

bili_dwd.dwd_dot_log

targetActionData

目标行为数据

bili_ads.ads_dot_target_1d

outputData

输出数据表

bili_ads.ads_dot_detail_1d

Objects

归因对象

uuid,user_id

Dimensions

归因维度

up_id_com,app_key

Fields

归因字段

page_combine,business_name,pos

targetFieldInfo

目标字段信息,json

{"target_field":[{"name": "watch_time", "event": "watch", "calculateType": "sum"},{"name": "fork_cnt", "event": "fork", "calculateType": "count_distinct"}]}

targetField

目标字段

target_field

additionalFields

额外字段

r_business_id,r_business_name

timelineFiled

时间戳字段

occur_time

targetValueField

目标取值字段

target_value

eventSplitRule

事件切分规则(EventType:EventSplitRule)

fork:all,watch:latest

Methods

归因方法

recent,average

startDate

进行归因计算的日期

${yyyy_mm_dd}

traceBackDays

往前追溯的天数

0

maxIntervalHours

最大归因间隔(小时)

24H

MaxLength

最长单序列长度,超过该长度会被切分多段

1000

minNearestTimeInterval

路径切分规则为NEAREST时最大的间隔时间,分钟

120

  • EventType: 事件类型,目前有FORK、WATCH
  • IndexType: 指标计算类型,目前有sum(求和), count_distinct(去重)
  • Method: 归因方法,目前有recent, average
  • EventSplitRule:路径切分规则,目前有ALL, LATEST,NEAREST

三、计算过程

3.0 数据清洗

  1. 过滤业务脏数据;
  2. 纠正错误数据。

3.1 合并待归因和归因目标行为数据

  • 输入:ActionData,targetActionData
  • 中间处理:将ActionData中的additionalFields字段join到targetActionData上,字段对齐后union操作
  • 输出:(Objects,Dimensions,additionalFields, Behavior)

3.2 拼接sequence

  • 处理:Objects在Dimensions下合成一条sequence,对于每个sequence按照MaxLength进行切分
  • 输出:(Objects,Dimensions,additionalFields,targetFields, Seqeunce)

3.3 对sequence进行切分

  • 处理:按照eventSplitRule以及TargetField的属性、maxIntervalHours进行序列切分,一调序列在每个targetFields上都会打平多条
  • 输出:(Objects,Dimensions,additionalFields,split_id, Seqeunce)

3.4 对切分后的sequence分配target的归因,输出明细结果

  • 处理:对每个切分后的子序列按照不同的mothod生成归因结果
  • 输出:

参数

含义

示例

object_id

对象id

123456

type

对象类型

user_id

up_id_com

up主id

30689558

app_key

app编码

IOS

business_id

业务id

1

business_name

业务名称

娱乐

r_business_id

UP主对应业务ID

123

r_business_name

UP主对应业务名称

鬼畜

split_id

切分id

0

dateline

目标事件时间戳

1648137600

target_field

目标指标字段名称

watch_time

mothod

归因方法

recent

page_combine

页面类型

历史记录

page_code

页面code

click_my_history

pos

坑位位置

1

value

贡献值(单位:分钟)

20

根据算法归因的结果,我们可以看到用户user_id=123456 在2022年3月25日通过Bilibili的IOS端坑位=‘历史记录’进入娱乐-鬼畜区的up主的30689558 贡献的观看时长为20mins.

0 人点赞