Skip to main content

Account scores

Per-contact scores answer “which individual needs attention.” A B2B motion needs the same answer at the organization level: “which account is slipping, which is ready to expand.” Account Scores computes that rollup for you. Orbit groups every scored contact that carries a company value into an account, aggregates their churn, intent, propensity, and value up to the account, and ranks the result. Nothing is stored — every number is derived on read from the contact-level scoring you already run, so there is no pipeline to ingest or table to keep in sync. This guide covers opening the page, reading the rollup columns, which contact-level scores feed in, and turning the ranking into a playbook. The entity behind the accounts — golden records, membership, and the parent/child hierarchy — is defined in B2B accounts: golden records and hierarchy; this page is the scoring layer on top.

1. What account-level scoring does

Account-level scoring aggregates individual churn, intent, propensity, and value up to the account. The rollups per account:
  • account_churn_risk — a value-weighted churn average across the account’s members. A high-value contact’s churn risk moves the account number more than a trial user’s, so the ranking tracks revenue at stake, not headcount. An account with no attributed value reports no churn number (shown as , sorted last) rather than masquerading as a top risk.
  • expansion_propensity — the mean expansion (upsell) propensity across the account’s members.
  • intent_score — the mean buying-intent score across the account’s members.
  • total_value_cents — the account’s aggregate member value, the sum of per-contact lifetime-value estimates.
  • firmographic_band — a size band (solo, small, mid, large, enterprise) estimated from the number of contacts Orbit holds for the account. Until a data-enrichment provider is connected, contact count is the only available size signal; the page’s enrichment card shows which firmographic signals (industry, employee count, revenue range) each provider would score on instead.
  • health_segment — the account-based-marketing triage label the rollup lands in: At risk, Expansion, Engaged, or Stable.
Accounts key on the contact’s company attribute, so the ranking appears automatically wherever your contact records carry a company name. This is intentionally different from the Audience → Accounts entity, which is keyed by the explicit groupId you send with group calls — both views describe the same organizations when your group calls carry a name that matches the company attribute on member contacts. The comparison table in Accounts versus Account Scores walks the distinction.

2. Open the page and read the rollup columns

Open Insights → Account Scores in the dashboard. The view is gated to the owner, admin, and developer roles — the underlying rows are PII-bearing contacts and their scores, so the same contacts:read requirement applies as on the contact profile. Other roles do not see the page and receive a 403 from the endpoints. The ranked table shows one row per account: Above the table, three controls shape the ranking:
  • Sort by — account churn risk, expansion propensity, intent score, account value, or contact count.
  • Order — highest first or lowest first.
  • Account size — filter out accounts with fewer than 2, 5, or 10 contacts to focus on established organizations rather than solo rows.
The list loads 50 accounts at a time behind a Load More button, with the footer reporting the loaded count against the true total. Select any row to drill into one account: the rolled-up scores, the health segment and firmographic band, and the member breakdown — each member’s churn, intent, propensity, and lifetime-value estimate with their lifecycle stage, so you can see exactly which contacts are driving the account’s number. If the page shows “No accounts to score yet” the rollup has nothing to aggregate: account scores roll up scored contacts that carry a company name, so populate the company attribute on contacts (via import, forms, or the track/group ingest) and let the contact-level scores compute. If a role other than owner, admin, or developer needs access, assign one of those roles — there is no separate account-scores permission to toggle.

3. Which contact-level scores feed in

Every number on the page is a rollup of the per-contact churn, propensity, intent, and LTV scores the CDP computes for each contact:
  • Churn risk per member is value-weighted into account_churn_risk.
  • Propensity and intent per member average into expansion_propensity and intent_score.
  • Per-member LTV estimates sum into total_value_cents.
Membership is the link: contacts grouped by a shared company value are the account’s members, so the score of an account is only as current as the scores of its contacts. Keep the upstream models trained and scored — the CDP predictive models guide covers the train → evaluate → score loop — and the account ranking follows on the next read. Because the rollup is derived on read, there is no backfill or refresh to run: once contacts carry a company value and computed scores, their accounts appear in the ranking.

4. Drive B2B playbooks from the ranking

The ranking is a triage queue for account-based work:
  1. Retention. Sort by account churn risk, highest first. The accounts at the top carry the most value-weighted risk — drill in to see which members are driving it, then target those contacts with a save play rather than a blast to the whole base.
  2. Expansion. Sort by expansion propensity to surface accounts whose members are ready to buy more — the queue for upsell and cross-sell outreach.
  3. Segment the members. Once an account is worth spending against, build a segment over its members in Audience → Segments with the conditions the campaign needs, and activate it like any other audience. The segmentation walkthrough in B2B accounts: golden records and hierarchy covers locating accounts, collecting member contact ids, and building the segment.
  4. Filter to real accounts. Use the Account size filter to drop one-contact rows when the motion only makes sense above a deal size.
Programmatic playbooks use the same endpoints the page renders: GET /api/v1/cdp/accounts/scores for the ranked list (sortable by churn_risk, contacts, propensity, intent, or value, with order, min_contacts, limit, and offset controls) and GET /api/v1/cdp/accounts/score?account=<name> for one account’s rollup plus its member breakdown. Both are read-only and carry the same owner/admin/developer + contacts:read gate. Endpoint-level detail lives in the CDP API reference.

See also