Skip to content

[Analytics] Build advanced dashboards, funnels, cohorts, breakdowns, and custom reports #93

Description

@rahuliitk

Parent epic: #80

Priority: P1 — product completion

Problem and current baseline

QuickVoice has a basic dashboard, call-volume/performance views, and call-detail surfaces, but operators cannot consistently connect operational health to customer outcomes. They lack reusable filters, funnels, cohorts, workflow-path analysis, cost/latency breakdowns, scheduled reports, and a safe way to create organization-specific views without exporting data to spreadsheets.

Outcome

SMB owners can see whether agents deliver business results and what they cost; operations teams can find reliability or quality regressions; and enterprise analysts can build, save, share, schedule, and export governed reports from the same canonical metric model.

Requirements

  • Provide role-aware overview dashboards for outcomes, conversion/containment, call volume, transfer/abandonment, latency, cost, provider/model/tool reliability, campaign results, evaluations, and workflow paths.
  • Support a common filter model for time range, timezone, agent/version, workflow/node, campaign, contact segment, channel, direction, phone number, provider/model/voice, tool, disposition, outcome, evaluation result, and environment.
  • Add multi-step funnels with explicit eligible population, ordered/unordered steps, conversion window, drop-off, and segment comparison.
  • Add cohorts by first interaction or configurable qualifying event, with retention/repeat-contact/outcome matrices.
  • Add grouped breakdowns, comparison periods, percentiles, cumulative metrics, top-N plus “other,” and statistically honest handling of small samples.
  • Let authorized users save private/team views, pin dashboard cards, duplicate reports, set defaults, and share stable links that retain filter state without leaking unauthorized data.
  • Support scheduled CSV/XLSX/PDF or link delivery where policy allows, with recipient authorization checked at send time and clear freshness/timezone/currency metadata.
  • Allow drill-down from every aggregate to the contributing calls, workflow nodes, tool spans, transcripts, and evaluation evidence when access and retention policy permit.
  • Define query limits, asynchronous execution for expensive reports, cancellation, cache semantics, freshness watermarks, and visible partial-data warnings.

Interface and data implications

  • Build analytical query/report APIs on the canonical metric IDs from [Analytics] Define the canonical event, metric, cost, latency, quality, and outcome model #90; do not reimplement formulas in React components.
  • Version saved-report definitions and store owner, organization, visibility, filters, dimensions, measures, visualization, schedule, and audit metadata.
  • Return stable dimension keys, units, timezone/currency, comparison basis, suppressed-small-cell indicators, query status, and drill-down token/filters.

UX and accessibility

Use progressive disclosure: useful curated dashboards by default and a report builder for advanced users. All visualizations require descriptive titles, legends, units, tooltips, keyboard-operable controls, non-color encodings, screen-reader summaries, and an equivalent accessible table. Empty, loading, stale, partial, error, and insufficient-sample states must explain the next action.

Security, privacy, provider, and cost boundaries

Every query, saved view, scheduled delivery, and drill-down is organization-scoped and permission-checked. Exports follow retention/redaction/zero-PII policy and are audited. Cap concurrency, scanned rows, cardinality, export size, and schedule frequency; estimate expensive queries before execution where practical.

Failure modes and backward compatibility

Timeouts, late telemetry, missing dimensions, deleted agents, invalid saved filters, DST boundaries, and partial provider data must degrade with explicit warnings. Preserve existing dashboard URLs and core KPI cards during migration; document any metric-definition change and provide a comparison period before removal.

Dependencies

Out of scope

  • A general-purpose SQL editor or unrestricted cross-tenant BI access.
  • Replacing specialist external warehouses/BI tools.
  • Inventing benchmarks or recommended targets without evidence.

Acceptance criteria

  • Operators can create and save a report with at least two measures, two breakdowns, a comparison period, and reusable filters.
  • Funnels and cohorts document their eligible population, time window, timezone, exclusions, and small-sample behavior.
  • Every curated KPI matches the canonical API/export result for identical filters.
  • Authorized users can drill from an anomaly to contributing evidence; unauthorized and retention-restricted evidence is never exposed.
  • A scheduled report is delivered once, records an audit event, and rechecks recipient access before delivery.
  • Expensive queries run asynchronously with progress/cancellation and cannot exhaust organization or platform capacity.
  • Existing dashboard bookmarks continue to resolve or redirect with equivalent filter behavior.

Tests

  • Golden-data tests for dashboard, funnel, cohort, percentile, comparison, and breakdown calculations.
  • Timezone/DST, currency, late-event, sparse-data, deleted-dimension, and high-cardinality cases.
  • Tenant/role authorization and saved-link/scheduled-recipient security tests.
  • Export redaction, size limit, cancellation, retry, and duplicate-delivery tests.
  • Keyboard, screen-reader, contrast, non-color, responsive, and accessible-table checks.
  • Performance/load tests for representative cardinalities and concurrent report jobs.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: consoleCustomer consolearea: serverExpress API and server control planeenhancementNew feature or requeststatus: needs-designNeeds maintainer design agreement before implementation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions