> ## Documentation Index
> Fetch the complete documentation index at: https://kb.vinfer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Call Analytics and Agent Performance — NeuronLens

> Use NeuronLens analytics to track call volumes, sentiment trends, intent distributions, and agent performance across your entire contact center.

NeuronLens analytics gives operations teams, sales managers, and QA leads a unified view of everything happening across your contact center — in real time and historically. Every processed call contributes to a continuously updated data set: call volumes by campaign and agent, sentiment and intent distributions, QA score trends, and flags for missed revenue and compliance risk. You query this data through the dashboard or the analytics API, and you can slice it by any combination of date range, campaign, agent, language, or disposition.

## Dashboard Overview

The NeuronLens dashboard is the primary interface for non-technical users. It opens on a summary view showing key metrics for your selected time range and lets you drill down to individual calls, agents, or campaigns. Every chart and metric in the dashboard is also available via API, so you can pull the same data into your own BI tools or data warehouse.

<CardGroup cols={2}>
  <Card title="Call Volume Trends" icon="chart-bar">
    View daily, weekly, or monthly call volumes broken down by campaign, agent team, or language. Spot drops or spikes instantly.
  </Card>

  <Card title="Sentiment Distribution" icon="face-smile">
    Track the ratio of positive, neutral, and negative calls over time — by agent, campaign, or your entire operation.
  </Card>

  <Card title="Intent Breakdown" icon="bullseye">
    See how customer intents are distributed: interested, callback, not interested, complaint, escalation, and custom intent labels.
  </Card>

  <Card title="Agent Leaderboards" icon="ranking-star">
    Compare QA scores, sentiment outcomes, and compliance pass rates across agents and teams. Identify top performers and coaching targets.
  </Card>
</CardGroup>

## Metrics Available

<Tabs>
  <Tab title="Call Volume">
    | Metric            | Description                                                         |
    | ----------------- | ------------------------------------------------------------------- |
    | Total calls       | All calls submitted for processing in the period                    |
    | Connected calls   | Calls with a live conversation (filtered from no-answers and drops) |
    | Average duration  | Mean call length in seconds                                         |
    | Calls by campaign | Volume broken down per Neuron campaign or uploaded batch            |
    | Calls by agent    | Per-agent call counts for productivity tracking                     |
    | Calls by language | Distribution across language codes — useful for staffing decisions  |
  </Tab>

  <Tab title="Sentiment">
    | Metric              | Description                                                                    |
    | ------------------- | ------------------------------------------------------------------------------ |
    | Positive rate       | Percentage of calls with overall positive sentiment                            |
    | Neutral rate        | Percentage of calls with neutral sentiment                                     |
    | Negative rate       | Percentage of calls with negative sentiment — flag for review                  |
    | Sentiment trend     | Day-over-day sentiment change — useful for detecting campaign or script issues |
    | Per-agent sentiment | Which agents consistently produce positive or negative outcomes                |
  </Tab>

  <Tab title="Intent">
    | Intent Label      | Description                                                           |
    | ----------------- | --------------------------------------------------------------------- |
    | `interested`      | Customer expressed clear interest in the product or offer             |
    | `callback_agreed` | Customer asked to be called back at a specific time                   |
    | `not_interested`  | Customer declined or disengaged                                       |
    | `complaint`       | Customer raised a grievance or expressed dissatisfaction              |
    | `escalation`      | Customer requested a supervisor or threatened action                  |
    | Custom intents    | Define additional intent labels for your specific product or campaign |
  </Tab>

  <Tab title="Revenue & Risk">
    | Flag Type         | Description                                                                    |
    | ----------------- | ------------------------------------------------------------------------------ |
    | Missed cross-sell | Agent did not offer a relevant add-on product when the opportunity was present |
    | Missed upsell     | Agent did not upgrade the customer when they showed buying signals             |
    | Compliance risk   | Call contains a regulatory or policy violation — see Compliance docs           |
    | Escalation risk   | Call ended with unresolved escalation language                                 |
    | Churn signal      | Customer expressed intent to cancel or switch                                  |
  </Tab>
</Tabs>

## Querying Analytics via API

### Call-Level Analytics

```bash theme={null}
curl "https://api.vinfer.ai/v1/analytics/calls?from=2024-01-01&to=2024-01-31&group_by=agent" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Response Structure

```json theme={null}
{
  "period": {
    "from": "2024-01-01",
    "to": "2024-01-31"
  },
  "group_by": "agent",
  "results": [
    {
      "agent_id": "ag_001",
      "agent_name": "Priya Mehta",
      "total_calls": 412,
      "connected_calls": 389,
      "avg_duration_seconds": 214,
      "sentiment_breakdown": {
        "positive": 0.61,
        "neutral": 0.27,
        "negative": 0.12
      },
      "intent_breakdown": {
        "interested": 0.34,
        "callback_agreed": 0.22,
        "not_interested": 0.29,
        "complaint": 0.08,
        "escalation": 0.07
      },
      "avg_qa_score": 81.4,
      "missed_revenue_flags": 18,
      "risk_flags": 3
    }
  ]
}
```

<ResponseField name="total_calls" type="integer">
  Total calls processed for this agent and period.
</ResponseField>

<ResponseField name="connected_calls" type="integer">
  Calls with an actual conversation — excludes unanswered, dropped, and voicemail calls.
</ResponseField>

<ResponseField name="avg_duration_seconds" type="number">
  Mean call duration in seconds for connected calls.
</ResponseField>

<ResponseField name="sentiment_breakdown" type="object">
  Proportion of calls in each sentiment category. Values sum to 1.0.
</ResponseField>

<ResponseField name="intent_breakdown" type="object">
  Proportion of calls in each intent category. Values sum to 1.0.
</ResponseField>

<ResponseField name="avg_qa_score" type="number">
  Average QA score across all scored calls for this agent, on a 0–100 scale.
</ResponseField>

<ResponseField name="missed_revenue_flags" type="integer">
  Number of calls where a cross-sell or upsell opportunity was detected but not acted on.
</ResponseField>

<ResponseField name="risk_flags" type="integer">
  Number of calls with compliance or policy risk indicators.
</ResponseField>

### Available Filters

| Parameter     | Type                | Description                                                 |
| ------------- | ------------------- | ----------------------------------------------------------- |
| `from`        | date (`YYYY-MM-DD`) | Start of the analysis period                                |
| `to`          | date (`YYYY-MM-DD`) | End of the analysis period                                  |
| `group_by`    | string              | Aggregate by `agent`, `campaign`, `language`, or `date`     |
| `campaign_id` | string              | Filter to a single Neuron campaign                          |
| `agent_id`    | string              | Filter to a single agent                                    |
| `language`    | string              | BCP-47 language code (e.g., `hi-IN`)                        |
| `disposition` | string              | Filter by call disposition (e.g., `connected`, `no_answer`) |
| `sentiment`   | string              | Filter to calls with a specific overall sentiment           |
| `intent`      | string              | Filter to calls with a specific intent label                |

## Searching Call History

NeuronLens indexes the full transcript of every processed call. You can search across millions of calls using free text or structured filters.

```bash theme={null}
curl "https://api.vinfer.ai/v1/calls/search?q=EMI+waiver&sentiment=negative&from=2024-01-01" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

The search endpoint returns a list of matching calls with the relevant transcript segments highlighted, so you can jump directly to the moment in the conversation that matched your query. Use this to:

* Investigate specific complaints or escalations at scale
* Find calls where a particular product or offer was discussed
* Pull examples for agent coaching or training
* Audit calls mentioning specific regulatory terms

## Agent Coaching Insights

NeuronLens surfaces per-agent coaching recommendations directly in the dashboard under **Agents → \[Agent Name] → Coaching Insights**. For each agent, you see:

<Steps>
  <Step title="Top Missed Opportunities">
    Calls where the customer showed buying signals (positive sentiment, interest intent) but the agent did not follow through with a cross-sell, upsell, or closure attempt.
  </Step>

  <Step title="Compliance Gap Summary">
    A breakdown of which compliance checks this agent most frequently fails — for example, not stating the loan disclosure or using informal language in a regulated context.
  </Step>

  <Step title="QA Score Trend">
    Week-over-week QA score trend so you can see whether previous coaching sessions produced measurable improvement.
  </Step>

  <Step title="Call Examples">
    Direct links to the specific calls that drove each flag — so coaching conversations are grounded in actual evidence, not anecdote.
  </Step>
</Steps>

<Tip>
  Set up weekly analytics reports via the Reports API (`POST /v1/reports/schedule`) to receive a PDF or JSON summary of key metrics delivered to your inbox every Monday morning — no manual dashboard check required.
</Tip>
