Professional Documents
Culture Documents
DataMine
Basic
Datasets, Use Cases & Syntax
Amobee DataMine Training
What is DataMine?
2
Amobee DataMine Training
3
Amobee DataMine Training
Quick Demo
4
Amobee DataMine Training
Amobee’s Technology
Platform Overview
5
Amobee DataMine Training
Bid Requests
Impressions
Clicks
Actions
DSP
6
Amobee DataMine Training
Bid Requests
Impressions
1st
Clicks
Actions
2nd
DMP DSP
3rd
7
Amobee DataMine Training
Site Visitation CRM
Bid Requests
Impressions
1st
Clicks
Publisher Actions
2nd Targeting
DMP DSP
Demo Media
3rd
Interest
In Market
Etc.
8
Amobee DataMine Training
Site Visitation CRM
Bid Requests
Impressions
1st
Clicks
Publisher Actions
2nd Targeting
DMP DSP
Demo Media
3rd
Interest
In Market UID
Etc.
9
Amobee DataMine Training
Site Visitation CRM
Bid Requests
Impressions
1st
Clicks
Publisher Actions
2nd Targeting
DMP DSP
Demo Media
3rd
Interest
Da
ta
Da
ta
In Market UID
Etc.
DataMine
Information
10
Amobee DataMine Training
Site Visitation CRM
Bid Requests
Impressions
1st
Clicks
Publisher Actions
2nd Targeting
DMP DSP
Demo Media
3rd
Interest
Da
ta
Da
ta
In Market UID
Etc.
DataMine
11
Amobee DataMine Training
Data Storage
From a High Level
12
Amobee DataMine Training
13
Amobee DataMine Training
14
Amobee DataMine Training
Schema Distinction
15
Amobee DataMine Training
Schema distinction
In the Campaign
In the User Profiles
Performance schema,
scheme, the atomic level
the atomic level of detail is
of detail is the user.
the impression.
16
Amobee DataMine Training
Schema distinction
17
Amobee DataMine Training
Schema distinction
schema, we can only group and • Which creative was served for this impression?
filter impressions according to • Which site was the impression served on?
18
Amobee DataMine Training
Schema distinction
we can only group and • Which creative was served for this impression? creative_name
filter impressions • Which site was the impression served on? tld
according to features of • Is there a click associated with this impression? click -> sum(click)
those impressions. • Is there an action associated with the impression? action -> sum(action)
19
Amobee DataMine Training
Schema distinction
SELECT
insertion_order_name
, package_name
, creative_name
In the Campaign Performance schema, we , tld
, sum(click)
can only group and filter impressions , sum(action)
FROM
according to features of those impressions. impressions, clicks, actions
DATES
last_30_days
WHERE
insertion_order_id = 123456789
20
Amobee DataMine Training
Schema distinction
In the Campaign
In the User Profiles
Performance schema, we
scheme, we group and filter
group and filter impressions
users according to the
according to the features of
features of those users.
those impressions.
21
Amobee DataMine Training
ICA Tables
23
Amobee DataMine Training
User ID Impression
24
Amobee DataMine Training
Engagement Events
Video player engagement events
25
Amobee DataMine Training
Viewability
Video viewability metric – MOAT, DV, or IAS (metrics vary by provider).
Display viewability is currently in beta (2%).
Measurable Impression
Analyzed Impression
In View Impression
AVOC Impressions
26
Amobee DataMine Training
27
Amobee DataMine Training
SELECT
insertion_order_name io No need for “join on” or “group by”
, package_name package No “as” to give column alias
, SUM(impression) imps At least 1 measure required
, SUM(click) clicks
, SUM(action) actions
, SUM(cost) cost
FROM
impressions,clicks,actions
DATES
[2013_12_01,2013_12_11]
WHERE
insertion_order_id IN (978565872,986574352)
HAVING
SUM(impression)>1000
28
Amobee DataMine Training
SELECT
insertion_order_name io
, package_name package
, SUM(impression) imps
, SUM(click) clicks
, SUM(action) actions
, SUM(cost) cost
FROM
impressions,clicks,actions
DATES
[2013_12_01,2013_12_11]
WHERE
insertion_order_id IN (978565872,986574352)
HAVING
SUM(impression)>1000
29
Amobee DataMine Training
SELECT
insertion_order_name io Dimensions
, package_name package
, SUM(impression) imps
, SUM(click) clicks Measures
, SUM(action) actions
, SUM(cost) cost
30
Amobee DataMine Training
31
Amobee DataMine Training
insertion_order_name sum(impression)
package_name
sum(click)
line_item_name
sum(action)
creative_name
sum(cost)
tld
dma
region
to_date_2(impression_datetime)
to_day_of_week(impression_datetime)
to_hour(impression_datetime)
32
Amobee DataMine Training
34
Amobee DataMine Training
Without Aliases:
insertion_order_name package_name sum(impression) sum(click) sum(action) sum(cost)
Prospecting Package A 10000 27 1 30
Prospecting Package B 12500 37 3 27
Retargeting Package A 6000 25 5 35
With Aliases:
IO Package Imps Clicks Actions Cost
Prospecting Package A 10000 27 1 30
Prospecting Package B 12500 37 3 27
Retargeting Package A 6000 25 5 35
35
Amobee DataMine Training
36
Amobee DataMine Training
SELECT
insertion_order_name io Dimensions
, package_name package
, SUM(impression) imps
, SUM(click) clicks Measures
, SUM(action) actions
, SUM(cost) cost
, SUM(cost)/sum(action) cpa
, (SUM(cost)/SUM(impression))*1000 cpm Calculations
37
Amobee DataMine Training
SELECT
insertion_order_name io • Specifies the tables where your data lives.
, package_name package • Only the tables that contain your fields are necessary
, SUM(impression) imps
, SUM(click) clicks
, SUM(action) actions
, SUM(cost) cost
FROM
impressions,clicks,actions The table(s)
38
Amobee DataMine Training
SELECT
insertion_order_name io •Specifies the date range for your query
, package_name package •Can be absolute [yyyy_mm_dd, yyyy_mm_dd]
, SUM(impression) imps
, SUM(click) clicks •or relatives: last_30_days, last_7_days, etc
, SUM(action) actions
, SUM(cost) cost
FROM
impressions,clicks,actions
DATES
[2013_12_01,2013_12_11] Date range
39
Amobee DataMine Training
SELECT
insertion_order_name io •Use WHERE to filter data by a dimension(s)
, package_name package •It is technically optional (but highly encouraged)
, SUM(impression) imps
, SUM(click) clicks •Accepts numeric and string values using = or IN
, SUM(action) actions
, SUM(cost) cost
FROM
impressions,clicks,actions
DATES
[2013_12_01,2013_12_11]
WHERE
insertion_order_id IN (978565872,986574352) Filter data by dimension(s)
40
Amobee DataMine Training
WHERE
insertion_order_id IN (123456789, 987654321) There is no difference
in these three syntax
WHERE
(insertion_order_id = 123456789) OR (insertion_order_id = 987654321)
WHERE
insertion_order_id IN (123456789) OR insertion_order_id IN (987654321)
41
Amobee DataMine Training
IN package_id IN (97865476,97863890)
42
Amobee DataMine Training
SELECT
insertion_order_name io •Use HAVING to filter by an aggregated measure
, package_name package •Accepts same operators as the WHERE clause
, SUM(impression) imps
, SUM(click) clicks •Optional as well
, SUM(action) actions
, SUM(cost) cost
FROM
impressions,clicks,actions
DATES
[2013_12_01,2013_12_11]
WHERE
insertion_order_id IN (978565872,986574352)
HAVING
SUM(impression)>1000 Filter data by measure(s)
43
Amobee DataMine Training
728x90 $6.15
44
Amobee DataMine Training
45
Amobee DataMine Training
It has a number of uses, but one common use is for grouping members of a dimension according to some
attribute.
46
Amobee DataMine Training
SELECT
package_name package
CASE WHEN package_name LIKE ‘%rt%’ THEN ‘Retargeting’
WHEN package_name LIKE ‘%pt%’ THEN ‘Prospecting’
WHEN package_name LIKE ‘%bt%’ THEN ‘Behavioral’
ELSE ‘Other’ END my_tactic
, sum(impression) tot_impressions
FROM impressions
DATES last_7_days
WHERE insertion_order_id=75764983092
package tot_impressions my_tactic tot_impressions
Homepage RT 6,299,824
Conversion RT 5,890,362 Behavioral 5,061,587
General PT 6,400,930
Prospecting 14,164,091
Weekend Heavy Up PT 6,426,370
New York PT 1,336,791 Retargeting 12,190,186
In Market BT 581,108
18-25 BT 4,480,479 47
Amobee DataMine Training
SELECT
package_name package
CASE WHEN package_name LIKE ‘%rt%’ THEN ‘Retargeting’
WHEN package_name LIKE ‘%pt%’ THEN ‘Prospecting’
WHEN package_name LIKE ‘%bt%’ THEN ‘Behavioral’
ELSE ‘Other’ END my_tactic
, sum(impression) tot_impressions
FROM impressions
DATES last_7_days
WHERE insertion_order_id=75764983092
package tot_impressions my_tactic tot_impressions
Homepage RT 6,299,824 Behavioral 5,061,587
Conversion RT 5,890,362
General PT 6,400,930 Prospecting 14,164,091
Weekend Heavy Up PT 6,426,370
New York PT 1,336,791 Retargeting 12,190,186
In Market BT 581,108
18-25 BT 4,480,479 48
Amobee DataMine Training
49
Amobee DataMine Training
50
Amobee DataMine Training
• The smaller the DATES range, the more efficient your query is.
• String matching is expensive. Filter on IDs where possible
51
Amobee DataMine Training
• DMP tables
• COUNT(DISTINCT user_id)
• ICA tables
• ESTIMATE(DISTINCT user_id)
52
Amobee DataMine Training
Castlong
Castlong can be thought of as a “round down” function and it can be used to create numeric buckets as
dimensions.
• Multiplying by 1,000 provides the CPM at $1 increments, for example:
• castlong(cost*1000)1
• Multiplying by 2,000 and dividing by 2 provides price buckets of .50 increments, for example:
• castlong(cost*2000)/2
• Multiplying by 10,000 and dividing by 10 provides price buckets of .10 increments, for example:
• castlong(cost*10000)/10
53
Amobee DataMine Training
Variables
To simplify query syntax and avoid mistakes due to duplications, use SET to define a variable and use ${ } to call it
54
Amobee DataMine Training
Thank you!
55