Skip to content

BI Analytics — Gauges explained

Available on the Elite plan, currently in beta with selective customer access. If you do not see BI Analytics in the navigation, contact support to enable it for your account.

Question: Did the team work the hours they were contracted to work?

Formula: tracked hours / agreed hours

Visible when: always, except when exactly one client is selected (see below)

Target marker: set in BI Setup > Target production % (default 80%)

Question: Is the practice profitable right now?

Shows: production value, total cost, margin %, change vs comparison period

Visible when: the billing feature is enabled

Target marker: set in BI Setup > Target margin % (default 20%)

Both gauges use a 5-stop gradient (red → amber → yellow → light green → green) so the needle sits in the green zone when things are fine.

The critical distinction — gauge vs column

Section titled “The critical distinction — gauge vs column”
WhereInternal nameFormulaQuestion
**Gauge** (chart-level) `utilization_gauge` tracked / agreed "Did the team work the hours they were contracted to work?"
**Column** (row-level) `utilization_pct` billable / tracked "Of the hours the person tracked, how much could be sold?"

The gauge says “Hours vs target” in the UI. The column says “Utilization %” — matching the industry-standard PSA definition. Two people can produce very different stories:

  • Alex: tracked 160h out of 160 agreed; 80h billable. Gauge 100% (worked full hours), column 50% (half was billable).
  • Blake: tracked 80h out of 160 agreed; 80h billable. Gauge 50% (worked half), column 100% (everything was billable).

Both metrics are useful — but if you think they are the same metric you will draw the wrong conclusion every time.

QuestionUse
Is the *company* running at capacity?Gauge
Which *members* are under- or over-utilised?Column
Is this member's *time being sold*?Column
Are we close to *target utilisation* this period?Gauge (has target marker + prior-period arc)

When exactly one client is selected, “tracked / agreed” collapses to a member’s client share of capacity — a ratio that tells you nothing you can act on. The gauge hides when a single client is selected to avoid misleading the user.

Exception: the Profile Performance tab (embedded Member Production) keeps the gauge — there, tracked / agreed for one person is a clean “did this person log their contracted hours” signal.

Each gauge has:

  1. Big arc — current period value
  2. Thin inner arc — comparison period value (YoY or adjacent, see Period comparison)
  3. Target marker — small tick showing your target % from BI Setup
  4. Headline % — bottom-center
  5. Readout panel on the right — labeled pairs (Hours avg / Hours target, or Company avg / Company target)

When you filter to a subset of people, the readout labels say “Company avg” — that value is the unfiltered company-wide average, not the filter’s average. This lets you see your filter’s position vs the company baseline at a glance.

The thin secondary arc shows the comparison period. The mode (YoY vs adjacent) depends on the range you selected and your toolbar override. See Period comparison for the full rules.

Note: When a report loads from the cached snapshot (no filters), the gauge comparison arc always shows YoY regardless of your compare-mode setting. The KPI arrows above are correct in both modes. Apply any filter to force a fresh compute that honors adjacent mode.

The comparison arc and KPI arrows require BI Setup > Optional panels > Period comparison to be on (default: off). When off, the gauge shows only the current arc.

The gauge says 100% but the Utilization column says 60%

Section titled “The gauge says 100% but the Utilization column says 60%”

Different metrics. The gauge is tracked/agreed (worked full hours), the column is billable/tracked (what share of hours sold). Both can be right simultaneously.

The gauge disappears on a per-client bookmark

Section titled “The gauge disappears on a per-client bookmark”

A single-client filter collapses the gauge’s meaning. It is hidden deliberately. On Profile Performance it stays visible because one-person-one-gauge is meaningful.

The gauge shows a number but the table column shows “no data” for the same entity

Section titled “The gauge shows a number but the table column shows “no data” for the same entity”

The gauge is company-level; the column shows per-row. If that row has no agreement or no tracked hours, its column can be blank while the company aggregate still renders.

Yes — BI Setup > Company defaults > Target production % (for Hours-vs-target) and Target margin % (for Revenue-vs-cost).