customer_product
Description
This table contains information about the performance of each product for each customer (de-duplicated from accounts and guest purchases based on a hash key which is typically the e-mail address) for each month.
Only products bought during that month by that customer are considered.
Some columns (like the lifetime_* columns) are neither specific to the month nor to the product and are duplicated along months, it is important not to sum them while grouping by customer only, which would cause over-counting.
Some columns provide information about the global values of the orders the product was included in (for example total_crncy_amt doesn’t not provide the product turnover, but the global turnover of all the orders the products was included in).
The month column is a date field always set with the first day of the month.
Granularity
one row per:
month
customer
product
Columns
Field name | Type | Mode | Description |
customer_id | STRING | NULLABLE | PRIMARY DIMENSION - MUST BE SET TO AVOID OVERCOUNT - the customer id (typically the e-mail address, can be different if another criteria was used for the de-duplication) |
product_id | STRING | NULLABLE | PRIMARY DIMENSION - MUST BE SET TO AVOID OVERCOUNT - the product id |
title_en | STRING | NULLABLE | title of the product in English |
title_de | STRING | NULLABLE | title of the product in German |
title_fr | STRING | NULLABLE | title of the product in French |
title_it | STRING | NULLABLE | title of the product in Italian |
category_1** | STRING | NULLABLE | 1st-level category id of the product |
category_2** | STRING | NULLABLE | 2nd-level category id of the product |
category_3** | STRING | NULLABLE | 3rd-level category id of the product |
category_4** | STRING | NULLABLE | 4th-level category id of the product |
category_5** | STRING | NULLABLE | 5th-level category id of the product |
exact_margin | FLOAT | NULLABLE | the product margin |
rounded_margin | FLOAT | NULLABLE | the rounded product margin (by default: 5% step) |
exact_price | FLOAT | NULLABLE | the product price (after discount) |
rounded_price | FLOAT | NULLABLE | the rounded product price (by default: 10.- step) |
customer_owners* | STRING | REPEATED | the customers owners (not active by default, you can define filter rules to connect products to customer owners (e.g.: suppliers) which you want to be able to select independently or in combination to the selection of any product or product property). The customer owners are a derived form of the product owners. A product might belong to a product owner, but a specific purchase of this product might not be connected to the related customer owner, as, an additional rule applies (e.g.: the customer must have bought at least twice in the last 6 months a product of this product owners to be considered connected to the related customer owner). |
product_owners | STRING | REPEATED | the product owners (not active by default, you can define filter rules to connect products to product owners (e.g.: suppliers) which you want to be able to select independently or in combination to the selection of any product or product property) |
day | DATE | NULLABLE | PRIMARY DIMENSION - first day of the month |
gender_cd* | STRING | NULLABLE | the gender code: male or female |
country_cd* | STRING | NULLABLE | the country code : e.g.: CH |
zip_cd* | STRING | NULLABLE | the zip code |
region_cd* | STRING | NULLABLE | the region code: ZH, VD, ... |
latitude* | FLOAT | NULLABLE | latitude position |
longitude* | FLOAT | NULLABLE | longitude position |
birthdate* | DATE | NULLABLE | the birth date |
age* | INTEGER | NULLABLE | the age in years |
decade* | INTEGER | NULLABLE | the age in decades |
lifetime_orders* | INTEGER | NULLABLE | the total number of orders made by this customer over all time |
lifetime_order_products* | INTEGER | NULLABLE | the total number of ordered products made by this customer over all time |
lifetime_order_qty* | INTEGER | NULLABLE | the total number of ordered product quantity made by this customer over all time |
lifetime_list_crncy_amt* | FLOAT | NULLABLE | the total of all the of the products list price (product price before discounts) bought by this customer over all time |
lifetime_discount_crncy_amt* | FLOAT | NULLABLE | the total of all the of the products final price (product price after discounts) bought by this customer over all time |
lifetime_total_crncy_amt* | FLOAT | NULLABLE | the total value of this customer over all time |
lifetime_total_crncy_amt_rounded* | FLOAT | NULLABLE | the total value of this customer over all time rounded by 10.- steps |
lifetime_total_margin_crncy_amt* | FLOAT | NULLABLE | the total margin of this customer over all time |
lifetime_total_margin_crncy_amt_rounded* | FLOAT | NULLABLE | the total margin of this customer over all time rounded by 10.- steps |
first_order* | TIMESTAMP | NULLABLE | the timestamp of the first order (global value, independent of the current month) |
last_order* | TIMESTAMP | NULLABLE | the timestamp of the last order (global value, independent of the current month) |
nth_day* | INTEGER | NULLABLE | the number of days since the first order (global value, independent of the current month) |
nth_week* | INTEGER | NULLABLE | the number of weeks since the first order (global value, independent of the current month) |
nth_month* | INTEGER | NULLABLE | the number of months since the first order (global value, independent of the current month) |
nth_quarter* | INTEGER | NULLABLE | the number of quarters since the first order (global value, independent of the current month) |
nth_year* | INTEGER | NULLABLE | the number of years since the first order (global value, independent of the current month) |
last_purchase_distance_day* | INTEGER | NULLABLE | the number of days since the last order at that time (related to the current month) |
last_purchase_distance_week* | INTEGER | NULLABLE | the number of weeks since the the last order at that time (related to the current month) |
last_purchase_distance_month* | INTEGER | NULLABLE | the number of months since the the last order at that time (related to the current month) |
last_purchase_distance_quarter* | INTEGER | NULLABLE | the number of quarters since the the last order at that time (related to the current month) |
last_purchase_distance_year* | INTEGER | NULLABLE | the number of years since the the last order at that time (related to the current month) |
user_personas* | INTEGER | NULLABLE | the number of user personas (2 in case the same customer used 2 different accounts) |
visitor_personas* | INTEGER | NULLABLE | the number of visitor personas (correspond to the number of identified visitors (identification based on a login / tagged url in any of the visitor’s sessions), (e.g.: two sessions with flushing the cookies in between, or from two different devices will count as 2) |
orders* | INTEGER | NULLABLE | the number of orders for this customer that month |
order_products* | INTEGER | NULLABLE | the number of product in the orders for this customer that month |
order_qty | INTEGER | NULLABLE | the total quantity of THE CURRENT PRODUCT in the orders for this customer that month IMPORTANT - SPECIFIC TO THE CURRENT PRODUCT |
list_crncy_amt* | FLOAT | NULLABLE | the total value of the products list price (product price before discounts) for this customer that month |
discount_crncy_amt* | FLOAT | NULLABLE | the total value of the products final price (product price after discounts) for this customer that month |
total_crncy_amt | FLOAT | NULLABLE | the total value of THE CURRENT PRODUCT for this customer that month = order_qty * product_discount_crncy_amt IMPORTANT - SPECIFIC TO THE CURRENT PRODUCT |
total_margin_crncy_amt | FLOAT | NULLABLE | the total margin value of THE CURRENT PRODUCT for this customer that month = order_qty * product_margin_crncy_amt IMPORTANT - SPECIFIC TO THE CURRENT PRODUCT |
sessions* | INTEGER | NULLABLE | the number of identified sessions (identification based on a login / tagged url in any of the visitor’s sessions) |
account | STRING | NULLABLE | the account name (typically same for all orders with the value ‘main’) |
parameters | RECORD | REPEATED | general structure of parameters and values (in this table, it will mainly contain the key order properties) |
parameters. name | STRING | NULLABLE | Name of the property |
parameters. value | STRING | NULLABLE | Value of the property |
copy from the customer_primary or order_product table, duplicated values for all the products of the same order
* arbitrary selection in case the product belongs in several categories, used the *_product_property table for multi-values on the categories