Since I started looking into omni-channel metrics last year, I’ve been learning how to best gather meaningful data at each step of the user journey. I recently came across a great piece by Gary Angel titled “A Data Model for the User Journey”. In his article, Gary aims to address the multi-source nature of our data touchpoints, and the issues brought about by the differences in the level and type of detail data. He rightly points out that these differences in data make any kind of meaningful analysis of the user journey virtually impossible. Gary provides a number of useful steps to tackle this problem:
- Create a level of abstraction – Gary first suggestion is to get to a level of abstraction where each data touchpoint can be represented equally. One way of doing this is to apply Gary’s “2-tiered segmentation” model. In a 2-tiered segmentation model, the first tier is the visitor type. This is the traditional visitor segmentation based on persona or relationship. The second tier is a visit or unit-of-work based segmentation that is behavioural and is designed to capture the visit intent. It changes with each new touch. Gary summarises this two-tiered approach as follows: “Describing who somebody is (tier 1) and what they are trying to accomplish (tier 2).”
- Capture visit intent – One of the key things that I learned from Gary’s article is the significance of ‘visit intent’ with respect to creating a user-journey model. Visit intent offers an aggregated view of what a visit was about and how successful it was. Both the goal and the success of a visit are important items when analysing a user journey.
- 2-tiered segmentation and omni-channel – Gary points out how well his 2-tiered segmentation model lends itself to an omni-channel setup. The idea of 2-tiered segments can be used across any touchpoint, whether it’s online or offline. The intent-based segmentation can be applied relatively easily to calls, branch or store visits and social media posts. The model can also be applied – albeit less easily – to display advertising and email (see Fig. 1 below).
- Good starting point for journey analysis – When you look at the sample data structure as outlined in Fig. 1 below, with one data row per user touchpoint visit or unit of work, you can start doing interesting pieces of further analysis. For example, with this abstract data structure you can analyse multi-channel paths or enhance user journey personalisation.
- Combine visitor level data with user journey data – It sounds quite complex, but I like Gary’s suggestion to model in the abstract the key customer journeys. This can then be used to create a visitor level data structure in which the individual touchpoints are rolled up. Gary’s example below helps clarify how you can best map different data touchpoints to related stages in the user journey (see Fig. 2 below) .
Main learning point: The main thing that I’m taking away from Gary Angel’s great piece is the two segments to focus on when measuring the user journey: the visitor and their goals. The data structure suggested by Gary lends itself really well to an omni-channel user experience as it combines visitor and user journey data really well.
Fig. 1 – Sample data structure when applying the the 2-tiered segmentation to a user journey data model – Taken from: http://semphonic.blogs.com/semangel/2015/03/a-data-model-for-the-user-journey.html
- TouchDateTime Start
- TouchType (Channel)
- TouchVisitorSegmentCodes (Tier 1)
- TouchVisitSegmentCode (Tier 2)
- TouchPerson (Agent, Rep, Sales Associate, etc.)
- TouchSource (Campaign)
Fig. 2 – Example of modelling the acquisition journey for a big screen TV – Taken from: http://semphonic.blogs.com/semangel/2015/03/a-data-model-for-the-user-journey.html
- Initial research to Category Definition (LED vs. LCD vs. Plasma – Basic Size Parameters)
- Feature Narrowing (3D, Curved, etc.)
- Brand Definition (Choosing Brands to Consider)
- Comparison Shopping (Reviews and Product Detail Comparison)
- Price Tracking (Searching for Deals)
With an abstract model like this in hand, you can map your touchpoint types to these stages in user journey and capture a user-journey at the visitor level in a data structure that looks something like this:
- Journey Sub-structure
- Journey Type (Acquisition)
- Current Stage (Feature Narrowing)
- Started Journey On (Initial Date)
- Time in Current Stage (Elapsed)
- Last Touch Channel in this Stage (Channel Type – e.g. Web)
- Last Touch Success
- Last Touch Value
- Stage History Sub-Structure
- Stage (e.g. Initial Research) Start
- Stage Elapsed
- Stage Success
- Stage Started In Channel
- Stage Completed in Channel
- Channel Usage Sub-Structure
- Web Channel Used for this Journey Recency
- Web Channel Used for this Journey Frequency
- Call Channel Used for this Journey Recency
- Call Channel Used for this journey Frequency
- Stage Value
This stage mapping structure is a really intuitive representation of a visitor’s journey. It’s powerful for personalisation, targeting and for statistical analysis of journey optimisation. With a structure like this, think how easy it would be to answer these sorts of questions:
- Which channel does this visitor like to do [Initial Product Research] in?
- How often do visitors do comparison shopping before brand narrowing?
- When people have done brand narrowing, can they be re-interested in a brand later?
- How long does [visitor type x] typically spend price shopping?
Related links for further learning: