Fact tables
Overview
Understanding Data Storage Architecture and Usage
This section aims to provide a comprehensive understanding of the architecture of the data storage system within our databases and its usage across various products.
Our data storage and retrieval system utilizes Databricks and Data Lake/ Data Warehouse.
Databricks
Databricks offers a comprehensive set of tools that make it easier to bring data from different sources together to one platform. With this, we can organize the data, store it securely, share it, analyse it to find insights, and create models to predict future trends.
Databricks operates within a Spark/Hive environment. In the Spark/Hive environment, Spark is often used for data processing and analytics tasks that require fast, in-memory computation. On the other hand, Hive serves as a data warehouse solution for managing structured data and executing SQL queries on large datasets stored in distributed storage systems. Together, they form a robust ecosystem for processing, querying, and analysing big data.
Data Lake/ Data Warehouse
A data lake is a large and centralized repository that stores vast amounts of structured, semi-structured, and unstructured data in its raw form. Data lake allows data to be stored as-is, without any prior formatting or organization. This flexibility enables organizations to store diverse types of data from various sources.
- Storing Existing Data Components
Our data storage system is structured in a STAR Schema Layout, comprising facts, dimensions, and summaries. Additionally, we operate within a Multi-Tenant Environment. In the Multi-Tenant Environment, multiple users or entities (tenants) share the same infrastructure or platform. However, within this shared environment, each tenant's data is kept separate and isolated from others at both the storage and SQL level. Each tenant has its own designated storage space and SQL processing capabilities, ensuring that their data remains private and secure from other tenants' data. This isolation helps maintain data integrity, confidentiality, and security within the shared environment.
Star Schema Layout
In a star schema, there are typically two types of tables: fact tables and dimension tables. For example, A customer buys a product at a particular store. Here, sales transaction represents the fact and attributes related to this sale, such as product and customer information represent the dimension. So a single facts table is linked to multiple dimensions tables.
- Fact Tables:
These tables contain quantitative data, typically numerical values that represent the measurements or metrics of a business process. Sales Transactions Fact Table in the current example (of a customer buying a product) will have columns such as transaction ID, product ID, customer ID, sale amount, sale date, etc. Also, each row represents a single sale transaction, with references to the associated product and customer. - Dimension Tables:
Dimension tables contain descriptive attributes or characteristics of the data in the fact table. These attributes provide context for analysing the data in the fact table. In the current example, Dimension tables would contain the following details:
Product Dimension Table | Customer Dimension Table | Time Dimension Table |
---|---|---|
Contains details about the products sold. | Contains details about the customers. | Contains information about time-related attributes. |
Columns: product ID, product name, category, brand, price, etc. | Columns: customer ID, name, address, email, etc. | Columns: date, day of week, month, quarter, year, etc. |
- Utilization of Data
The data stored in the data warehouse is then utilized for various purposes. The data utilization process involves issuing SQL queries to interact with the stored data, processing these queries within a data warehousing environment, and creating tables useful for further analysis.
Given below are a few examples where the extracted data is utilized.
- Creating Reports
The data is utilized while creating reports for the brands. Reports are primarily comprised of charts. Two major components are used while creating charts. They are Key Performance Indicators (KPIs) and Dimensions.- KPIs are the numerical measurements or metrics used to evaluate the performance or success of a particular aspect of a business. They are created using DSL/JSON, then converted to SQL.
- Dimensions are like labels or categories that help organize data. They act as filters, letting us group data based on different categories, like time periods or types of products.
Example - You can analyse sales data for a particular zone. So sales information will be the KPI and store information will be the dimension. This analysis will give you insights to how the brand is performing in a particular zone. Also, you can add more dimensions like product type and date, to get a more comprehensive business analysis.
- Audience Grouping
Using Audience Manager, you can create different audience groups based on specific criteria. Creating audience groups helps target the right customer at the right time, making campaigns more effective. You can create and manage groups separately based on information like behaviour, interests, demographic details, transactions, and more. For instance, you can get high spending customers that did not visit your stores for the last three months. Example: You can see the product performance (based on product category) for an audience group (high-value customers) for a specific time duration e.g.. January 2023 and January 2024. This will give a comparison of the audience behaviour with respect to time. - Exporting
We can export the datasets in raw format. While exporting, it does not group data by dimensions, but instead provides raw data for additional visualizations.
You can export the data using Export Templates. These templates consist of a list of queries that prohibit fact-to-fact joins. Fact-to-fact joining refers to the process of combining or merging two sets of data that are both at the same level of detail and represent different measures or facts. It involves joining two fact tables together directly, without any dimensions acting as intermediary layers. This type of joining is often avoided in data modelling and analysis because it can lead to redundant or inaccurate results and can be computationally exhaustive. Instead, data is typically joined through dimension tables, which act as intermediary layers between fact tables and help to maintain data integrity and accuracy. So the export templates generate SQL queries that retrieve data from Databricks and export it. This feature offers flexibility, allowing users to specify conditions such as date range and frequency. Example: Various types of data, such as customer information, transaction details, coupon usage, loyalty points, footfall data (the number of people visiting a physical location), and information related to marketing campaigns, can be exported. Once exported, this data can be analysed and processed by users or analysts at their end.
- Addition of New Data
Suppose, you want to introduce a new operational model, such as badges. Badges are like virtual stickers given to customers in loyalty programs to reward them for doing certain things or reaching goals. They make the program more interesting and give customers a sense of pride and achievement, encouraging them to keep participating and stay engaged.
So when badges model is introduced, a new table is generated following the star schema structure. This table incorporates new facts and dimensions relevant to the badges data. Once the onboarding process (i.e, data ingestion) is done, we can leverage this new dataset to create Key Performance Indicators (KPIs) for analysis and monitoring purposes. This process ensures that the newly acquired data is seamlessly integrated into our existing data architecture, enabling us to derive valuable insights from it.
Example of Badges Facts and Dimensions Tables:
For Badges, there are 3 facts tables linked to 5 dimension tables.
Badges Facts Tables are:
Badges Earn
Badges Issued and
Badges Earned Benefits
E.g. Badges_earn Facts Table Screenshot (sample)
Dimension Tables that are linked to Badges Facts Table are:
Badge meta
Badges owner type
Coupon series
Users
Date
E.g. Badge_meta Dimension Table Screenshot (sample)
Points Fact Table
Column name (Type) | Description | Available for export in points template? | ||||||
---|---|---|---|---|---|---|---|---|
bill_id (String) | Loyalty log id or bill id is a unique identifier for a transaction for which the points are awarded or redeemed. It is populated ( primarily for transactional point award entries)from PA, PAL, PALP, PABP tables on the source side. This id has reference to the particular bill where points are awarded or redeemed. note: PA - Points Awarded PAL - Points Awarded Line Items PALP-Points Awarded Lineitem Promotion PABP -Points Awarded Bill Promotion Linked table on EI : NA | Yes Measure name: Bill_Id | ||||||
bill_number (String) | The system-generated bill number for which the points are awarded or redeemed. bill_number is populated if there is a valid bill_id populated in source loyalty side or else empty or null is populated as bill_number Linked table on EI : NA | Yes. Measure name: Bill_Number | ||||||
bill_lineitem_id [Type : String] | The lineitem id against which points have been allocated . Linked table on EI : NA | Yes Measure: Bill_Lineitem_Id | ||||||
awarded_ref_id (String) | This is the primary key of the PA (Points Awarded) table maintained at the source side. A new entry is created for every single point award event. Note: This is key column - can be used to track evolution of points balance against every PA entry, helping data operators gain insights into promotion usage and attribute sourcing of points to appropriate programs as applicable. Linked table on EI : NA | Yes Measure: Awarded_Ref_Id | ||||||
allocated_points (String) | This is points awarded on a particular event. Can be on bill level, lineitem level or customer level Linked table on EI : NA | Yes Measure name: Allocated_Points | ||||||
deducted_points (String) | Number of redeemed, returned, or expired points which are deducted from the total points Linked table on EI : NA | Yes Measure: Deducted_Points | ||||||
deduction_currency_value [Type : String] | Holds the currency value of the deducted points. Linked table on EI : NA | |||||||
deduction_summary_id (String) | Deducted points related to a single event are grouped using a deduction summary ID for analysis. This is the primary key of the PRS (Point Redemption Summary) table. This will be used as the key to connect PointFact to the PRSFact (new) in order to pick the right updated value for Redemption_Bill_Number. All entries corresponding to a given redemption or reversal entry will have corresponding same deduction_summary_id. Linked table on EI : points_redemption_summary | Yes Deduction_Summary_Id | ||||||
dim_awarded_date_id (Date) | It is the date when points are awarded to the customer. Further details of the date can be obtained from the date dimension table. dim_awarded_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_awarded_expiry_date_id (Date) | It is the the date when the points expired if left unused. Further details of the date can be obtained from the date dimension table. dim_awarded_expiry_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_awarded_zone_till_id | Captures the till_id of the zone where points were awarded. Further details of the till can be obtained from the zone_till dimension table.dim_awarded_zone_till_id would be stored in the 'till_id' column of the zone_till dimension table. Linked table on EI : zone_till | |||||||
dim_category_id (String) | This id has reference to points_category table. It tells the type of points which are awarded/deducted. Further details of the category can be obtained from the points_category dimension table.dim_category_id would be be stored in the 'category_id' column of the points_category dimension table. Linked table on EI : points_category | |||||||
dim_deduction_type_id (String) | Linked to deduction_type table , it gives us information about the type of deduction. The dim_deduction_type_id refers to the id column of the deduction_type table Linked table on EI : deduction_type | Yes Dimension Name:deduction_type__Deduction_Type | ||||||
dim_event_date_id (Date) | Measures the date when the event has occured. Further details of the date can be obtained from the date dimension table.dim_event_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_event_program_id (String) | Linked to program table , it gives us information about the loyalty program for which the data is shown Corresponds to the program_id column of the program table Linked table on EI : program | |||||||
dim_event_time_id (String) | Measures the time stamp when the event has occured , it captures upto minutes and seconds is not captured. Corresponds to the time_id column of the time table Linked table on EI : time | |||||||
dim_event_user_id | User identifier , this is an integer set internally by capillary. Linked table on EI : NA | |||||||
dim_event_zone_till_id | Captures the till_id of a store, where the event has occured. Further details of the till can be obtained from the zone_till dimension table.dim_awarded_zone_till_id would be stored in the 'till_id' column of the zone_till dimension table. Linked table on EI : zone_till | |||||||
dim_expiry_date_id (Date) | Date when the allocated points is supposed to expire if unused. Further details of the date can be obtained from the date dimension table.dim_awarded_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_expiry_time_id (Date) | Time when the allocated points is supposed to expire if unused. Corresponds to the time_id column of the time table Linked table on EI : time | |||||||
dim_latest_updated_date_id (Date) | Date when the records were last updated. Linked table on EI : date | |||||||
dim_latest_updated_time_id (String) | Time when the records were last updated Corresponds to the time_id column of the time table Linked table on EI : time | |||||||
dim_points_promotion_id (String) | Refers to the id column of points_promotions table , contains the promotion name against which the points were allocated/redeemed/expired (the event type) Linked table on EI : points_promotions table | Yes Dimension Name:points_promotion__Points_Promotion_Type | ||||||
redemption_bill_id (String) | Loyalty log ID or bill ID for which the points are redeemed. The billing ID is generated by Capillary's system. Bill_Id coming from PRS fact table Linked table on EI : NA | Yes Redemption_Bill_Id | ||||||
redemption_bill_number (String) | Bill number for which the points are redeemed. The bill number is passed from the source data. If the source data doesn't have any value for the redemption bill number then the system shows 'Not Captured'. Linked table on EI : NA | Yes Redemption_Bill_Number | ||||||
year (String) | Year of the data/event occurence Linked table on EI : NA | |||||||
dim_points_event_type_id (String) | Refer to points_event_type table , specifies if the poitns were awarded or deducted Linked table on EI : points_event_type | Yes Dimension :points_event_type__Points_Event_Type | ||||||
dim_points_awarded_type_id (String) | Refer to points_awarded_type table. It specifies the type of points awarded Linked table on EI : points_awarded_type | Yes Dimension :points_awarded_type__Points_Awarded_Type | ||||||
auto_update_time_pa (String) | Date and time when the Points Awarded table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pa | ||||||
auto_update_time_pabp (String) | Date and time when the Points Awarded Bill Promotion table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pabp | ||||||
auto_update_time_pacp (String) | Date and time when the Points Awarded Customer Promotion table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pacp | ||||||
auto_update_time_pal (String) | Date and time when the Points Awarded Lineitem table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pal | ||||||
auto_update_time_palp (String) | Date and time when the Points Awarded Lineitem Promotion table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Palp | ||||||
auto_update_time_pd (String) | Date and time when the Points Deductions table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pd | ||||||
event_id (String) | It is the id of the event occurence and is populated from PA, PAL, PALP, PABP, PACP and PD tables on the source side. note: PA - Points Awarded PAL - Points Awarded Line Items PALP-Points Awarded Lineitem Promotion PABP -Points Awarded Bill Promotion PACP -Points Awarded customer Promotion PD - Points Deducted Linked table on EI : NA | Yes Event_Id | ||||||
external_reference_number (String) | mapped to external_reference_number column of PRS table. This is unique per org. It comes via the API Payload. Linked table on EI : NA | Yes External_Reference_Number | ||||||
deducted_ref_id (BIGINT) | original redemption's / transfer's deduction_id againtst which the reversal has occurred Linked table on EI : NA | Yes Deducted_Ref_Id | ||||||
dim_event_log_id (String) | event_log_id column of the source PA / PD tables. This is unique per event. This is the id for event_log table Linked table on EI : NA | Yes Dimension: Dim_Event_Log_Id | ||||||
dim_awarded_program_id (String) | It is the Loyalty program id. This is mapped to multiple source tables - PAs, PD, PRS etc Linked table on EI : NA | |||||||
dim_old_category_id (String) | It refers to the Point category Id column of PA tables. This id comes from points_category source table, which tells whether the points category is MAIN, DELAYED ACCRUAL, TRIGGER BASED or TRACKERs Linked table on EI : NA | |||||||
redemption_id (String) | A unique 6 character long string for each redemption / reversal request. It is auto generated by the Loyalty System Linked table on EI : NA | Yes Redemption_Id | ||||||
dim_redemption_program_id (String) | It is the Loyalty program id. This is mapped to multiple source tables - PAs, PD, PRS etc Linked table on EI : NA | Column name (type) | Description | Available for export? | ||||
*** | *** | *** | ||||||
bill_id (String) | Loyalty log id or bill id is a unique identifier for a transaction for which the points are awarded or redeemed. It is populated ( primarily for transactional point award entries)from PA, PAL, PALP, PABP tables on the source side. This id has reference to the particular bill where points are awarded or redeemed. note: PA - Points Awarded PAL - Points Awarded Line Items PALP-Points Awarded Lineitem Promotion PABP -Points Awarded Bill Promotion Linked table on EI : NA | Yes Bill_Id | ||||||
bill_number (String) | The system-generated bill number for which the points are awarded or redeemed. bill_number is populated if there is a valid bill_id populated in source loyalty side or else empty or null is populated as bill_number Linked table on EI : NA | Yes. Bill_Number | ||||||
bill_lineitem_id (String) | The lineitem id against which points have been allocated . Linked table on EI : NA | Yes Bill_Lineitem_Id | ||||||
awarded_ref_id (String) | This is the primary key of the PA (Points Awarded) table maintained at the source side. A new entry is created for every single point award event. Note: This is key column - can be used to track evolution of points balance against every PA entry, helping data operators gain insights into promotion usage and attribute sourcing of points to appropriate programs as applicable. Linked table on EI : NA | Yes Awarded_Ref_Id | ||||||
allocated_points (String) | This is points awarded on a particular event. Can be on bill level, lineitem level or customer level Linked table on EI : NA | Yes Allocated_Points | ||||||
deducted_points (String) | Number of redeemed, returned, or expired points which are deducted from the total points Linked table on EI : NA | Yes Deducted_Points | ||||||
deduction_currency_value (String) | Holds the currency value of the deducted points. Linked table on EI : NA | |||||||
deduction_summary_id (String) | Deducted points related to a single event are grouped using a deduction summary ID for analysis. This is the primary key of the PRS (Point Redemption Summary) table. This will be used as the key to connect PointFact to the PRSFact (new) in order to pick the right updated value for Redemption_Bill_Number. All entries corresponding to a given redemption or reversal entry will have corresponding same deduction_summary_id. Linked table on EI : points_redemption_summary | Yes Deduction_Summary_Id | ||||||
dim_awarded_date_id (Date) | It is the date when points are awarded to the customer. Further details of the date can be obtained from the date dimension table. dim_awarded_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_awarded_expiry_date_id (Date) | It is the the date when the points expired if left unused. Further details of the date can be obtained from the date dimension table. dim_awarded_expiry_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_awarded_zone_till_id | Captures the till_id of the zone where points were awarded. Further details of the till can be obtained from the zone_till dimension table.dim_awarded_zone_till_id would be stored in the 'till_id' column of the zone_till dimension table. Linked table on EI : zone_till | |||||||
dim_category_id (String) | This id has reference to points_category table. It tells the type of points which are awarded/deducted. Further details of the category can be obtained from the points_category dimension table.dim_category_id would be be stored in the 'category_id' column of the points_category dimension table. Linked table on EI : points_category | |||||||
dim_deduction_type_id (String) | Linked to deduction_type table , it gives us information about the type of deduction. The dim_deduction_type_id refers to the id column of the deduction_type table Linked table on EI : deduction_type | Yes Dimension Name:deduction_type__Deduction_Type | ||||||
dim_event_date_id (Date) | Measures the date when the event has occured. Further details of the date can be obtained from the date dimension table.dim_event_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_event_program_id (String) | Linked to program table , it gives us information about the loyalty program for which the data is shown Corresponds to the program_id column of the program table Linked table on EI : program | |||||||
dim_event_time_id (String) | Measures the time stamp when the event has occured , it captures upto minutes and seconds is not captured. Corresponds to the time_id column of the time table Linked table on EI : time | |||||||
dim_event_user_id | User identifier , this is an integer set internally by capillary. Linked table on EI : NA | |||||||
dim_event_zone_till_id | Captures the till_id of a store, where the event has occured. Further details of the till can be obtained from the zone_till dimension table.dim_awarded_zone_till_id would be stored in the 'till_id' column of the zone_till dimension table. Linked table on EI : zone_till | |||||||
dim_expiry_date_id (Date) | Date when the allocated points is supposed to expire if unused. Further details of the date can be obtained from the date dimension table.dim_awarded_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |||||||
dim_expiry_time_id (Date) | Time when the allocated points is supposed to expire if unused. Corresponds to the time_id column of the time table Linked table on EI : time | |||||||
dim_latest_updated_date_id (Date) | Date when the records were last updated. Linked table on EI : date | |||||||
dim_latest_updated_time_id (String) | Time when the records were last updated Corresponds to the time_id column of the time table Linked table on EI : time | |||||||
dim_points_promotion_id (String) | Refers to the id column of points_promotions table , contains the promotion name against which the points were allocated/redeemed/expired (the event type) Linked table on EI : points_promotions table | Yes Dimension Name:points_promotion__Points_Promotion_Type | ||||||
redemption_bill_id (String) | Loyalty log ID or bill ID for which the points are redeemed. The billing ID is generated by Capillary's system. Bill_Id coming from PRS fact table Linked table on EI : NA | Yes Redemption_Bill_Id | ||||||
redemption_bill_number (String) | Bill number for which the points are redeemed. The bill number is passed from the source data. If the source data doesn't have any value for the redemption bill number then the system shows 'Not Captured'. Linked table on EI : NA | Yes Redemption_Bill_Number | ||||||
year (String) | Year of the data/event occurence Linked table on EI : NA | |||||||
dim_points_event_type_id (String) | Refer to points_event_type table , specifies if the poitns were awarded or deducted Linked table on EI : points_event_type | Yes Dimension Name :points_event_type__Points_Event_Type | ||||||
dim_points_awarded_type_id (String) | Refer to points_awarded_type table. It specifies the type of points awarded Linked table on EI : points_awarded_type | Yes Dimension Name :points_awarded_type__Points_Awarded_Type | ||||||
auto_update_time_pa (String) | Date and time when the Points Awarded table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pa | ||||||
auto_update_time_pabp (String) | Date and time when the Points Awarded Bill Promotion table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pabp | ||||||
auto_update_time_pacp (String) | Date and time when the Points Awarded Customer Promotion table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pacp | ||||||
auto_update_time_pal (String) | Date and time when the Points Awarded Lineitem table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pal | ||||||
auto_update_time_palp (String) | Date and time when the Points Awarded Lineitem Promotion table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Palp | ||||||
auto_update_time_pd (String) | Date and time when the Points Deductions table is recently updated (Unix timestamp) Linked table on EI : NA | Yes Auto_Update_Time_Pd | ||||||
event_id (String) | It is the id of the event occurence and is populated from PA, PAL, PALP, PABP, PACP and PD tables on the source side. note: PA - Points Awarded PAL - Points Awarded Line Items PALP-Points Awarded Lineitem Promotion PABP -Points Awarded Bill Promotion PACP -Points Awarded customer Promotion PD - Points Deducted Linked table on EI : NA | Yes Event_Id | ||||||
external_reference_number (String) | mapped to external_reference_number column of PRS table. This is unique per org. It comes via the API Payload. Linked table on EI : NA | Yes External_Reference_Number | ||||||
deducted_ref_id [Type: BIGINT] | original redemption's / transfer's deduction_id againtst which the reversal has occurred Linked table on EI : NA | Yes Deducted_Ref_Id | ||||||
dim_event_log_id (String) | event_log_id column of the source PA / PD tables. This is unique per event. This is the id for event_log table Linked table on EI : NA | Yes Dimension Name :Dim_Event_Log_Id | ||||||
dim_awarded_program_id (String) | It is the Loyalty program id. This is mapped to multiple source tables - PAs, PD, PRS etc Linked table on EI : NA | |||||||
dim_old_category_id (String) | It refers to the Point category Id column of PA tables. This id comes from points_category source table, which tells whether the points category is MAIN, DELAYED ACCRUAL, TRIGGER BASED or TRACKERs Linked table on EI : NA | |||||||
redemption_id (String) | A unique 6 character long string for each redemption / reversal request. It is auto generated by the Loyalty System Linked table on EI : NA | Yes Redemption_Id | ||||||
dim_redemption_program_id (String) | It is the Loyalty program id. This is mapped to multiple source tables - PAs, PD, PRS etc Linked table on EI : NA |
Customer Point Summary
Column name (type) | Description | Available for export [CPS template] |
---|---|---|
auto_update_time_ce (Integer) | Date and time when the customer enrollment table is recently updated (Unix timestamp) Linked table on EI : NA | |
auto_update_time_cps (Integer) | Date and time when the customer point summary table is recently updated (Unix timestamp) Linked table on EI : NA | |
customer_enrollment_id (Integer) | Unique id for customer enrollment Linked table on EI : NA | Yes Measure Name : Customer_Enrollment_Id |
dim_customer_slab_id (Integer) | Contains the current slab name of the customer. Linked table on EI : customer_slab | Yes Dimension Name : customer_slab__slab_name |
dim_event_date_id (Integer) | Captures the date when the event has occured. Further details of the date can be obtained from the date dimension table.dim_event_date_id would be stored in the 'date_id' column of the date dimension table Linked table on EI : date | Yes Dimension Name : Date__date |
dim_event_program_id (Integer) | Program name for which the customer tier updated Linked table on EI : program | Yes Dimension Name : Event_Program__program_name |
dim_event_user_id (Integer) | Unique user identifier set internally by capillary Linked table on EI : users | Yes Dimension Name : User__user_id |
dim_event_zone_till_id (Integer) | "Captures the till_id of the zone where event occured Further details of the till can be obtained from the zone_till dimension table.dim_awarded_zone_till_id would be stored in the 'till_id' column of the zone_till dimension table. Linked table on EI : zone_till | |
dim_last_tier_date_change_id (Integer) | Measures the date when the customer tier has changed Further details of the date can be obtained from the date dimension table.dim_last_tier_date_change_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | |
dim_latest_updated_date_id (Integer) | Measures the date when the records were last updated. Further details of the date can be obtained from the date dimension table.dim_latest_updated_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | Yes DimensionName : latest_updated_date__date |
dim_latest_updated_time_id (Integer) | Measures the date when the records were last updated. Corresponds to the time_id column of the time table Linked table on EI : time | Yes Dimension Name : latest_updated_time__time |
dim_tier_expiry_date_id (Integer) | Date when the customer tier will expire Further details of the date can be obtained from the date dimension table.dim_tier_expiry_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | Yes Dimension Name : Tier_Expiry_Date__date |
expired_points (Integer) | Total points expired (based on slab) Linked table on EI : NA | |
lifetime_points (Integer) | Total lifetimepoints issued to the customer Linked table on EI : NA | |
loyalty_points (Integer) | Total points issues as part of then loyalty program (slab specific) to the customer Linked table on EI : NA | |
redeemed_points (Integer) | Total points redeemed by the customer (slab-specific) Linked table on EI : NA | |
year (Number) | Year when the customer slab has been changed Linked table on EI : NA |
Points redemption summary
Column name (type) | Description | Available for export? [PRS template] |
---|---|---|
auto_update_time (String) | Date and time when the PRS Fact is recently updated (Unix timestamp) Linked table on EI : NA | |
dim_event_date_id (Date) | Measures the date when the event has occured. Further details of the date can be obtained from the date dimension table. dim_event_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | Yes Dimension Name : Date__date |
dim_event_user_id (Integer) | User identifier , this is an integer set internally by capillary Linked table on EI : user | Yes Dimension Name : User__user_id |
dim_event_zone_till_id (Integer) | Captures the till_id of a store where event has occured Further details of the till can be obtained from the zone_till dimension table.dim_awarded_zone_till_id would be stored in the 'till_id' column of the zone_till dimension table. Linked table on EI : zone_till | Yes Dimension: Concept_Hierarchy__Till_Id |
dim_latest_updated_date_id (Date) | Date when the records was last updated. Corresponds to the 'date_id' column of the date dimension table Linked table on EI : date | Yes Dimension Name : latest_updated_date__date |
dim_latest_updated_time_id (String) | Time when the records was last updated. Corresponds to the time_id column of the time table Linked table on EI : time | Yes Dimension: latest_updated_time__time |
dim_redemption_program_id (String) | It is the Loyalty program id. This is mapped to PRS Linked table on EI : program | |
event_id (Integer) | Unique id of each event entry of the corresponding table.Primary Key, correlates to Deduction_Summary_Id in the PointFact Linked table on EI : Points fact | Yes Measure: Event_Id |
notes | Notes passed during the redemption Linked table on EI : NA | Yes Measure: Notes |
point_category_id (Integer) | It refers to the Point category Id column of PRS table. This id comes from points_category source table, which tells whether the points category is MAIN, DELAYED ACCRUAL, TRIGGER BASED or TRACKERs This id has reference to points_category table. In case of Group Redemption, this will be -1 Linked table on EI : NA | |
points_redeemed (Integer) | The total points redeemed in that particular redemption. Populated from points_redemption_summary on source side Linked table on EI : NA | |
points_redemption_time | The time at which the points redeemed from warehouse Populated from points_redemption_summary on source side | |
redemption_bill_id (String) | Loyalty log ID or bill ID for which the points are redeemed. The billing ID is generated by Capillary's system. Linked table on EI : Points Fact | Yes Measure Name : Redemption_Id |
redemption_bill_number (String) | Bill number for which the points are redeemed. The bill number is passed from the source data. If the source data doesn't have any value for the redemption bill number then the system shows 'Not Captured'. Linked table on EI : Points Fact | Yes Measure Name : Redemption_Bill_Number |
source_type (String) | The source from where the redemption data is incoming. The data can come from two sources, API and data import(redemption data import). Linked table on EI : NA | |
year (String) | year of the data Linked table on EI : NA |
Points expiry reminder info
Column name (type) | Description | Available for export in Points Expiry Reminder template |
---|---|---|
auto_update_time_point_exp_reminder (string) | Date and time when the points_reminder_expiry_info Fact is recently updated (Unix timestamp) Linked table on EI : NA | Yes Measure Name: Auto Update Time Point Exp Reminder |
dim_communication_channel_id (Integer) | This refers to the communication_channel table and the id is unique id for different communication channels. Linked table on EI : communication_channel | Yes Dimension Name :communication_channel |
dim_event_date_id (date) | measured the date when the event has occured Further details of the date can be obtained from the date dimension table.dim_event_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | Yes Dimension:Date |
dim_event_time_id (String) | measure the time stamp when the event has occured , it captures upto minutes and seconds is not captured. Linked table on EI : time | Yes Dimension:Time |
dim_event_user_id | Its a part of PRS fact. It relates to the customer_id who has done the redempion / reversal. Linked table on EI : User | Yes Dimension:User |
dim_expiry_date_id (Date) | Date when the allocated points is supposed to expire if unused. Further details of the date can be obtained from the date dimension table.dim_expiry_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | Yes Dimension Name :expiry_date |
dim_expiry_time_id (Date) | Time when the allocated points is supposed to expire if unused. Corresponds to the time_id column of the time table. Linked table on EI : time | Yes Dimension: expiry_time |
dim_latest_updated_date_id (Date) | Date when the records were last updated. Further details of the date can be obtained from the date dimension table.dim_latest_updated_date_id would be stored in the 'date_id' column of the date dimension table. Linked table on EI : date | Yes Dimension Name :latest_updated_date |
dim_latest_updated_time_id (String) | Time when the records were last updated Corresponds to the time_id column of the time table. Linked table on EI : time | Yes Dimension Name :latest_updated_time |
points_expiring (Integer) | The number of points that are going to expire for which reminder will be sent. Linked table on EI : NA | Yes Measure Name :Points Expiring |
reminded_before_days (Integer) | The number of days before which reminder needs to be sent for the points expiring. Linked table on EI : NA | Yes Measure Name :Reminded Before Days |
reminder_id (String) | primary key of expiry_reminder_sent_stats_customer_level table (coming from ) Linked table on EI : NA | Yes Measure:Reminder Id |
year (String) | year of the data Linked table on EI : NA |
Return bill line item
Column name (type) | Description | Available for export in Return Transaction template |
---|---|---|
auto_update_time_returned_bill (String) | Date and time (in Unix timestamp) when the return bill level information is updated | Yes Measure Name :Auto_Update_Time_Returned_Bill |
auto_update_time_returned_lineitem (String) | Date and time (in Unix timestamp) when the return lineitem level information is updated | |
bill_amount (Integer) | Total cost of items returned | Yes Measure :Bill_Amount |
bill_id (Integer) | The unique id generated for a particular bill internally in the capillary system(Bill_id for return) | Yes Measure Name :Bill_Id |
bill_number (String) | The unique number of a particular bill which is either generated at the POS machine or provided manually at that time of return | Yes Measure:Bill_Number |
dim_bill_outlier_status_id (Integer) | Outlier status of the bills on bill level | |
dim_event_date_id (Date) | Measures the date when the return has been made Corresponds to the date_id column of the date table. Linked table on EI : date | Yes Dimension Name :Date__date |
dim_event_time_id (String) | Measures the time stamp when the Return has occured , it captures upto minutes (seconds is not captured) Corresponds to the time_id column of the time table. Linked table on EI : time | Yes Dimension Name :Time__time |
dim_event_user_id (Integer) | Unique user identifier , this is an integer set internally by capillary Linked table on EI : User | Yes Dimension Name :User__user_id |
dim_event_zone_till_id (Integer) | till_id of a store where the return has been done Corresponds to 'till_id' column of the zone_till dimension table. Linked table on EI : zone_till | Yes Dimension Name :Concept_Hierarchy__Till_Id |
dim_item_id (Integer) | Unique id generated by the system for the specific returned item | |
dim_latest_updated_date_id (Date) | Date(in date formate) when the return bill level information is updated. Corresponds to the date_id column of the date table. Linked table on EI : date | |
dim_latest_updated_time_id (String) | Time (in time formate) when the return bill level information is updated Corresponds to the time_id column of the time table. Linked table on EI : time | |
dim_parent_bill_outlier_status_id (Integer) | Outlier status of return bill | |
dim_parent_line_item_outlier_status_id (Type : Integer) | Lineitem level outlier status of return bill | |
dim_returned_type_id (Integer) | Type of return:- 1 FULL 2 LINE_ITEM 3 AMOUNT 4 CANCELLED | Yes Dimension: returned_type__Return_Type |
exchange_bill_id ( Integer) | The unique id generated internally in the Capillary system for the mixed transaction (item exchange) | |
issued_bill_id (Integer) | Unique bill id issued to the customer for that particular transaction | |
issued_lineitem_id (Integer) | Unique line-item id issued to the customer for that particular line-item of a transaction | |
item_code (String) | Unique item code of the returned line item | |
line_item_amount (String) | Net amount of the line item including discount and tax | |
line_item_discount (String) | Discount given for that particular line-item | |
line_item_id (Integer) | Unique internal reference id for the line-item | |
line_item_value (Integer) | Total amount of the line item | |
notes (String) | Captures the custom notes mentioned on the line-item | Yes Measure: Notes |
quantity (Integer) | The quantity of a specific line-item returned | |
rate (String) | Price of the lineitem (item price*item quantity) | |
year (Integer) | Year when the return has been done | |
dim_membership_id (Integer) | Member type of customer who completed the transaction -10003 NOT-APPLICABLE -10002 INVALID -10001 NOT-CAPTURED 1 member 2 not-interested |
Concept till
Column name type | Description | Available for export in Member slab change log template |
---|---|---|
till_id (Integer) | till_id of a store | Concept_Hierarchy__Till_Id |
concept (String) | Concept of the Org | Concept_Hierarchy__concept |
till (String) | Till of the store | Concept_Hierarchy__till |
store_name (String) | Store name given by Capillary System | Concept_Hierarchy__store_name |
store_description (String) | Description of the store | Concept_Hierarchy__store_description |
store (String) | Unique id for store | Concept_Hierarchy__store |
concept_name (String) | Name of the concept | Concept_Hierarchy__concept_name |
auto_update_org_entities (Date) | Date and time (in Unix timestamp) when the concept is updated | |
is_active (Boolean) | Active status of till id(True,False) | |
type (String) | Type of store(General,Admin) | |
till_name (String) | Name of the till | Concept_Hierarchy__till_name |
Slab change log
Column name type | Description | Available for export in Member slab change log template |
---|---|---|
user_id (Integer) | Unique user identifier for customer. Assigned by capillary | Yes Measure name :User_Id |
event_date_time (datetime) | It is the slab change date and time. | Yes Measure name :Event_Date_Time |
slab_name (String) | The final slab name after a marticular migration.It is the slab to which the customer migrated to. | Yes Measure name :customer_slab__slab_name |
Auto_Update_Time_Slab_Upgrade ( time) | Date and time when the slab_change_log Fact is recently updated (Unix timestamp) | Yes Measure name :Auto_Update_Time_Slab_Upgrade |
notes (String) | Additional text added related to slab change details | Yes Measure name :Notes |
id (Integer) | It is the change log id forslab_change_log Fact (not business relevant ) | Yes Measure name :Id |
dim_event_date_id (datetime) | It captures the slab change date Linked table:Date | Yes Dimension name :Time__time |
dim_event_time_id ( datetime) | It captures the slab change time Linked table: Time | Yes Dimension name :Time__time |
dim_event_user_id (String) | user identifier for customer assined by capillary | Yes Dimension name :User__user_id |
dim_customer_slab_id (Number) | Captures the current slab Id for the customer Linked table: Customer_slab | |
dim_latest_updated_date_id (Number) | The latest updated date when the data has been updated Linked table: Date | Yes Dimension name: latest_updated_date__date |
dim_event_program_id (Number) | Program name for which the customer slab change happened Linked table: Program | Yes Dimension name: Event_Program__Program_Id |
dim_upgrade_event_type_id (Number) | Stands for process name for which the customer slab upgradation has been done(exm:- For new bill,point redemption,customer registration) Linked table: upgrade_event_type | Yes Dimension name: Slab_Upgrade_Event_Type__Upgrade_Event_Category |
year (Number) | Year when the customer slab change event occur | |
dim_latest_updated_time_id (Number) | The latest updated time when the data has been updated Linked table: Date | Yes Dimension name: latest_updated_time__time |
event_source_id (Number) | ||
dim_slab_change_source_id (Number) | Source id for which the customer slab change has been done Linked table: source_type | |
dim_event_zone_till_id (Number) | till_id of a store where the customer slab change has been done Linked table: Event_zone | |
dim_previous_slab_id (Number) | Slab id for the customer before the slab change Linked table: customer_slab | Yes Dimension name: Previous_Customer_Slab__serial_no |
dim_slab_change_action_id | Yes Dimension name: customer_slab__serial_no | |
dim_scd_type_id |
Customer summary
Column name type | Description | Available for export in Member Fact template |
---|---|---|
dim_latest_updated_date_id (Date) | It is the latest date when any rows of customer_summary table is updated. Linked table:Date | Yes Measure Name :latest_updated_date__date |
dim_latest_updated_time_id (Time) | It is the latest time stamp when any row of customer_summary table gets is updated Linked table: Time | Yes Dimension Name :latest_updated_time__time |
dim_event_date_id (]Date) | Measures the date when customer is registered. Linked table:Date | Yes Dimension Name: Date__date |
dim_event_time_id (Time) | Measures the time of customer registration (only upto minute) Linked table:Time | Yes Dimension Name: Time__time |
dim_event_user_id (Integer) | Capillary assigned unique user identifier Linked table: event_users | Yes Dimension Name: User__user_id |
dim_joined_date_id (Date) | It is same as registration date Linked table: Date | Yes Dimension Name: joined_date__date |
auto_update_time_cps (Time) | Updated time when the customer point summary table has been updated | |
dim_conversion_date_id (Date) | Measures the date when the user has been converted from Non Loylaty to Loyalty Customers Linked table: Date | |
auto_update_time_extnd (Time) | Extended field when the table was last updated | |
auto_update_time_loyalty (String) | Time stamp when the loyalty table has been updated | |
average_spent_per_sku (Integer) | Average amount spend at the SKU Level | |
average_spent_per_visit (Integer) | Average amount spent in each visit | |
cancelled_points (Integer) | Total number of points cancelled till date | |
till_date_points (Integer) | Total number of points issued to customer till date | |
year (Integer) | Year when the customer has been registered | |
dim_conversion_time_id (Time) | Measures the time when the user has been converted from non loylaty to loyalty customer Linked table: Time | |
dim_dob_id (Date) | Measures the user's date of birth Linked table: Date | |
dim_event_zone_till_id (]Integer) | till_id of the store where the user was registered Linked table: event_zone | |
dim_first_awarded_date_id (Date) | Measures the date when first point has been awarded Linked table: Date | |
dim_first_bill_date_id (Date) | Measures the date when the first bill has been made Linked table: Date | |
dim_first_points_redemption_date_id (Date) | Measures the date when the first point has been redeemed Linked table: Date | |
dim_first_purchased_till_id (Integer) | till_id of a store where the first bill has been made Linked table: event_zone | |
dim_first_redeemption_date_id (Date) | Measures the date of first redemption Linked table: Date | |
dim_lapsation_date_id ( Date) | Measures the lapsation date of the customer, usually it is last_bill_date + 90 Linked table: Date | |
dim_last_bill_date_id (Date) | Measures the date when the last bill has been made Linked table: Date | |
dim_last_points_redemption_date_id (Type: Date) | Meaures the date of the recent point redemptation Linked table: Date | |
dim_last_purchased_till_id (Date) | till_id of a store where the last bill has been made Linked table: event_zone | |
dim_last_redeemption_date_id (Date) | Measures the date of the recent point redemptation Linked table: Date | |
dim_loyalty_type_id (Integer) | Loyalty type of the customer. Can be - 1 loyalty 2 non_loyalty 3 not_registered Linked table: loyalty_type | |
dim_points_redemption_status_id (Integer) | ||
dim_preferred_order_channel_id (Integer) | Preferred order channel of the user Linked table: order_channel | |
dim_preferred_store_id (Integer) | Preferred store where the user visit for the transaction Linked table: event_zone | |
dim_repeat_status_id (Integer) | Stands for the repeat status of custome. Can be either customer first timer or repeat Linked table: repeat_status | |
dim_source_type_id (Integer) | Stands for the source name from which the customergot registered(like instore,app,Wechat) Linked table: source_type | |
dim_voucher_redemption_status_id (Type: Integer) | ||
dim_wedding_date_id (Date) | Measures the date for wedding of the users Linked table: Date | |
expired_points (Integer) | Total points expired for user till date | |
first_visit_basket_size (Integer) | Measures the count of quantity when the user has done the first transaction | |
first_visit_bill_amount (Integer) | Measures the transaction amount when the user has done the first transaction | |
has_spike_bill (Integer) | Captures whether the customer has made a bill which is 10 times its average bill value at some point in time This is more for fraud detection | |
last_updated_by_till_id (Integer) | Till_id where the customer details has been updated recently | |
last_visit_bill_amount (Integer) | Measures the recent transaction amount made by the user | |
latency (Integer) | Measures the average number of days between two successive visits made by the customers | |
line_item_count (Integer) | Measures the total amount of different products bought by the customers till date | |
loyalty_id (Integer) | It is the primary key of user_managment.loyalty(source table) (Not use for business purpose) | |
loyalty_points (Integer) | The total amount of redeemable points available to the customer as on today | |
max_bill_amount (Integer) | Maximun bill amount(on a single bill) of the user till date | |
max_bill_count_in_day (Integer) | Maximum number of transaction done in a day till date by the user | |
max_bill_count_in_week (Integer) | Maximum number of transaction done in a week till date by the user | |
max_bill_hour_count_in_day (Integer) | Maximum number of transaction done in an hour till date by the user | |
max_zones_with_billing_on_same_day (Integer) | Maximum number zone in same day where the bill has been done by user till date | |
number_of_visit_days ( Integer) | The total count of different dates where the customer visited the store so far | |
number_of_visits (Integer) | The total count of transactions made by customer till date. This counts date with time stamp | |
points_awarded_days (Integer) | The count of the days when the points have been awared to the customer till date | |
redeemed_points (Integer) | Total number of points that have been redeemed by the customer till date | |
redeemed_rate (Integer) | Ratio of the number of redeemed transactions to the total number of transactions till date | |
redeemed_visit_days (Integer) | Number of days visit where the redemption has been done by the user till date | |
redeemed_visits (Integer) | Number of visist where the redemption done by the user till date | |
redeemed_voucher_count (Integer) | Number of vouchers that have been redeemed by user till date | |
redemption_latency (Integer) | Measures the average number of days between two successive redemption done by a customer | |
returned_bill_amount (Integer) | Total amount that has been returned by the customer till date | |
returned_bill_count (Integer) | Total number of bills that have been returned by the customer till date | |
sku_purchased (Integer) | Total number of SKUs that have been purchased by the user till date | |
skus_returned (Integer) | Total number of SKUs that have been returbed by the user till date | |
total_bill_amount (Integer) | Total amount that has been spent by the user till date | |
total_bill_count (Integer) | Total number of transactions made by the customer till date | |
total_line_item_amount (Integer) | Total line item amount that has been purchased by the user till date | |
total_points_redeemed (Integer) | Total points that have been redemed by the user till date | |
total_returned_line_item_amount (nteger) | Total line item amount that has been returned by the user till date |
Coupons
Column Name and Type | Description | Available for export in Coupons template |
---|---|---|
auto_update_time (Type:Unixtimes) | Date and time when the coupons table is recently updated (Unix timestamp) Linked table on EI:NA | Yes Measure Name:Auto Update Time |
bill_id (Type: Integer) | Identifier key for the bill against which the coupons have been issued or redeemed Linked table on EI:NA | Yes Measure Name:bill id |
coupon_code (Type: String) | A unique id generated for the coupons Linked table on EI:NA | Yes Measure Name:Coupon Code |
coupon_code_src (Type: String) | It is same as coupon code Linked table on EI:NA | Yes Measure Name:Coupon Code Src |
dim_campaign_group_id (Type: Integer) | Captures the campaigns_group for which the coupons related event has been done Linked table on EI: Campaign_group | NA |
dim_campaign_id (Type: Integer) | Captures the the campaigns for which the coupons related event has been done Linked table on EI: Campaigns | NA |
dim_coupon_issual_type_id (Type: Integer) | Captures the type of the coupon issued Linked table on EI: coupon_issual_type | Yes Dimension Name:coupon issual type |
dim_coupon_series_id (Type: Integer) | Captures the Coupon Series against the coupon event Linked table on EI: Coupon_series | Yes Dimension Name:coupon series |
dim_entry_type_id (Type: Integer) | Captures the entry type for the coupons event Linked table on EI:Entry Type | Yes Dimension Name:entry type |
dim_event_date_id (Type: Integer) | Captures the date when the event(issual / redemption) has occured Linked table on EI:Date | Yes Dimension Name:date |
dim_event_time_id (Type: Integer) | Captures the time stamp when the event has occured , it captures upto minutes however seconds is not captured Linked table on EI:Time | Yes Dimension Name:time |
dim_event_user_id (Type: Integer) | Unique user identifier , this is an integer set internally by capillary Linked table on EI:users | Yes Dimension Name: users |
dim_event_zone_till_id (Type: Integer) | Captures the till_id of a store where the coupons related event occured Linked table on EI:zone_tills | NA |
dim_expiry_date_id (Type: Date) | Captures the date when the coupon will expire Linked table on EI:date | Yes Dimension Name:expiry_date |
dim_issual_campaign_group_id (Type: Integer) | Captures the campaign group id for which coupon has been issued Linked table on EI:Campaign_group | NA |
dim_issual_date_id (Type: Date) | Captures the date when coupon has been issued Linked table on EI:date | Yes Dimension Name:issual_date |
dim_issual_time_id (Type: Integer) | Captures the time when coupon has been issued Linked table on EI:time | Yes Dimension Name: issual_time |
dim_issual_type_id (Type: Integer) | Captures the type of coupon issued Linked table on EI:coupon_issual_type | Yes Dimension Name: issual_type |
dim_issual_zone_till_id (Type: Integer) | Captures the zone till where coupon has been issued Linked table on EI:zone_tills | NA |
dim_issued_to_user_id (Type: Integer) | Captures the customer details to whom the coupon has been issued Linked table on EI:users | NA |
dim_latest_updated_date_id (Type: Integer) | The date when the data has been recently updated Linked table on EI:date | Yes Dimension Name: Latest Updated date |
dim_latest_updated_time_id (Type: Integer) | The time when the data has been recently updated Linked table on EI:time | Yes Dimension Name: Latest Updated time |
event_id (Type: Integer) | A unique id generated for the coupon's event by capillary system Linked table on EI:NA | Yes Measure Name:Event Id |
issual_coupon_id (Type: String) | Unique Id assigned to the coupon which has been issued Linked table on EI:NA | Yes Measure Name:Issual Coupon Id |
redemption_bill_amount (Type: Integer) | Total transaction amount of the bill against which coupon has been redeemed Linked table on EI:NA | Yes Measure Name:Redemption Bill Amount |
used_bill_number (Type: String) | Bill_number used while the redeeming the coupon Linked table on EI:NA | Yes Measure Name:Used Bill Number |
year (Type: Integer) | Year when the coupon's event occured | No |
dim_coupon_event_type_id (Type: Integer) | Captures the coupons event type(issual,redemption) Linked table on EI: redeemed_status | Yes Dimension Name: coupon_event_type |
Payment Mode Details
Column name and type | Description | Available for export in Payment Mode template |
---|---|---|
bill_amount (Type: Integer) | The total amount of the transaction for which the payment has been done Linked table on EI : NA | yes Measure Name: Bill Amount |
bill_discount (Type: Integer) | Total discount given on transaction for which payment has been done Linked table on EI : NA | yes Measure Name: Bill discount |
bill_id (Type: Integer) | The unique id generated for a particular bill internally in the capillary system for which payment has been done. Linked table on EI : NA | yes Measure Name: Bill Id |
bill_number (Type: String) | A unique number for a transaction that is either auto-generated at the POS machine or provided manually. Linked table on EI : NA | yes Measure Name: Bill Number |
central_gst (Type: Integer) | Total GST amount on the transaction for which payment has beed done. Linked table on EI : NA | yes Measure Name: Central GST |
dim_added_on_date_id (Type: Integer) | Captures the date when the payment details had been added for the transaction Linked table on EI : Date | yes Dimension Name: added_on_date |
dim_bill_outlier_status_id (Type: Integer) | Captures the Outlier status of the bills against bill_id Linked table on EI : outlier_status | yes Dimension Name:bill outlier |
dim_bill_type_id (Type: Integer) | Captures the type of bill for which the payment has been made Linked table on EI : bill_type | yes Dimension Name:dim_bill_type_id |
dim_cashier_id (Type: Integer) | Captures the cashier's details for the payment Linked table on EI : cashier | yes Dimension Name:cashier id |
dim_event_date_id (Type: Integer) | Captures the date when the payment has been done Linked table on EI : Date | No |
dim_event_time_id (Type: Integer) | Captures the time when the payment has been done Linked table on EI : Time | No |
dim_event_user_id (Type: Integer) | Captures the user details for which the payment has been done Linked table on EI : Users | No |
dim_event_zone_till_id (Type: Integer) | Captures the store details where the payment has been done Linked table on EI : zone_tills | No |
dim_latest_updated_date_id (Type: Integer) | Captures the date when the data has been recently updated in the fact. Linked table on EI : Date | No |
dim_latest_updated_time_id (Type: Integer) | Captures the time when the data has been recently updated in the fact. Linked table on EI : Time | No |
dim_loyalty_type_id (Type: Integer) | Loyalty type of the customer 1 loyalty 2 non_loyalty 3 not_registered Linked table on EI : loyalty_type | No |
dim_nps_id (Type: Integer) | Captures the nps score given by the customer for the payment made Linked table on EI : NPS_score | yes Dimension Name: nps |
dim_order_channel_id (Type: Integer) | The channel via which the transaction has been completed Linked table on EI : order_channel | yes Dimension Name: order channel |
dim_payment_mode_id (Type: Integer) | measured the Store details where the payment has been done | yes Dimension Name: payment mode attribute |
dim_repeat_status_id (Type: Integer) | Captures the repeat status of the customer 1 FIRST_TIME -10002 INVALID -10003 NOT-APPLICABLE -10001 NOT-CAPTURED 2 REPEAT Linked table on EI : repeat_status | yes Dimension Name: repeat |
dim_source_type_id (Type: Integer) | Source of the bill Linked table on EI : source_type | yes Dimension Name: source |
integrated_gst (Type: String) | Captures the GST levied by the central government for inter-state supplies and imports Linked table on EI : NA | yes Measure Name: Integrated GST |
payment_mode_amount (Type: Integer) | Total amount of the payment made Linked table on EI : NA | yes Measure Name: Payment mode amount |
payment_mode_details_id (Type: Integer) | A unique id generated for the payment mode details by capillary system Linked table on EI : NA | yes dimension name: Payment mode attribute |
quantity (Type: Integer) | Total number of quantity in transaction for which payment has been done Linked table on EI : NA | yes Measure Name: Quantity |
state_gst (Type: Integer) | Total State gst that has been applied on the payment Linked table on EI : NA | yes Measure Name: State GST |
tax_amount (Type: Integer) | Total tax amount that has been applied on the payment | yes Measure name: Tax Amount |
year (Type: Integer) | Year when the payment has been done | No |
Customer Merge Log
Column name and type | Description | Available for export in CPS template |
---|---|---|
auto_update_time (Type:String) | Date and time (in Unix timestamp) when the communication details has been updated Linked table on EI: NA | No |
details (Type:String) | Details for profile merge Linked table on EI: NA | No |
dim_event_date_id (Type: Integer) | Captures the date when the customer profile merged Linked table on EI: Date | Yes Dimension Name: Date |
dim_event_time_id (Type: Integer) | Captures the time when the customer profile merged Linked table on EI: Time | Yes Dimension Name: Time |
dim_event_user_id (Type: Integer) | Captures the current user_id Linked table on EI: Users | Yes Dimension Name: Users |
dim_latest_updated_date_id (Type: Integer) | The latest updated date when the data is recently updated in the Fact Linked table on EI: Date | Yes Dimension Name: Latest updated Date |
dim_latest_updated_time_id (Type: Integer) | The latest updated time when data is recently updated in the Fact Linked table on EI: Time | Yes Dimension Name: Latest updated Time |
dim_merged_by_admin_id (Type: Integer) | Captures the admin user details which has merged the customer_profile Linked table on EI: admin_users | Yes Dimension Name: merger by admin user |
dim_merged_by_zone_till_id (Type: Integer) | Captures the store details where the customer profile merged Linked table on EI: zone_tills | Yes Dimension Name:merge by till |
dim_victim_user_id (Type: Integer) | Captures the users details with which the customer profile merged Linked table on EI: users | Yes Dimension Name:victim |
merge_event_id (Type: Integer) | Id for customer profile merge event Linked table on EI: NA | Yes Measure Name: merger event id |
merge_reason (Type: Integer) | Reason for the customer profile merge Linked table on EI: NA | Yes Measure Name:merge reason |
victim_external_id (Type: Integer) | External id of customer for which the customer profile has been merged Linked table on EI: NA | Yes Measure Name:Victim external id |
victim_mobile (Type: Integer) | Mobile number of the customer for which the customer profile has been merged Linked table on EI: NA | Yes Measure Name:Victim mobile |
year (Type: Integer) | Year when the event has been done Linked table on EI: NA | No |
Call Task Customer Status
Column name and type | Description | Available for export in Call task template |
---|---|---|
auto_update_time_task_status (Type: String) | Date and time (in Unix timestamp) when the task details has been updated Linked table on EI : NA | Yes Measure Name:Auto Update Time Task Status |
call_task_id (Type: Integer) | Id for the call task Linked table on EI : NA | Yes Measure Name:Call Task Id |
dim_campaign_id (Type: Integer) | Unique id generated by the system for the campaigns Linked table on EI : Campaigns | Yes Dimension Name:campaign |
dim_campaign_message_id (Type: Integer) | Unique id generated by the system for the campaign_message Linked table on EI : campaign_msg | Yes Dimension Name:campaign_message |
dim_event_date_id (Type: Integer) | Captures the date for the call task Linked table on EI : Date | Yes Dimension Name:Date |
dim_event_time_id (Type: Integer) | Captures the time for the call task Linked table on EI : Time | Yes Dimension Name:Time |
dim_event_user_id (Type: Integer) | Captures user details for the call task Linked table on EI : Users | Yes Dimension Name:User |
dim_event_zone_till_id (Type: Integer) | Captures the store details for for the call task Linked table on EI : Zone_tills | Yes Dimension Name:Store Hierarchy |
dim_internal_status_id (Type: Integer) | Captures the internal status for the call task Linked table on EI : Internal status | Yes Dimension Name:internal_status |
dim_latest_updated_date_id (Type: Integer) | The latest date when the data has been updated Linked table on EI : date | Yes Dimension Name:Date |
dim_latest_updated_time_id (Type: Integer) | The latest time when the data has been updated Linked table on EI : time | Yes Dimension Name:Time |
dim_task_id (Type: Integer) | Captures the id for the task(Same as Task_id) Linked table on EI : tasks | Yes Dimension Name:task |
dim_updated_date_id (Type: Integer) | Captures the date when the date has been updated Linked table on EI : date | Yes Dimension Name:Date |
dim_updated_time_id (Type: Integer) | Captures the time when the date has been updated Linked table on EI : time | Yes Dimension Name:Time |
task_id (Type: Integer) | Unique id for the Task that has been configured for the campaings Linked table on EI : NA | Yes Measure Name:Task Id |
Messages
Column name and type | Description | Available for export in Message template |
---|---|---|
auto_update_time_nsadmin (Type : String) | Unixtime stamp when the nsadmin table has been updated Linked table on EI: NA | Yes Measure Name: Auto Update Time Nsadmin |
client_context_id (Type : Integer) | Yes Measure Name: Client Context Id | |
client_id (Type : Integer) | Yes Measure Name: Client Id | |
dim_account_id (Type : Integer) | Captures the gateway details for which the communication occured Linked table on EI: gateway | Yes Dimension Name: gateway_account |
dim_campaign_id (Type : Integer) | Captures the campaign details for which the coomunication occurs Linked table on EI:Campaigns | Yes Dimension Name: campaign |
dim_communication_channel_id (Type : Integer) | Type of communication channel which has been used to contact the user Linked table on EI:Communication Channel | Yes Dimension Name: communication_channel |
dim_delivery_status_id (Type : Integer) | Captures the status for the message delivery Linked table on EI: campaign_delivery_status | Yes Dimension Name: delivery_status |
dim_event_date_id (Type : Integer) | Captures the date when the communication has been done for the user Linked table on EI: date | Yes Dimension Name: Date |
dim_event_time_id (Type : Integer) | Captures the time when the communication has been done for the user Linked table on EI:time | Yes Dimension Name: Time |
dim_event_user_id (Type : Integer) | Unique user identifier , this is an integer set internally by capillary Linked table on EI: user | Yes Dimension Name:User |
dim_latest_updated_date_id (Type : Integer) | The latest date when the data has been updated Linked table on EI: date | Yes Dimension Name :latest_updated_date |
dim_latest_updated_time_id (Type : Integer) | The latest time when the data has been updated Linked table on EI:time | Yes Dimension Namelatest_updated_time |
dim_nsadmin_priority_id (Type : Integer) | Captures the priority of the messages Linked table on EI: nsadmin_priority | Yes Dimension Name: nsadmin_priority |
message (Type : String) | Content of the Message | Yes Measure Name: Message |
message_count (Type : Integer) | Total count of message(Depends on the content of the message) | Yes Measure Name: Message Count |
nsadmin_id (Type : Integer) | Unique id of the message as available in nsadmin table | Yes Measure Name: Nsadmin Id |
year (Type : Integer) | Year when the communication has been sent | No |
Contact Info
Column name and type | Description | Available for export in Contacted template |
---|---|---|
auto_update_time_comm_details (Type: String) | Date and time (in Unix timestamp) when the communication details has been updated Linked table on EI : NA | Yes Measure Name: Auto Update Time Comm Details |
auto_update_time_contact (Type: String) | Date and time (in Unix timestamp) when the contact data has been updated Linked table on EI : NA | Yes Measure Name:Auto Update Time Contact |
auto_update_time_email_stats (Type: String) | Date and time (in Unix timestamp) when email stats has been updated Linked table on EI : NA | Yes Measure Name:Auto Update Time Email Stats |
auto_update_time_subs_stats (Type: String) | Date and time (in Unix timestamp) when subscription status has been updated Linked table on EI : NA | Yes Measure Name:Auto Update Time Subs Stats |
dim_campaign_delivery_status_id (Type: Integer) | Unique id generated by the system for the campaigns_delivery status Linked table on EI : campaign_delivery_status | Yes Dimension Name: campaign_delivery_status |
dim_campaign_group_id (Type: Integer) | Unique id generated by the system for the campaigns_group Linked table on EI : campaign_group | Yes Dimension Name: campaign_group |
dim_campaign_id (Type: Integer) | Unique id generated by the system for the campaigns Linked table on EI : Campaigns | Yes Dimension Name: campaign |
dim_campaign_message_id (Type: Integer) | Unique id generated by the system for the campaign_message Linked table on EI : campaign_msg | Yes Dimension Name: campaign_message |
dim_communication_channel_id (Type: Integer) | Type of communication channel via which the communication has been recived by the user Linked table on EI : communication_channel | Yes Dimension Name: communication_channel |
dim_contact_date_id (Type: Integer) | Captures the date when the customer has been contacted Linked table on EI : date | Yes Dimension Name: campaign_contact_date |
dim_contact_time_id (Type: Integer) | Captures the time when the customer has been contacted Linked table on EI : time | Yes Dimension Name: campaign_contact_time |
dim_email_open_date_id (Type: Integer) | Captures the date when the email has been opened Linked table on EI : date | Yes Dimension Name: link_open_date |
dim_email_open_time_id (Type: Integer) | Captures the time when the email has been opened Linked table on EI : time | Yes Dimension Name: link_open_time |
dim_event_date_id (Type: Integer) | Captures the date when the communication has been done for the user Linked table on EI : date | Yes Dimension Name: Date |
dim_event_time_id (Type: Integer) | Captures the time when the communication has been done for the user Linked table on EI : time | Yes Dimension Name: Time |
dim_event_user_id (Type: Integer) | Unique user identifier , this is an integer set internally by capillary. Customer to which the communication had been made. Linked table on EI : Users | Yes Dimension Name: User |
dim_event_zone_till_id (Type: Integer) | till_id of a store Linked table on EI : Zone_tills | No |
dim_latest_updated_date_id (Type: Integer) | The latest date when the data has been updated in the table Linked table on EI : date | Yes Dimension Name: latest_updated_date |
dim_latest_updated_time_id (Type: Integer) | The latest time when the data has been updated in the table Linked table on EI : time | Yes Dimension Name: latest_updated_time |
dim_unsubscription_status_id (Type: Integer) | Unique id generated by the system for the unsubsription status Linked table on EI : unsubscription_status | Yes Dimension Name: unsubscription status |
message_body (Type: String) | The content of the message sent to the users Linked table on EI : NA | Yes Measure Name:Message Body |
msg_id (Type: Integer) | This is the template id generated for each message template of a campaign. For example, if there are 5 types of messages sent in a campaign, it will have 5 msg_ids Linked table on EI : NA | Yes Measure Name:Msg Id |
nsadmin_id (Type: Integer) | This is the communication id at its lowest level. Each nsadmin_id corresponds to a specific communication to a user Linked table on EI : NA | Yes Measure Name:Nsadmin Id |
open_count (Type: Integer) | Count of times the email message has been opened Linked table on EI : NA | Yes Measure Name:Open Count |
total_link_click_count (Type: Integer) | Total count of click for an email message Linked table on EI : NA | Yes Measure Name:Total Link Click Count |
unsubscribed (Type: Integer) | Captures the subscription status of the customer.Marked as yes if customer unsubscribed otherwise it will be written NOT-YET Linked table on EI : NA | Yes Measure Name:Unsubscribed |
year (Type: Integer) | This is a partition column mainly on year(event_date), this columns helps in faster execution of codes when you need a particular year Linked table on EI : NA | No |
dim_communication_type_id (Type: Integer) | Type of communication which has been recived by the user Linked table on EI : communication_type | Yes Dimension Name:communication_type |
Response Info
Sr num | Column Name and Type | Description | Available for export in Responders template |
---|---|---|---|
1 | bill_amount [Type : Integer] | Measures the net amount of the transaction made by the user | Yes Measure name :Bill Amount |
2 | bill_discount [Type : Integer] | Measures the total discount applied on the bill | Yes Measure name :Bill Discount |
3 | bill_id [Type : Integer] | A unique id generated for the bill internally by capillary system. It helps in differentiating one customer's bill from another | Yes Measure name :Bill Id |
4 | bill_number [Type : Integer] | A unique number for a transaction that is either auto-generated at the POS machine or provided manually | Yes Measure name :Bill Number |
5 | dim_bill_outlier_status_id [Type : Integer] | Outlier status of the bills on bill level | Yes Dimension Name: Bill Outlier |
6 | dim_campaign_delivery_status_id [Type : Integer] | Unique id generated by the system which tells the campaigns delivery status Linked table :Delivery_status | Yes Dimension Name:campaign_delivery_status |
7 | dim_campaign_group_id [Type : Integer] | Unique id generated by the system which specifies the group of the campaign Linked table:Campaign_group | Yes Dimension Name:campaign_group |
8 | dim_campaign_id [Type : Integer] | Unique id generated by the system for the campaigns Linked table:Campaigns | Yes Dimension Name:campaign |
9 | dim_campaign_message_id [Type : Integer] | Unique id generated by the system for the campaign_message | Yes Dimension Name:campaign_message |
10 | dim_campaign_schedule_date_id [Type : Integer] | Measures the date when the campaign has been schedule Linked table: date | Yes Dimension Name:campaign_schedule_date |
11 | dim_campaign_schedule_time_id [Type : Integer] | Measures the time when the campaign has been schedule Linked table:time | Yes Dimension Name:campaign_schedule_time |
12 | dim_communication_channel_id [Type : Integer] | Type of communication channel on which the message has been communicated to the user Linked table : communication_channel | Yes Dimension Name:communication_channel |
13 | dim_communication_type_id [Type : Integer] | Type of communication which has been received by the user Linked table: communication_type | Yes Dimension Name:communication_type |
14 | dim_email_open_date_id [Type : Integer] | Measures the date when the email has been opened. Linked table: Date | No |
15 | dim_email_open_time_id [Type : Integer] | Measures the time when the email has been opened Linked table: time | No |
16 | dim_event_date_id [Type : Integer] | Measures the date when the event has occured Linked table: date | Yes Dimension Name:Date |
17 | dim_event_time_id [Type : Integer] | Measures the time stamp when the event has occured , it captures upto minutes and seconds is not captured Linked table: time | Yes Dimension Name:Time |
18 | dim_event_user_id [Type : Integer] | Unique user identifier , this is an integer set internally by capillary. Linked table:User | Yes Dimension Name:User |
19 | dim_event_zone_till_id [Type : Integer] | Captures till_id of a store where the event has occured. Linked table: zone | Yes Dimension Name:Store Hierarchy |
20 | dim_item_id [Type : Integer] | Unique id generated by the system for a specific item. Linked table: item | No |
21 | dim_latest_updated_date_id [Type : Integer] | The latest updated date when the data has been updated. Linked table: table | Yes Dimension Name:latest_updated_date |
22 | dim_latest_updated_time_id [Type : Integer] | The latest updated time when the table has been updated. Linked table:time | latest_updated_time |
23 | dim_line_item_outlier_status_id [Type : Integer] | Outlier status of the bills at lineitem level. Linked table: outlier_status | Yes Dimension Name:Line Item Outlier |
24 | dim_loyalty_type_id [Type : Integer] | Loyalty type of the customer.Could be loyalty ,non_loyalty or not_registered Linked table:loyalty_type | Yes Dimension Name:Loyalty |
25 | dim_repeat_status_id [Type : Integer] | Repeat status of the customer. Linked table: repeat_status | Yes Dimension Name:Repeat |
26 | dim_source_type_id [Type : Integer] | Source of the bill Linked table : source_type | Yes Dimension Name:Source |
27 | dim_unsubscription_status_id [Type : Integer] | Unique id generated by the system for the unsubsription status | Yes Dimension Name:unsubscription status |
28 | item_code [Type : String] | The unique code of the line-item | Yes Measure name :Item Code |
29 | line_item_amount [Type : Integer] | Total amount after discount including tax. | Yes Measure name :Line Item Amount |
30 | line_item_discount [Type : Integer] | Discount given for the particular line-item | Yes Measure name :Line Item Discount |
31 | line_item_id [Type : Integer] | Unique id generated by the system for the line-item | Yes Measure name :Line Item Id |
32 | msg_id [Type : Integer] | Unique if for the messge that has been configuried in the campaigns | Yes Measure name :Msg Id |
33 | quantity [Type : Integer] | Total count of quantity in the transaction | Yes Measure name :Quantity |
34 | redeemed_points [Type : Integer] | Total point been redeemed on the transaction | Yes Measure name :Redeemed Points |
35 | total_link_click_count [Type : Integer] | Total count of click that has been done by the user on the link which has been added in the message | Yes Measure name :Total Link Click Count |
36 | year [Type : Integer] | Year when the transaction has been done | No |
Members
Column name and type | Description | Available for export in Member Fact template |
---|---|---|
dim_latest_updated_date_id (Type - date) | This refers to the latest date when any rows of this table got updated Linked Table on EI : Date | Yes Measure Name = latest_updated_date__date |
dim_latest_updated_time_id Type - time | This refers to the latest time stamp when any rows of this table got updated Linked Table on EI : time | Yes Measure Name = latest_updated_time__time |
dim_event_date_id Type - date | This refers to the date when customer registration occured Linked Table on EI : date | Yes Measure Name = Date__date |
dim_event_time_id Type - time | This refers to the registration time (only upto minute) Linked Table on EI : time | Yes Measure Name = Time__time |
dim_event_user_id Type - int | This is a capillary assigned user identifier Linked Table on EI : Event_Users | Yes Measure Name = User__user_id |
Tata Specific Type - string | tata assgined user identifier Linked Table on EI : N/A | Yes Measure Name = User__customer_external_id |
Type - int | till identifier where the customer got registered Linked Table on EI : N/A | Yes Measure Name = User__registered_till_id |
dim_joined_date_id Type - date | this is same as registration date Linked Table on EI : Date | Yes Measure Name = joined_date__date |
Brand Specific Type - string | This is a custom field Linked Table on EI : N/A | Yes Measure Name = user_cf_ihcl_active |
Brand Specific Type - string | This is a custom field Linked Table on EI : N/A | Yes Measure Name = user_cf_tcp_active |
Brand Specific Type - string | This is a custom field Linked Table on EI : N/A | Yes Measure Name = user_cf_tierup |
Brand Specific Type - string | This is a custom field Linked Table on EI : N/A | Yes Measure Name = user_cf_tierup_airasia |
Brand Specific Type - string | This is a custom field Linked Table on EI : N/A | Yes Measure Name = user_cf_up_reason |
auto_update_time_cps Type - time | Updated time when the Customer point summary table has been updated Linked Table on EI : N/A | No |
dim_conversion_date_id Type - date | measured the date when the user has been covnerted from non loylaty to loyalty customer Linked Table on EI : Date | No |
auto_update_time_extnd Type - Time | extended field when it was last updated Linked Table on EI : N/A | No |
auto_update_time_loyalty Type - string | Time stamp when the loyalty table has been updated Linked Table on EI : N/A | No |
average_spent_per_sku Type - Interger | Average amount spend on the SKU Level Linked Table on EI : N/A | No |
average_spent_per_visit Type - Interger | Average amount spent on each visit Linked Table on EI : N/A | No |
cancelled_points Type - Interger | Total number of points has been cancled in the till date Linked Table on EI : N/A | No |
till date_points Type - Interger | Total number of points has been issued to customer in till date Linked Table on EI : N/A | No |
year Type - Interger | Yera when the customer has been register Linked Table on EI : N/A | No |
dim_conversion_time_id Type - time | measured the date when when the user has been covnerted from non loylaty to loyalty customer Linked Table on EI : time | No |
dim_dob_id Type - Date | measured the date for user's Date of birth Linked Table on EI : Date | No |
dim_event_zone_till_id Type - Interger | till_id of a store where the user registration done Linked Table on EI : Event_zone | No |
dim_first_awarded_date_id Type - Date | measured the date when first point has been awared Linked Table on EI : Date | No |
dim_first_bill_date_id Type - Date | measured the date when the first bill has been made Linked Table on EI : Date | No |
dim_first_points_redemption_date_id Type - Date | measured the date when the first point has been redemed Linked Table on EI : Date | No |
dim_first_purchased_till_id Type - Interger | till_id of a store where the first bill has been made Linked Table on EI : Event_zone | No |
dim_first_redeemption_date_id Type - Date | measured the date when the first redemption happend Linked Table on EI : Date | No |
dim_lapsation_date_id Type - Date | lapsation date of customer, usually its last_bill_date + 90 Linked Table on EI : Date | No |
dim_last_bill_date_id Type - Date | measured the date the last bill has been made Linked Table on EI : Date | No |
dim_last_points_redemption_date_id Type - date | measured the date when the recent point redemptation activity happened Linked Table on EI : Date | No |
dim_last_purchased_till_id Type - date | till_id of a store where the last bill has been made Linked Table on EI : Event_zone | No |
dim_last_redeemption_date_id Type - date | measured the date when the recent redemptation activity happened Linked Table on EI : Date | No |
dim_loyalty_type_id Type - Interger | Loyalty type of the customer 1 loyalty 2 non_loyalty 3 not_registered Linked Table on EI : loyalty_type | No |
dim_points_redemption_status_id Type - Interger | Linked Table on EI : N/A | No |
dim_preferred_order_channel_id Type - Interger | Prefrrred channel from where the user use to order Linked Table on EI : order_channel | No |
dim_preferred_store_id Type - Interger | Preferred store where the user visit for the transaction Linked Table on EI : Event_zone | No |
dim_repeat_status_id Type - Interger | Stands for the repeat status of customer either customer first timer or repeat Linked Table on EI : repeat_status | No |
dim_source_type_id Type - Interger | Stands for the sourece name using that customer registration happend(like instore,app,Wechat) Linked Table on EI : Source_type | No |
dim_voucher_redemption_status_id Type - Interger | Linked Table on EI : N/A | No |
dim_wedding_date_id Type - Date | measured the date for users wedding Linked Table on EI : Date | No |
expired_points Type - Interger | Total point which is expired for user till date Linked Table on EI : N/A | No |
first_visit_basket_size Type - Interger | Stands for the count of quantity when the user has done the first transaction Linked Table on EI : N/A | No |
first_visit_bill_amount Type - Interger | Stands for the transaction amount when the user has done the first transaction Linked Table on EI : N/A | No |
has_spike_bill Type - Interger | if the customer has made a bill which is 10 times its average bill value at some point in time New this is more for fraud detection Linked Table on EI : N/A | No |
last_updated_by_till_id Type - Interger | Till_id where the customer details has been updated recently Linked Table on EI : N/A | No |
last_visit_bill_amount Type - Interger | Stands for the recent transaction amount made by the user Linked Table on EI : N/A | No |
latency Type - Interger | Stands for average number of days between two successive visits on a customers Linked Table on EI : N/A | No |
line_item_count Type - Interger | Sands for total amount of different products bought by the customers till date Linked Table on EI : N/A | No |
loyalty_id Type - Interger | primary key of user_managment.loyalty(source table) (Not use for bussiness purpose) Linked Table on EI : N/A | No |
loyalty_points Type - Interger | The total amount of redeemable points available with the customer as on today Linked Table on EI : N/A | No |
max_bill_amount Type - Interger | Maxmimun amount on a single bill has been done by user till date Linked Table on EI : N/A | No |
max_bill_count_in_day Type - Interger | Maximum number of transaction has been done in a day by the user till date Linked Table on EI : N/A | No |
max_bill_count_in_week Type - Interger | Maximum number of transaction has been done in a week by the user till date Linked Table on EI : N/A | No |
max_bill_hour_count_in_day Type - Interger | Maximum number of transaction has been done in an hour by the user till date Linked Table on EI : N/A | No |
max_zones_with_billing_on_same_day Type - Interger | Maximum number zone in same day where the bill has been done by user till date Linked Table on EI : N/A | No |
number_of_visit_days Type - Interger | The total count of different dates where customer visited the store so far Linked Table on EI : N/A | No |
number_of_visits Type - Interger | The total count of transactions made by customer till date. This counts date with time stamp Linked Table on EI : N/A | No |
points_awarded_days Type - Interger | count of the days when the points has been awared to the customer till date Linked Table on EI : N/A | No |
redeemed_points Type - Interger | Total number of points has been redeemed by the customer till date Linked Table on EI : N/A | No |
redeemed_rate Type - Interger | Ration of Transaction where customer done the redemption and total number of transaction till date Linked Table on EI : N/A | No |
redeemed_visit_days Type - Interger | Number of days visit where the redemption has been done by the user till date Linked Table on EI : N/A | No |
redeemed_visits Type - Interger | Number of visit where the redemption done in user till date Linked Table on EI : N/A | No |
redeemed_voucher_count Type - Interger | Number of voucher has been redeemed by user till date Linked Table on EI : N/A | No |
redemption_latency Type - Interger | Stands for average number of days between two successive redemption on a customers Linked Table on EI : N/A | No |
returned_bill_amount Type - Interger | Total amount has been return by the customer till date Linked Table on EI : N/A | No |
returned_bill_count Type - Interger | Total number of bills has been returned by customer till date Linked Table on EI : N/A | No |
sku_purchased Type - Interger | Total number of SKU has been purchase by the user till date Linked Table on EI : N/A | No |
skus_returned Type - Interger | Total number of SKU has been return by the customer till date Linked Table on EI : N/A | No |
total_bill_amount Type - Interger | Total amount that has been spend by user till date Linked Table on EI : N/A | No |
total_bill_count Type - Interger | This refers to Total number of transaction made by the customer till date Linked Table on EI : N/A | No |
total_line_item_amount Type - Integer | This refers to Total line item amount has been purchase by user till date Linked Table on EI : N/A | No |
total_points_redeemed Type - Integer | This refers to Total points has been redemed by user in till date Linked Table on EI : N/A | No |
total_returned_line_item_amount Type - Integer | This refers to Total line item amount has been return by user till date Linked Table on EI : N/A | N |
Badges
Introduction to Badges Facts and Dimension Tables
Badges are a form of recognition or achievement typically used in various systems or platforms to acknowledge users' accomplishments or participation in certain activities. They serve as visual indicators of accomplishment and can be earned through completing tasks, reaching milestones, or meeting specific criteria set by the system administrators. Badges can enhance user engagement, motivate users to participate more actively, and foster a sense of accomplishment and community within the platform.
According to the Star Schema Layout, for badges, there are three fact tables:
badges_earn, badges_issue, and badges_earned_benefits.
Each of these tables contains information about the earning, issuance, and associated benefits of badges, respectively. Additionally, there are several dimension tables providing context and additional details for the badges data.
Here's a brief description of the fact tables:
- badges_earn: This table records the earning of badges by customers. It includes information such as the badge ID, customer ID, earning date, expiry date, and whether the badge is active or revoked.
- badges_issue: This table logs the issuance of badges to customers. It contains details such as the badge ID, customer ID, issuance date, expiry date, and whether the badge is active or revoked.
- badges_earned_benefits: This table associates benefits with badges earned by customers. It includes information about the benefit type, coupon code, description, points earned, and validity of the benefit.
Linking these fact tables with dimension tables allows analysts to perform more comprehensive analyses and derive insights. Below are the ways in which these linkages can prove beneficial with respect to the following use case:
Awarding Activity-Based Badge for Purchases. For example a customer earns an activity based badge by making a purchase. The objective is to incentivize customer engagement and increase sales by rewarding users with activity-based badges upon making purchases, utilizing the Badges Facts and Dimension Tables.
- Understanding Badge Attributes: Dimension tables like badgemeta and coupon_series provide additional attributes related to badges and benefits. By linking these tables with the fact tables, analysts can enrich their understanding of the badges being earned or issued and the associated benefits.
Example - The badge is configured in the system to be awarded to customers who meet the specified criteria (eg. a purchase of more or equal to Rs.1000). A customer makes a purchase.
The purchase transaction details, including the customer ID, purchase date, and purchase amount, are recorded in the badges_earn fact table. This facts table is linked to badgemeta and users dimension table giving access to the information contained in these tables. - Customer Analysis: Linking the dim_customer_id in fact tables with the users dimension table allows analysts to analyse the badge earning and issuance patterns for specific customers. This helps in understanding customer behaviour, preferences, and engagement levels.
Example - The customer meets the criteria (e.g., customer has purchased for Rs. 1100), and earns the badge. The badges_earn table is linked to the `dim_customer_id’ and ‘users’ dimension table, where the analysts can get more information related to the customer and his behaviour pattern. - Temporal Analysis: The date dimension table facilitates temporal analysis by providing various date-related attributes.
Example - When a customer earns a badge, the badge is issued and the customer gets the associated benefit. All these actions are recorded in the facts tables which are connected to the date dimension table. Analysts can link these attributes with the corresponding date IDs in the fact tables to analyse badge earning and issuance trends over time, such as monthly or quarterly trends. - Benefit Utilization: Analysts can examine the utilization of benefits associated with earned badges by linking dim_coupon_series_id with the coupon_series dimension table.
Example - The customer has received some coupons as the benefit from the earned badge. The benefits facts table is linked to the dim_coupon_series_id with the coupon_series dimension table. This helps in creating a relationship between the benefits accrued by customers, and the specific characteristics or attributes of the coupon series itself. This linkage facilitates tracking and analysis of how benefits are associated with different coupon series, providing insights into the effectiveness and performance of various promotional campaigns or incentive programs.
Overall, by establishing these linkages between fact and dimension tables, analysts can perform various analyses such as customer segmentation, trend analysis, program effectiveness assessment, and optimization of reward strategies, leading to informed decision-making and improved user engagement within the platform.
Badges - Earn (badges_earn)
Column name | Data type | Description | Linked Table |
---|---|---|---|
auto_update_time_badges_earn | bigint | Date and time when the badges_earn table was last updated. It is in the Unix timestamp format. The update takes place only when the badge deactivation occurs. | |
dim_badgeMeta_id | string | Unique identifier assigned to a badge when it is generated. It is a common key that connects to the badgeMeta dimension table for providing badge details. | badgemeta |
dim_badges_owner_type_id | string | Provides information about the module (name) that granted the customer a particular badge. For instance, if the badge was awarded by the Journeys module, you can retrieve Journeys module details by linking to the badges_owner_type field using this column. The types of modules are - Loyalty/ Referral_Campaigns/ Journeys/ Auidence_Campaigns/ Rewards_Catalog/ Goodwill_Module/ Milestones. | badges_owner_type |
dim_createdOn_id | bigint | Date on which the badge was earned by the customer. | date |
dim_customer_id | bigint | Unique identifier for the customer associated with the badge. | users |
dim_event_date_id | bigint | Date on which the badge was earned. | date |
dim_expiresOn_id | bigint | Date on which the badge expires. | date |
dim_latest_updated_date_id | bigint | Date when the table was last updated. | date |
dim_latest_updated_time_id | bigint | Time when the table was last updated. | date |
earnId | string | Unique identifier assigned to each row of the earn badges facts table. It is the primary key of this table. It is useful in accessing information related to the customer, badge earn date, badge expiration details, etc. | |
isActive | string | Indicates if the badge is currently active or not. | |
lastUpdatedBy | bigint | Identifier of the user who last updated the badge. It could be a brand representative, a Customer Success Manager (CSM), or someone similar. | |
ownerReferenceId | string | Orchestered ID assigned to the module responsible for awarding the badge, e.g, milestone id, journey id, campaign id, loyalty id, etc. | |
year | int | Year of the event. |
Badges - Issue (badges_issue)
Column Name | Data Type | Description | Linked Table |
---|---|---|---|
auto_update_time_badges_issue | bigint | Date and time when the badges_issue table was last updated. It is in the Unix timestamp format. The update takes place only when the badge deactivation occurs. | - |
badges_issued_id | string | It is an unique identifier for the 'badges issued' facts table. As a primary key, it uniquely identifies each record or entry within the table. It allows tracking and analysis of individual badge issuance events. | - |
createdBy | bigint | Identifier of the user who issued the badge, such a brand representative. | - |
dim_badgeMeta_id | string | Unique identifier assigned to a badge when it is generated. It is a common key that connects to the badgeMeta dimension table for providing badge details. | badgemeta |
dim_badges_owner_type_id | string | Provides information about the module (name) that granted the customer a particular badge. For instance, if the badge was awarded by the Journeys module, you can retrieve Journeys module details by linking to the badges_owner_type field using this column. The types of modules are - Loyalty/ Referral_Campaigns/ Journeys/ Auidence_Campaigns/ Rewards_Catalog/ Goodwill_Module/ Milestones. | badges_owner_type |
dim_createdOn_id | bigint | Date when the badge was issued to the customer. | date |
dim_customer_id | bigint | Unique identifier for the customer associated with the badge. | users |
dim_event_date_id | bigint | Date on which the badge was issued. | date |
dim_expiresOn_id | bigint | Date on which the badge expires. | date |
dim_latest_updated_date_id | bigint | Date when the table was last updated. | date |
dim_latest_updated_time_id | bigint | Time when the table was last updated. | date |
isActive | string | Indicates whether the badge is currently active or not. | - |
lastUpdatedBy | bigint | Identifier of the user who last updated the badge. It could be a brand representative, a Customer Success Manager (CSM), or someone similar. | - |
ownerReferenceId | string | Orchestered ID assigned to the module responsible for awarding the badge, e.g. milestone id, journey id, campaign id, loyalty id, etc. | - |
requestId | string | It is a request ID generated during the issue of a badge. This ID serves as a reference point for tracking and managing the issuance of badges. | - |
year | int | Year of the event. | - |
Badges - Earned benefit (badges_earned_benefits)
Column Name | Data Type | Description | Linked Table |
---|---|---|---|
allocationStrategyId | bigint | Denotes the strategy selected to allocate points for badges. In case of tier-based allocation, points are allocated according to predefined tiers or categories. | |
auto_update_time_badges_benefits_earn | bigint | Date and time when the badges_benefits_earn table was last updated. It is in the Unix timestamp format. The update takes place only when the badge deactivation occurs. | |
benefitType | string | Type of benefit linked to the badge. The benefit types are: coupons and points. | |
couponCode | string | The coupon code associated with the benefit. It is generated by the coupons system. | |
description | string | Description of the coupon. | |
dim_badgeMeta_id | string | Unique identifier assigned to a badge when it is generated. It is a common key that connects to the badgeMeta dimension table for providing badge details. | badgemeta |
dim_coupon_series_id | string | Unique identifier for coupon series id. Whenever a coupon is generated, it is allocated a unique coupon series ID. It links to the coupon series dimension table, establishing a relationship between the benefits earned and the details of the coupon series. | coupon_series |
dim_customer_id | bigint | Unique identifier for the customer associated with the badge. | users |
dim_event_date_id | bigint | Date on which the benefit (coupon or point) was earned. | date |
dim_latest_updated_date_id | bigint | Date when the table was last updated. | date |
dim_latest_updated_time_id | bigint | Time when the table was last updated. | date |
dim_validTill_id | bigint | Denotes the coupon validity date. | date |
discountCode | string | Discount code associated with the coupon series. | - |
discountType | string | Type of discount. Can be ABS - absolute discount type where the discount value is fixed, or percent discount or a fixed discount. | - |
earnId | string | Unique identifier for the badges_earn table. | - |
expirationStrategyId | bigint | Denotes the strategy used for deciding how points expire for the customer, such as fixed expiry date, or no expiry, etc. | - |
notes | string | Provides additional information or remarks related to badges. | - |
pointsEarned | bigint | Points earned by the customer. | - |
programId | bigint | The Loyalty program ID is the identifier assigned to the loyalty program linked to the allocated points. | - |
promoIdentifier | string | Unique identifier assigned to a promotion. | - |
promotionId | string | Unique id assigned to a particular promotion. | - |
promotionName | string | Refers to the name of the promotion to which points were allocated, redeemed, or expired. | - |
statusCode | int | Status code for the action (used for internal purpose). | - |
uniqueId | string | Unique identifier for the table. As a primary key, it uniquely identifies each record or entry within the table. It allows tracking and analysis of individual badge benefits events. | - |
year | int | Year of the event. | - |
Streaks
Column name | Data type |
---|---|
auto_update_time | bigint |
current_count | bigint |
dim_event_date_id | bigint |
dim_event_time_id | bigint |
dim_event_user_id | bigint |
dim_latest_updated_date_id | bigint |
dim_latest_updated_time_id | bigint |
dim_streak_id | bigint |
dim_streak_status_id | string |
id | bigint |
year | int |
Rewards
Column name | Data type | Description |
---|---|---|
BRAND_ID | bigint | Unique identifier of the brand. |
ID | bigint | |
INTOUCH_POINTS_DEDUCTED | String | |
INTOUCH_USER_ID | bigint | The intouch user ID of the customer. |
INTOUCH_VOUCHER | String | |
INTOUCH_VOUCHER_EXPIRY | String | |
ISSUED_REF_ID | String | |
MOBILE | String | |
ORG_ID | bigint | The identifier associated with the org. |
POINTS_REF_ID | bigint | |
REWARD_PROMOTION_LINK_ID | bigint | |
VENDOR_REWARD | String | |
dim_catalog_promotion_id | bigint | |
dim_event_date_id | bigint | |
dim_latest_updated_date_id | bigint | The date on which the last update was made to the reward. |
dim_latest_updated_time_id | bigint | The time at which the last update was made to the reward. |
dim_reward_id | bigint | Unique identifier of the reward. |
dim_reward_issue_update_on_id | bigint | The time at which the reward was issued. |
year | int |
Updated 2 days ago