Kitewheel Data Model Overview


Kitewheel has two data models. The Common Data Model used for operational activities and the Analytical Data Model used to support off-line journey analysis. 


The Kitewheel Common Data Model ("kwCDM") defines a way of storing and correlating engagement data from arbitrary channels and integrating the associated data and profiles using a consistent ID ("Kitewheel ID" or "kwID"). Typically the KwCDM refers to the operational database model used by executing graphs and is designed for efficiency of operations. There is a separate analytical model that represents the data in a way that is easier to consume for off-line analytics. The data model has been used many times on projects and is extensible for different scenarios. The places where modifications can be made are shown. The Common Data Model is commonly used with a Common Project Model that defines a schema structure used in the Kitewheel Hub. 
We have now moved to a standard naming convention for fields and tables in the data model of snake_case as camelCase means it is difficult to work with the data model on various databases. Postgres in particular requires the quoting of all camel cased identifiers. Snake case will work across all databases unmodified. There will be slight differences but roughly this allows more consistency.

Entities

The following entities are modelled by the Kitewheel data model: 

  • Customer - the normal definition of a customer - a human individual 
  • Channel - physically separate interaction mechanisms call center, web site, email, twitter etc
  • Profile - an identity associated with a channel and channel specific attributes - Facebook id, email address 
  • Interaction - an event that links a profile, a channel and an journey. Each interaction has a type that has a weight  
  • Journey - a customer journey - every interaction is part of a journey. Each journey has many steps. A step records moving from one node (step) in a journey to another 
  • Journey Step - some interactions are a significant step in a journey 
  • Interaction - many interactions - each interaction, or series of interactions may make a journey step 
  • Engagement - this is calculated as a rolling windowed average for customers that gives a value for cross-channel engagement 

The kwid (pronounced "quid") 

The Kitewheel Id (kwId) is a unique identifier that is allocated to a customer and represented as a version 4 GUID. 

The **Kitewheel Common Project Model** ("kwCPM") defines a standardized domain model used within Kitewheel Projects that is compatible with the kwCDM, and additionally accounts for operational metadata useful for logging and debugging of Projects.

Kitewheel Common Data Model and Kitewheel Common Project Model 


Both the kwCDM and the kwCPM are optional. They are opinionated distillations of best practices identified by Kitewheel over years of building and operating real-time customer journeys for our partners and clients, and are intended as a way to reduce the effort and complexity involved in customer journey management. However, Kitewheel is and will remain agnostic to data sources, and will continue to be compatible with existing customer databases.



Common Data Model Data Dictionary 

Analytical Data Model Data Dictionary