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)
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)
Setup wizard
The setup wizard walks through four steps:- Who gets scored — companies, users, or both
- Who qualifies — Stripe statuses (with live company counts) or ignore payment data. Only Active is selected by default. Trialing, past due, and other statuses are opt-in.
- Signal presets — Balanced, Usage-first, Support-heavy, Revenue-first, or No billing data
- Review and activate — plain-English summary before turning scores on
Stripe eligibility
When Stripe gating is enabled, only companies (or users) whose subscription status is in your selected list receive a health score. Everyone else shows as Not scored. The default eligible status is Active only (paying subscriptions). If you also want to score trials or past-due accounts, enable those statuses on the Eligibility tab. Changing eligibility triggers a full org recalculate so ineligible accounts are cleared.Default weights
Out of the box, weights are:- Activity 40%
- Support 25%
- Sentiment 20%
- Payment 15%
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
Configuration tabs
The Health Scores settings page has four tabs:- Overview — summary, eligible company count, last recalc time, Recalculate all
- Signals — weight sliders, activity window, sentiment lookback, formula details
- Eligibility — entity mode, Stripe gating, recalc mode
- Tiers — customize Healthy / Neutral / At Risk thresholds
Recalculation
Two modes:- Realtime — recalculates after important changes (activity, tickets, payments, feedback) plus a nightly refresh
- Daily — only the nightly job runs
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
- Segment filters —
health_scoreandhealthtier filters - Renewals settings — auto-status rules using health score
- Slack — optional
health_score_dropalerts
Where to go next
Renewals
Health scores power the auto-status rules for renewals.
Slack Integration
Get notified in Slack when health scores drop.