Skip to main content

Overview

Metrics are about collecting facts and data from each call - objective measurements that help you understand what happened during conversations. From performance indicators like response_time to custom business metrics, Roark provides comprehensive data collection and analysis. Metrics Dashboard

How Metrics Work

Every metric in Roark is collected at multiple levels:
  • Per Speaker: Track metrics for each participant (agent, customer)
  • Global: Aggregate metrics across the entire call
  • Filterable: Use our Reports functionality to filter and analyze what matters to you
For example, response_time is tracked for:
  • The agent’s response times
  • The customer’s response times
  • Overall response patterns throughout the call

Metric Contexts

Metrics can be captured at different levels of granularity:
  • Call-Level
  • Segment-Level
  • Segment Range
CALL metrics measure the entire conversation:
  • Total call duration
  • Overall sentiment trend
  • Aggregate word counts
  • Call-wide compliance checks
Example: “What was the total talk time for the entire call?”

Metric Scopes

Metrics can have different scopes depending on what they measure:
  • GLOBAL: Single value for the entire call (e.g., total call duration, overall sentiment)
  • PER_PARTICIPANT: Separate values for each speaker (e.g., agent talk time vs customer talk time)

Metric Output Types

Different types of data that metrics can produce:

COUNT

Integer counts (e.g., number of questions asked: 5)

NUMERIC

Decimal numbers (e.g., average sentiment: 7.3)

BOOLEAN

True/false values (e.g., compliance check passed: true)

SCALE

Ratings on a scale (e.g., satisfaction score: 8 out of 10)

TEXT

Text responses (e.g., primary concern: “billing issue”)

CLASSIFICATION

Categorical labels (e.g., call outcome: “resolved”, “escalated”, “pending”)

OFFSET

Time offsets in milliseconds (e.g., first response at: 2500ms)

Metric Categories

Performance Metrics (Deterministic)

Fully deterministic calculations based on call data:
  • Response Time: How quickly each party responds
  • Talk Time: Speaking duration per participant
  • Silence Duration: Gaps and pauses in conversation
  • Overlap/Interruptions: When speakers talk over each other
  • Latency: Technical performance indicators

Emotion & Sentiment (Voice Analysis Models)

Powered by specialized voice analysis models:
  • Sentiment Tracking: Positive, negative, neutral trends
  • Emotion Detection: 64+ emotions identified
  • Vocal Cues: Tone changes, raised voice, sighs
  • Stress Indicators: Frustration, confusion, anger

Business Metrics (LLM-Powered)

Custom metrics powered by large language models:
  • Task completion indicators
  • Compliance checking
  • Quality scoring
  • Custom business KPIs

Metrics Marketplace

Enable pre-built metrics from our marketplace:

Customer Service

First call resolution, escalation rate, satisfaction

Sales

Conversion rate, objection handling, upsell success

Technical Support

Issue resolution, troubleshooting efficiency, accuracy

Healthcare

HIPAA compliance, empathy scoring, appointment booking

Custom Metrics

Define your own metrics tailored to your business needs:

Creating Custom Metrics

Custom Metric Configuration

1

Define the Metric

Name your metric and describe what it measures
2

Set Collection Rules

Specify when and how to collect the metric (per speaker, global, or both)
3

Configure Analysis Prompt

Define the LLM prompt or calculation method
4

Test & Deploy

Test on sample calls before enabling globally

Metric Types & Processing

  • Deterministic
  • Voice Analysis
  • LLM-Powered
Performance metrics are calculated using exact formulas:
response_time = timestamp_response - timestamp_question
No AI involved, 100% consistent results

Using Metrics Data

Real-Time Monitoring

  • View metrics as calls happen
  • Set alerts for threshold breaches
  • Track performance against targets

Historical Analysis

  • Trend analysis over time
  • Compare agent performance
  • Identify patterns and outliers

Reporting & Export

Access metric data through:
  • Reports Dashboard for visual analytics
  • API endpoints for programmatic access
  • CSV exports for external analysis

API Access

All API endpoints require authentication. Generate an API key to get started.

Get Call Metrics

Retrieve all metrics for a specific call:
GET /v1/call/{callId}/metrics
Query Parameters:
  • flatten (optional): Set to true to return a flat list instead of grouped by metric definition. Default: false
Response Format: By default, metrics are grouped by definition for easier processing:
{
  "data": [
    {
      "metricDefinitionId": "uuid",
      "metricId": "response_time",
      "name": "Response Time",
      "description": "Time taken to respond to a question",
      "type": "OFFSET",
      "scope": "PER_PARTICIPANT",
      "unit": {
        "name": "milliseconds",
        "symbol": "ms"
      },
      "values": [
        {
          "value": 2500,
          "context": "SEGMENT_RANGE",
          "participantRole": "agent",
          "confidence": 1.0,
          "computedAt": "2024-01-15T10:30:00Z",
          "fromSegment": {
            "id": "uuid",
            "text": "How can I help you today?",
            "startOffsetMs": 1000,
            "endOffsetMs": 2000
          },
          "toSegment": {
            "id": "uuid",
            "text": "I have a question about my bill",
            "startOffsetMs": 4500,
            "endOffsetMs": 6000
          }
        }
      ]
    }
  ]
}
Flattened Format (?flatten=true):
{
  "data": [
    {
      "metricDefinitionId": "uuid",
      "metricId": "response_time",
      "name": "Response Time",
      "description": "Time taken to respond to a question",
      "type": "OFFSET",
      "scope": "PER_PARTICIPANT",
      "value": 2500,
      "context": "SEGMENT_RANGE",
      "participantRole": "agent",
      "confidence": 1.0,
      "computedAt": "2024-01-15T10:30:00Z",
      "unit": {
        "name": "milliseconds",
        "symbol": "ms"
      },
      "fromSegment": {
        "id": "uuid",
        "text": "How can I help you today?",
        "startOffsetMs": 1000,
        "endOffsetMs": 2000
      },
      "toSegment": {
        "id": "uuid",
        "text": "I have a question about my bill",
        "startOffsetMs": 4500,
        "endOffsetMs": 6000
      }
    }
  ]
}

Get Metric Definitions

Retrieve all available metric definitions for your project:
GET /v1/metric/definitions
Response:
{
  "data": [
    {
      "id": "uuid",
      "metricId": "response_time",
      "name": "Response Time",
      "description": "Time taken to respond to a question",
      "type": "OFFSET",
      "scope": "PER_PARTICIPANT",
      "supportedContexts": ["SEGMENT_RANGE", "CALL"],
      "unit": {
        "name": "milliseconds",
        "symbol": "ms"
      }
    }
  ]
}

Understanding Metric Values

Confidence Scores:
  • All metrics include a confidence field (0-1)
  • Deterministic metrics (like word count, duration) have confidence = 1.0
  • AI-powered metrics include the model’s confidence level
Value Reasoning:
  • For AI-computed metrics, the valueReasoning field provides explanation
  • Useful for understanding why a metric was scored a certain way
  • Example: “The agent verified identity using two-factor authentication as mentioned in segment 3”
Segment Context:
  • When context is SEGMENT, the segment field contains the specific utterance
  • When context is SEGMENT_RANGE, both fromSegment and toSegment are included
  • All segment objects include the full text and timing information

Best Practices

Enable essential metrics first, then gradually add custom ones based on specific needs
Track both agent and customer metrics for complete conversation understanding
Test custom metrics on representative call samples before full deployment