Skip to main content

What a health score is

A health score is a 0–100 number Halo computes for each company (or user) based on a weighted blend of four signals:
  • Activity — how recently and how often users are active in your product (from SDK identify calls)
  • Support — open and priority ticket load relative to team size
  • Sentiment — conversation sentiment and feedback ratings from recent transcripts
  • Payment — Stripe subscription status and delinquency (when connected)
Scores appear on company profiles and the Companies list. When entity mode is set to users or both, scores also appear on the Contacts list and on each contact’s profile. Configure scoring at Settings > Health Scores. New workspaces can use the guided setup wizard at Settings > Health Scores > Set up.

Automatic enablement

Health scores turn on automatically once your workspace has real customer data (at least one company and recent user activity). Halo picks recommended defaults based on what it detects:
  • Stripe connected with active subscriptions - scoring is limited to companies with an active Stripe subscription
  • No billing data - everyone is scored and the payment signal is skipped
Your team gets a one-time email when this happens, with a link to adjust or turn scoring off. Turning health scores off is respected permanently; Halo never re-enables them on its own. Use the switch at the top of Settings > Health Scores to turn scoring on or off at any time.

Tiers

Default tier boundaries:
  • Healthy — 80–100 (green)
  • Neutral — 60–79 (blue)
  • At Risk — 40–59 (yellow)
  • Critical — below 40 (red)
  • Not scored — no score calculated yet (shown when a company is unscored or ineligible)
You can customize tier thresholds in the Tiers section of Health Score settings.

Setup wizard

The setup wizard walks through four steps:
  1. Who gets scored — companies, users, or both
  2. Who qualifies — Active subscribers (recommended), custom Stripe statuses, or everyone
  3. Signal presets — Balanced, Usage-first, Support-heavy, Revenue-first, or No billing data
  4. Review and activate — plain-English summary before turning scores on
After activation, Halo backfills scores for eligible companies automatically.

Who qualifies

Three scope options control which customers get a score:
  • Active subscribers (recommended) - only companies (or users) with an active Stripe subscription. Keeps tiers focused on paying customers.
  • Custom statuses - pick exactly which Stripe subscription statuses qualify (for example, include trials or past-due accounts).
  • Everyone - no payment filter. Every account gets a score, including churned and free accounts.
Accounts outside the scope show as Not scored. Changing the scope triggers a full org recalculate so ineligible accounts are cleared. Choosing Everyone (or including canceled customers in a custom selection) dilutes tiers with accounts that were never paying customers, so Halo sends your team a one-time email to confirm the choice.

Default weights

Out of the box, weights are:
  • Activity 40%
  • Support 25%
  • Sentiment 20%
  • Payment 15%
If a customer is missing data for a signal, that signal is skipped and its weight is redistributed across the signals that do have data.

Signal details

  • Activity — 60% active-user ratio in the activity window, 40% recency of last activity
  • Support — fewer open and priority tickets is healthier; each priority ticket costs 15 points (capped at 50)
  • Sentiment — average transcript sentiment blended 50/50 with positive feedback ratings when both exist
  • Payment — Active = 100, Trialing = 80, Past Due = 30, and so on; delinquent subtracts 20

Settings page

Everything lives on one settings page:
  • On/off switch — pause or resume scoring at any time
  • Status — how many accounts are scored, last full refresh, Recalculate all
  • Who gets scored — companies, users, or both
  • Which customers qualify — the scope options above, with live counts
  • What drives the score — presets plus advanced weight and window tuning
  • Tiers — customize Healthy / Neutral / At Risk thresholds
  • When scores update — realtime or nightly only
Best-practice guidance is shown inline on the page so recommended usage is visible while configuring.

Recalculation

Two modes:
  • Realtime — recalculates after important changes (activity, tickets, payments, feedback) plus a nightly refresh
  • Daily — only the nightly job runs
Saving settings triggers a backfill for the whole org. Admins can also click Recalculate all scores (rate limited to once per hour).

Company profile breakdown

On each company profile, expand Score breakdown to see how each signal contributed to the composite score and when the score was last calculated.

Where scores show up

  • Companies list — health bar, tier sidebar filters, avatar dot
  • Company profile — score ring, tier badge, breakdown panel
  • Contacts list — health column when entity mode is users or both
  • Contact profile — score bar, tier badge, and breakdown when entity mode is users or both
  • Segment filtershealth_score and health tier filters
  • Renewals settings — auto-status rules using health score
  • Slack — optional health_score_drop alerts

Where to go next

Renewals

Health scores power the auto-status rules for renewals.

Slack Integration

Get notified in Slack when health scores drop.