SaaSFlow
Concepts

Dashboards & widgets

How dashboards combine widgets, what the control bar does, and how smoothing, maximize, and the transparency footer work.

Every report and the home page are built from widgets — individual charts, tables, and KPI cards. The bar at the top of each page is the control bar: it sets the dimensions that every widget on the page reads from.

The control bar

The control bar is pinned to the top of the page and stays in place as you scroll. It holds the controls that apply to every widget on the dashboard:

ControlWhat it does
Date periodThe time range. Widgets that intentionally show their own range (e.g. 12-month rolling retention) ignore this.
MRR typeToggles between CMRR (the default) and MRR. See MRR & subscriptions for the difference.
Base currencyThe currency every amount is converted to. Defaults to your company's base currency.
SmoothingA trailing average applied to noisy ratio metrics — see below.

Not every control appears on every page. A dashboard only shows the controls that at least one of its widgets actually uses.

Smoothing

Month-to-month numbers like churn rate, LTV, and CAC payback are inherently noisy — one large customer event in a small month can swing them sharply. The Smoothing control replaces each month with a trailing average so the underlying trend stays visible.

Choose None, 3-month, 6-month, or 12-month. The averaging window is computed server-side, and the fetch window is extended by the smoothing length so the leading edge of the chart is averaged against real history, not partial data.

These widgets respond to smoothing:

  • Lifetime value (LTV)
  • Churn rate
  • MRR per customer
  • CAC payback period
  • Net & gross revenue retention (monthly)
  • MRR growth rate
  • Rule of 40

Raw MRR, change events, and the 12-month rolling retention widget already represent a stock or a built-in rolling window — extra smoothing on top would be redundant, so they ignore the control.

When smoothing is on, drill-downs become window-based: clicking a month opens the events that fell anywhere inside that month's averaging window, not just the single month, so the numbers in the drill-down match what the chart shows.

Maximize

Every chart and table widget has a maximize icon in its header. Opening it shows the widget on a dedicated full-page view with its own copy of the controls it cares about — useful for presenting a single metric or focusing on detail.

The URL captures the control state, so sharing the link sends the exact view you're looking at. KPI-row cards and similar single-number widgets aren't maximizable.

Below each chart, a row of pills shows the current value of every control that shaped the data above — the date period, MRR type, smoothing window, and so on. Hover any pill for a tooltip that expands the acronym and explains what the value means.

The footer makes it obvious which controls actually affect the widget. A KPI card that ignores the global date range, for example, says so directly instead of looking like it just isn't reacting.

On this page