Attribution Function Example | Teradata Vantage - Example: Model Assigns Attribution Weights to Events and Channels - Teradata Vantage

Teradata® VantageCloud Lake

Deployment
VantageCloud
Edition
Lake
Product
Teradata Vantage
Published
January 2023
Language
English (United States)
Last Update
2024-04-03
dita:mapPath
phg1621910019905.ditamap
dita:ditavalPath
pny1626732985837.ditaval
dita:id
phg1621910019905

Every complete example in this document is available in a zip file that you can download. The zip file includes a SQL script file that creates the input tables for the examples. If you are reading this document on https://docs.teradata.com/, you can download the zip file from the attachment in the left sidebar.

Event Type Channels

This example uses models to assign attribution weights to these events and channels.

Event Type Channels
conversion SocialNetwork, PaidSearch
excluding Email
optional Direct, Referral, OrganicSearch

Attribution Input

Attribution InputTable1: attribution_sample_table1
user_id event time_stamp
1 impression 2022-09-27 23:00:01
1 impression 2022-09-27 23:00:05
1 Email 2022-09-27 23:00:15
2 impression 2022-09-27 23:00:31
2 impression 2022-09-27 23:00:51
Attribution InputTable2: attribution_sample_table2
user_id event time_stamp
1 impression 2022-09-27 23:00:19
1 SocialNetwork 2022-09-27 23:00:20
1 Direct 2022-09-27 23:00:21
1 Referral 2022-09-27 23:00:22
1 PaidSearch 2022-09-27 23:00:23
2 impression 2022-09-27 23:00:29
2 impression 2022-09-27 23:00:31
2 impression 2022-09-27 23:00:33
2 impression 2022-09-27 23:00:36
2 impression 2022-09-27 23:00:38
Attribution ConversionEventTable: conversion_event_table
conversion_events
PaidSearch
SocialNetwork
Attribution ExcludedEventTable: excluding_event_table
excluding_events
Email
Attribution OptionalEventTable: optional_event_table
optional_events
Direct
OrganicSearch
Referral

The following two model tables apply the distribution models by rows and by seconds, respectively.

Attribution FirstModelTable: model1_table
id model
0 SEGMENT_ROWS
1 3:0.5:EXPONENTIAL:0.5,SECOND
2 4:0.3:WEIGHTED:0.4,0.3,0.2,0.1
3 3:0.2:FIRST_CLICK:NA
Attribution SecondModelTable: model2_table
id model
0 SEGMENT_SECONDS
1 6:0.5:UNIFORM:NA
2 8:0.3:LAST_CLICK:NA
3 6:0.2:FIRST_CLICK:NA

Attribution SQL Call

SELECT * FROM ATTRIBUTION (
  ON attribution_sample_table1 AS InputTable1
    PARTITION BY user_id ORDER BY time_stamp
  ON attribution_sample_table2 AS InputTable2
    PARTITION BY user_id ORDER BY time_stamp
  ON conversion_event_table AS ConversionEventTable DIMENSION
  ON excluding_event_table AS ExcludedEventTable DIMENSION
  ON optional_event_table AS OptionalEventTable DIMENSION
  ON model1_table AS FirstModelTable DIMENSION
  ON model2_table AS SecondModelTable DIMENSION
  USING
  EventColumn ('event')
  TimeColumn ('time_stamp')
  WindowSize ('rows:10&seconds:20')
) AS dt ORDER BY user_id, time_stamp;

Attribution Output

user_id event time_stamp attribution time_to_conversion
1 impression 2022-09-27 23:00:01 0.285714 -19
1 impression 2022-09-27 23:00:05 0 ?
1 impression 2022-09-27 23:00:19 0.714286 -1
1 SocialNetwork 2022-09-27 23:00:20 ? ?
1 Direct 2022-09-27 23:00:21 0.5 -2
1 Referral 2022-09-27 23:00:22 0.5 -1
1 PaidSearch 2022-09-27 23:00:23 ? ?