Teleperson
Features

Admin Insights

Cross-customer and per-customer rollups of the companies your users keep in their Hubs, plus a coming-soon view for per-company analytics.

The Insights tab on the admin dashboard turns the customer base into a single, scannable picture. Every breakdown is computed server-side from the same user_followed_companies table that powers each user's Hub, so the numbers always reflect what customers actually keep around — not what they clicked once and forgot.

The tab has two scopes:

  • Customers — what kinds of companies your users follow.
  • Companies (Coming Soon) — flipped around: who follows a given company and how they behave.

Customers scope

All customers

The default view aggregates every active follow across the whole base:

  • Total follows and active customers at the top.
  • Sector concentration — which industries dominate the catalog of things users follow.
  • Revenue and employee bands of those companies — are users attaching to scrappy startups, mid-market, or enterprise vendors?
  • Geographic concentration — country distribution of the followed companies' headquarters.
  • Most-shared vendors — companies followed by ≥ 2 customers, ranked by how many distinct users they appear in. This is the overlap surface.
  • Sector co-occurrence — Jaccard similarity for the top sectors. Closer to 1 means two sectors travel together (e.g., users who follow Banking also follow Insurance).

Per customer

Switch to Per customer and pick a user from the typeahead. The breakdowns flip to that single user's portfolio, and the Most-shared vendors card becomes a flat list of every company in their Hub. Useful for support escalations and customer reviews where you need a quick read on what the user has set up.

Companies scope (Coming Soon)

The Companies scope is a placeholder right now — the backend is being built. When it ships it will let an admin pick any company in the catalog and see:

  • Total customers — distinct users following the company.
  • Average spend per customer — mean monthly Plaid-tracked spend at the merchant per follower.
  • Top shared vendors — companies followed by ≥ 80 % of the company's customers, ranked across industries.
  • Acquisition source mix — manual, extension-captured, Plaid-implicit, mail-discovered.
  • New customer trend — daily and 7-day rolling net follows over the last 90 days.
  • Retention curve — % of customers still actively following at 7 / 30 / 90 days after add.
  • Help request volume — count and median resolution time of help requests tagged to the company.
  • Call-tree demand — pending and resolved call-tree requests.
  • CSQI score & delta — current Customer Service Quality Index with 30-day change.
  • Ask-AI topic mix — top question intents customers ask the panel about the company.
  • Demographic breakdown — age × income × gender mix versus the platform baseline.
  • Geographic concentration — top countries and timezones of the customer base.
  • Cross-industry portfolio — average number of other sectors the company's customers follow (loyalty / diversification proxy).
  • Plaid attach rate — % of customers with a linked Plaid account.
  • Transaction frequency — average transactions per customer per month at the merchant.
  • Share of wallet — % of a customer's total monthly spend routed to the company.

The Insights tab itself shows this list with one-line descriptions so stakeholders can react to the spec while the data work is in flight.

How the data is fetched

The whole tab is a single GET to admin-consumer-insights. The function checks that the calling JWT belongs to a user with role admin or owner, then pulls active follows (proposed_status = 'active') and aggregates in memory before returning a single payload. Adding ?user_id=<uuid> flips the function to per-customer mode.

On this page