While it's useful to see how your portfolio has evolved over time, for example, via a Time Series Bar, there are many cases where this type of view tells only part of the story. Naturally, you might be seeking answers to questions like:

  • "Have I got more or less high-ARR vs. low-ARR customers in my portfolio this quarter, versus last quarter?"

  • "What is the total ARR contribution of my low-ARR customers and how has it evolved over time?"

  • "Am I serving a greater proportion of large customers or small customers? How has my distribution of customers by size changed in the past year?"

  • "Is my portfolio healthier this quarter than it was last quarter? In other words, do I have fewer companies in the "low" health range and more in the "high" health range?"

  • ...

That's where the Stacked Time Series Bar chart (or Stacked TS, for short) comes in: it's an intuitive way to slice up your portfolio into buckets across a single metric, over time.

Here's some intuitive use cases:

  • "Number of companies in each health score range (red, amber, green)" for a Management Report

  • "Development of ARR segments over time", for a discussion with Revenue Operations on how your renewal base segments are evolving

  • "Customers by # of Accounts", to better understand the share of differently sized companies in your portfolio over time

Let's take a look at how it works. Feel free to watch the video below for a common example using health scores, or read on for a step-by-step guide.


Stacked TS Bar: Slicing your portfolio over time, into...

  • ARR contribution buckets

  • Health Score buckets

  • # Accounts for each customer/company

  • Average user buckets

  • NPS buckets

  • CSM Score buckets

  • Ticket number buckets

  • ...


Chart Configuration

A basic Stacked Time Series Bar chart has a few key parameters you should input, step-by-step. Here's how:

  1. Select the "Stacked Time Series Bar" chart under "Trend Charts" in a Page or a Custom Company Tab

  2. Select the metric you want to compare buckets on over time

  3. Choose how you want to aggregate the metric temporally:

    1. daily values

    2. sum of daily values across a period (week, month, quarter, year)

    3. average (mean) of daily values across a period (week, month quarter, year)

  4. Choose how many periods (the timespan) you want to show for the metric (maximum 60)

  5. Choose what values you want to show for the metric:

    1. sum: sum of the values in each bucket in the period

    2. avg (all): sum of the values in each bucket divided by the total number of values in the period

    3. avg (values): sum of the values in each bucket divided by the number of values in the bucket in the period

    4. count: count of the values in each bucket in the period

  6. Configure the bucket ranges to apply:

    1. Under "Custom Colours", choose a palette

    2. Add a value range for the first ARR bucket, and choose a colour for the bucket

    3. Add as many additional buckets as you like, choosing specific ARR value ranges, and a corresponding colour

📣 Pro tip: if you're looking to benchmark your portfolio's distribution against an ideal, you can use Reference Values (see below)!

Reference Values

For example, I have 100 companies, and my acceptable distribution of health scores is 20 companies with "low" (red) health (0-3), 20 companies with "medium" (amber) health (4-6) and 60 companies with "good" (green) health (7-10). I'd simply set a red reference point at 20, an amber reference point at 40, and a green reference point at 100. If the red or amber portions of the bar rise above the red or amber reference points (respectively), I'm off target. Conversely, if the green or amber portions of the bar rise below the green or amber reference points (respectively), I'm outperforming my target.

📣 Pro tip: a common use case is putting together a chart like this, which shows me a count of the companies in my portfolio, split by health score, with each column showing the number of companies in my portfolio. To build this for yourself, simply choose value as count, then select week/month/quarter (daily average).

📌 Note: even though health scores are always whole numbers, there will be decimals here. That's because we want the column totals to show the count of companies in each bucket (and therefore in my whole portfolio) over the whole month, rather than at a single point in time. Naturally, if a company's score changes so it moves into a different bucket, then both these buckets would have 1 fewer/more company for a portion of the month, resulting in a decimal value.


A basic example: how has portfolio composition by ARR changed over time?

Using the configuration steps above, we can obtain a stacked time series based on the my portfolio's ARR as follows:

  1. Select the "Stacked Time Series Bar"

  2. Choose "ARR" as the metric

  3. I'm interested in a weekly view, so I select week (daily average) - this is because the ARR contribution from a given license is constant across days, and I don't want to count each license multiple times, so the daily average is the same as accounting for each license only once

  4. I only need to see the last ~3 months, so the timespan is 12

  5. I want to see the sum of ARR of the companies in each bucket, to understand how different contract sizes have contributed to my overall revenue, so I choose sum

  6. I apply the following buckets, since this is how I categorise the companies in my portfolio:

    1. $1 - $100,000 = red

    2. $100,000- $1,000,000 = amber

    3. $1,000,000- $10,000,000 = blue

📌 Note: when setting bucket ranges, be careful only to include 0 as a lower bound if you want 0 values to be counted and calculated with. In most cases, it makes most sense to start the lowest bucket with 1, or even 0.0000001, to avoid calculating with 0 values.

I'm thrilled to see my overall portfolio ARR has increased notably in the past 3 weeks, driven mostly by contracts in the $100,000 to $1,000,000 range. Both contracts with a value less than $100,000 and greater than $1,000,000 have maintained steady contributions.

By copying and pasting this chart, and changing the values input from sum to avg (values), it becomes clear that the increase has been driven (at least in part) by a ~$25,000 increase in the average contract value of contracts in this range.

Copy-pasting again, and switching the values input to count, it's clear that my portfolio's recent impressive ARR growth was also a result of ~12 new contracts per week, versus 3 weeks ago.

Pretty neat, right? And that's just the beginning of what this wicket widget can do...

Did this answer your question?