- input_table, which contains the clickstream data to use for computing attributions
- conversion_event_table (alias conversion), which contains conversion events
- model1_table (alias model1), which defines the type and distributions of the first model
The optional input tables are:
- excluding_event_table (alias excluding), which contains events to exclude from attribution
- optional_event_table (alias optional), which contains optional events
- model2_table (alias model2), which defines the type and distributions of the second model
-
input_table_1, input_table_2, and so on, which contain additional clickstream data
The optional input tables have the same schema as input_table. Specifying these tables lets you co-group attributes from all specified input tables (for example, ad_click, impressions, and conversions).
Column Name | Data Type | Description |
---|---|---|
userid_column | INTEGER or VARCHAR | User identifier. |
event_column | Any | Event from clickstream. |
timestamp_column | INTEGER, SMALLINT, BIGINT, TIMESTAMP, or TIME | Event timestamp. |
Column Name | Data Type | Description |
---|---|---|
conversion_events | VARCHAR | Conversion event value (string or integer). |
Column Name | Data Type | Description |
---|---|---|
excluding_events | VARCHAR | Excluded event (string or integer). Cannot be a conversion event. |
Column Name | Data Type | Description |
---|---|---|
optional_events | VARCHAR | Optional event (string or integer). Cannot be a conversion or excluded event. The function attributes a conversion event to an optional event only if it cannot attribute it to a regular event. |
Tables model1 and model2 have the same schema:
Column Name | Data Type | Description |
---|---|---|
id | INTEGER | Row identifier. Rows are numbered 0, 1, 2, and so on. |
model | VARCHAR | Row 0: Model type. Row 1, ..., n: Distribution model definition. For model types other than SIMPLE, n is the number of rows or events included in the model. For SIMPLE models, the model table has a single row that specifies the model type and parameters. For model type and specification definitions, see the following two tables. |
Row 0: Model Type | Row 1, ..., n: Distribution Model Specification | Additional Information |
---|---|---|
SIMPLE | MODEL:PARAMETERS | Distribution model for all events. For MODEL and PARAMETER definitions, see the following table. |
EVENT_REGULAR | EVENT:WEIGHT:MODEL:PARAMETERS | Distribution model for a regular event. EVENT cannot be a conversion, excluded, or optional event. For MODEL and PARAMETER definitions, see the following table. The sum of the WEIGHT values must be 1.0. For example, suppose that the model table has these specifications: email:0.19:LAST_CLICK:NA impression:0.81:UNIFORM:NA Within the WindowSize of a conversion event, 19% of the conversion event is attributed to the last email event and 81% is attributed uniformly to all impression events. |
EVENT_OPTIONAL | EVENT:WEIGHT:MODEL:PARAMETERS | Distribution model for an optional event. EVENT must be in the optional event table. For MODEL and PARAMETER definitions, see the following table. The sum of the WEIGHT values must be 1.0. |
SEGMENT_ROWS | K i:WEIGHT:MODEL:PARAMETERS | Distribution model by row. The sum of the K
i values
must be the value K specified by
'rows:K' in the WindowSize
argument. The function considers the rows from most to least recent. For example, suppose that the function call has these arguments: WindowSize ('rows:10') Model1 ('SEGMENT_ROWS', '3:0.5:UNIFORM:NA', '4:0.3:LAST_CLICK:NA', '3:0.2:FIRST_CLICK:NA') Attribution for a conversion event is divided among the attributable events in the 10 rows immediately preceding the conversion event. If the conversion event is in row 11, the first model specification applies to rows 10, 9, and 8; the second applies to rows 7, 6, 5, and 4; and the third applies to rows 3, 2, and 1. Half the attribution (5/10) is uniformly divided among rows 10, 9, and 8; 3/10 to the last click in rows 7, 6, 5, and 4 (that is, in row 7), and 2/10 to the first click in rows 3, 2, and 1 (that is, in row 1). |
SEGMENT_SECONDS | K i:WEIGHT:MODEL:PARAMETERS | Distribution model by time in seconds. The sum of the K
ivalues must be the value K specified by 'seconds:K' in the WindowSize argument. The function considers the rows from most to least recent. For example, suppose that the function call has these arguments: WindowSize ('seconds:20') Model1 ('SEGMENT_SECONDS', '6:0.5:UNIFORM:NA', '8:0.3:LAST_CLICK:NA', '6:0.2:FIRST_CLICK:NA') Attribution for a conversion event is divided among the attributable events in the 20 seconds immediately preceding the conversion event. If the conversion event is at second 21, the first model specification applies to seconds 20-15 (counting backward); the second applies to seconds 14-7; and the third applies to seconds 6-1. Half the attribution (5/10) is uniformly divided among seconds 20-15; 3/10 to the last click in seconds 14-7, and 2/10 to the first click in seconds 6-1. |
The following table describes the MODEL values and their corresponding PARAMETER values. MODEL values are case-sensitive. Attributable events are those whose types are not specified in the excluding events table.
MODEL | Description | PARAMETERS |
---|---|---|
'LAST_CLICK' | The conversion event is attributed entirely to the most recent attributable event. | 'NA' |
'FIRST_CLICK' | The conversion event is attributed entirely to the first attributable event. | 'NA' |
'UNIFORM' | The conversion event is attributed uniformly to the preceding attributable events. | 'NA' |
'EXPONENTIAL' | The conversion event is attributed exponentially to the preceding attributable events (the more recent the event, the higher the attribution). | 'alpha,type' where alpha is a decay factor in the range (0, 1) and type is ROW, MILLISECOND, SECOND, MINUTE, HOUR, DAY, MONTH, or YEAR. When alpha is in the range (0, 1), the sum of the series w i=(1-alpha)*alpha i is 1. The function uses the w i as exponential weights. |
'WEIGHTED' | The conversion event is attributed to the preceding attributable events with the weights specified by PARAMETERS. | You can specify any number of weights. If there are more attributable events than weights, the extra (least recent) events are assigned zero weight. If there are more weights than attributable events, then the function renormalizes the weights. See Single-Input Attribution Example 3: Dynamic Weighted Distribution Models in the function Attribution (Single-Input Version). |
The allowed Model1/Model2 combinations are:
Model1 Type | Model2 Type |
---|---|
SIMPLE | Not allowed |
EVENT_REGULAR | |
EVENT_REGULAR | EVENT_OPTIONAL (when you specify the optional events table) |
SEGMENT_ROWS | |
SEGMENT_ROWS | SEGMENT_SECONDS (when you specify 'rows:K&seconds:K' in the Window argument) |
SEGMENT_SECONDS | Not allowed |