Skip to main content
All CollectionsTechnical cornerCalculated metricsUse Cases
Tracking Changes over time using StatesLogs
Tracking Changes over time using StatesLogs

Visualise the time your customers spend in different phases

Christian Dreyer avatar
Written by Christian Dreyer
Updated over a year ago

All CS teams are continuously looking to improve and to do so often requires tracking data changes over time. Time-series data is central to Planhat, but one type of time-series data is when you track the evolution of a customer or end-user through different states or phases. For example, the evolution of a customer from Onboarding to Adoption to Success, or the maturing of a User from a new user to an advocate. Since there are some unique quirks to this kind of data tracking, we developed a specific data model for it called StatesLogs.

With States Logs you can track the development of data through different 'States', for example how long a customer spends in Onboarding phase, then Adoption phase. You can then view this data rolled to any Filter, be it your Enterprise customers, or those belonging to a specific CSM.

Other examples of StatesLogs could be stages in a sales pipe if you are using Planhat as your new business CRM or to manage upsales or cross sales. Likewise, it could be a custom field you create such as how long a customer is classified as small, medium or large in your portfolio, or how long they spend with different product types if you have a land and expand model. Fields that can be used in StatesLogs are almost always list fields.

You can measure total days, average days, the shortest / longest time spent in a state and many other variables. You can also measure the time spent in one state before moving to any other. For example, how long customers spend in Onboarding before moving to different stages in your customer lifecycle. 

How to use StatesLogs

Stateslogs are part of Customer Intelligence dashboards, so to start go to CI and begin a new Page or add to an existing Page. Generally, States Logs are best visualised as Bar or KPI charts.

In the example below we're showing the average number of days per phase, but we could equally have chosen to view the total days, a count of items in each Phase or the max or min days spent in a Phase. It's very flexible so you should always be able to view the data how you need.

When building the Widget select the settings as above. The chart will by default order the bars showing the bar with the highest value first, so you can reorganise them by using the Custom Segments section. This also enables you to group multiple Phases into one, for example, grouping Sales Handover and Implementation if you treat them as 2 phases in your day-to-day work, but want them as one combined in your analysis.

It is also important to apply Filters when building a StatesLogs chart. The filters ensure you are analysing the correct data point and also help you remove errors. For example, if someone accidentally moves a customer out of Onboarding after 2 days, then realises and moves them back, you don't want that error to pull down your average time in Onboarding metrics.

In the Filter below, each row serves a specific function:

  1. To Date "has value" ensures I'm only including Phases that have been completed.

  2. Property "phase" ensures Planhat is looking specifically at the 'lifecycle phase' Logs

  3. Days "More than 1" ensures I only include changes that lasted more than 1 day to navigate around errors

  4. Value "Not equal to Churned Accounts" tells Planhat to ignore that phase from the analysis.

As another example, this time we are using a multi-bar chart to benchmark team members by their average time to Onboard a customer. It's clear from the chart that Freddie has had a nightmare Onboarding experience, hence the 100+ day blue bar!

To achieve this, we've altered the filter to say "Value equal to Onboarding", changed the Widget to a Vertical Multi Bar and split the data by Owner.

To see different angles of this data, rather than split by Owner we could have chosen to split by Industry, Product line or any other relevant field to slice the data differently.


Some more detailed definitions

As a recap.... a StatesLog is any field of type list. Lifecycle stages are the obvious example but we love flexibility and hate using systems that restrict you. So, in Planhat you can measure time spent in many different types of 'state', beyond just lifecycle stages. 

These charts are very powerful and can have many different requirements, so here are some of the core definitions that might be helpful for you.

Object: The Object to which the Phase you are interested in is related. A lifecycle stage is connected to the Company object for example, whereas a sales pipe stage phase is connected to the Opportunity object.

Property: All the different fields available to view in Phases. Put another way, all the fields of type list in your Account. Lifecycle stages will almost always be one, but so can things like products, tiers or other variable fields that change for your customers. 

Value: The specific part of the Property. For example, Onboarding is a Value of the Property 'phase', whereas Enterprise could be a Value of the Property 'product'.

Next Value: The part of the Property moved to next. For example, the chart below shows the average number of days spent in Onboarding, before moving to Adoption or Success stages. (Onboarding being the start point for the chart is managed in the Filters as you'll learn below.)

Exporting this data via API


As with almost all data in Planhat, we have made this available to export via API in case you want to blend Phase Change data with other data types in your data warehouse. 

To fetch States Log data use the following endpoint:

GET /stateslog
?limit=100
&offset=0
&value=Onboarding
&property=phase
&model=Company

Did this answer your question?