Layer cake


The layer cake shows your MRR stacked by the year your customers started paying. Each layer is one year's customers, and its thickness is what they pay at each point in time. Every new year adds a layer on top of the ones before it, which is where the name comes from.

It's the chart investors ask for when they want to see whether growth compounds. A business that keeps its customers builds thick, steady layers, and each new year sits on top of the old ones. A business that loses them has to replace last year's layer before it can grow at all.

You'll find it under Reports → Cohorts, as the Layer cake tab next to Net revenue retention and Logo retention.

The Layer cake tab: MRR stacked by the year customers started paying, with the table below


Reading the chart

  • The total height is your MRR, the same number as the MRR report with the same filters. The layers always add up to it.
  • Each layer is the customers who started paying in that calendar year, followed for as long as they stay. The newest year is on top.
  • A layer that keeps its thickness is a year of customers you're keeping: expansion makes up for churn and downgrades. A layer that grows is expanding faster than it shrinks.
  • A layer that thins is losing more to churn and contraction than it gains from upgrades.
  • The newest layer grows through the year, because customers keep joining it until the year ends. It ramps up from zero in its first year for the same reason.

The pattern to look for: older layers that flatten out after their first year or two, with each new year adding a layer of its own. If every layer shrinks steadily, new business is mostly replacing lost revenue.


MRR or customers

The menu above the chart switches between MRR and Customers. Customers stacks the number of paying customers from each start year instead of their revenue. Comparing the two tells you whether a year's revenue holds up because its customers stay, or because fewer customers are paying more.


Interval

The layer cake always covers your whole history. The Interval menu only changes how many points the chart has: day, week, month, quarter or year. The layers are always calendar years, in your account's time zone, whatever interval you pick.


The table

Below the chart is a table with one row per start year, newest first, and one column per period. It shows the same values as the chart: MRR, or customers when the chart shows customers. Hovering the chart highlights the matching column.


Legend, colors and image

Each year has its own color, running from the oldest year at the bottom to the newest at the top. Click a year in the legend to hide it or show it again. To share the chart, open the ⋯ menu and choose Download image… (more on chart images).


Filters

The layer cake supports the standard filters and the currency selector (see all filters). Filter by plan, for example, to see the layers for that plan alone. With a filter applied, the layers still add up to the MRR report with the same filter.

Customers with no recorded start date appear in their own layer, Unknown.


How it relates to other reports

  • The Cohorts report follows the same idea in percentages: how much of each cohort's starting MRR, or how many of its customers, are still there after each month. The layer cake shows the same customers in absolute amounts, stacked, so you can see how much of today's MRR each year's customers make up.
  • The MRR movements report shows the movements behind the changes in the layers: new business forms the newest layer, while churn, contraction and expansion change the older ones.

Frequently asked questions

Why are the layers calendar years and not months?

Monthly layers over several years make dozens of thin bands that are hard to tell apart. Years are how most companies and investors look at it. To follow a single month's customers, use the Cohorts report.

Do trials count?

No. A customer joins a layer when they start paying, in the year of their first payment.

Can I get these numbers through the API?

Yes. The MRR report endpoint accepts breakdown=start_year, which returns one series per start year. See the API reference.