## Overview

This article defines metrics available in Assembled reports, Team Performance, adherence views, Scorecards, and related dashboards. It covers schedule and time-tracking metrics (such as adherence, utilization, and occupancy) and ticket and message metrics (such as handle time, cases solved, and CSAT). Use this as a reference when building reports, explaining data to stakeholders, or troubleshooting discrepancies.

**Important note:** Many metrics rely on **productive** time. Productive time is determined by:

- **Event types** (Settings → Event types): which scheduled events count as productive, non-productive, or time off.
- **Agent state mappings** (Settings → Agent states): how statuses from your contact center or CRM (for example Zendesk, Talkdesk, Five9) map to productive, available, busy, or offline in Assembled.
- **Integrations and queue mapping** (Settings → Queues and exclusions): how tickets and agent activity are assigned to channels and queues.

Time spent working on tickets comes from your support platform. Agent activity may be tracked through status selections (aux codes), automatic browser or app activity, or integration syncs, depending on your setup.

### How common metrics differ:

| Metric | What it measures |
| --- | --- |
| Productive adherence | Right **activity** at the right **time** during scheduled productive blocks |
| Schedule adherence | Following **all** scheduled events (except time off) |
| Conformance | Right **amount** of productive time worked vs scheduled (timing does not matter) |
| Scheduled utilization | Share of the **schedule** allocated to productive events |
| Actual utilization | Share of **actual worked** time that was productive |
| Occupancy | Share of **logged-in** time spent actively on customer work |
| In-office shrinkage | Share of **scheduled** time spent in non-productive states |

High productive adherence does not guarantee high occupancy. An agent can be fully adherent during a productive block but idle when contact volume is low.

## Schedule and adherence metrics

### Actual hours worked (total)

Number of hours the agent worked during the specified interval, regardless of their schedule. This includes both productive and non-productive actual time.

**Calculation:** sum(hours worked)

**Notes:**

- Based on agent state data and your agent state mappings.
- Used as the denominator for **Actual utilization** and related metrics.

### Actual productive hours worked

Number of productive hours the agent worked during the specified interval, regardless of whether they followed their schedule.

**Calculation:** sum(productive hours worked)

**Notes:**

- Only includes time in agent states mapped to **productive** (and, if enabled for your account, productive auxiliary states).
- Used as the numerator for **Conformance** and as the denominator for **Solved (per actual hour)**.

### Actual productive hours worked (all channels)

Number of productive hours worked across all channels and platforms, including productive auxiliary time when that configuration is enabled for your account.

**Calculation:** sum(productive hours worked across all channels)

**Notes:**

- Appears when your account uses expanded productive or auxiliary event definitions.
- May differ from **Actual productive hours worked** when auxiliary productive states are included.

### Hours in productive adherence

Total time the agent was in the correct productive state while scheduled for productive work during the specified interval.

**Calculation:** sum(hours in productive adherence)

**Notes:**

- This is the hour-based companion to **Productive adherence** (percentage).
- Requires agent state data and correct agent state mappings.

### Productive adherence

Percentage of time an agent was in the correct **productive** state while scheduled for productive work.

**Calculation:** (hours in productive adherence during scheduled productive time ÷ scheduled productive hours) × 100

**Notes:**

- Maximum value is **100%**.
- Only evaluates periods when the agent is scheduled for events marked **productive** in Event types.
- Requires agent state data synced from your platforms and correct **agent state mappings**.
- **Agent state exclusions** (for example training, outages, or approved exceptions) remove affected periods from adherence calculations when configured.
- If capacity is split across queues or channels for your account, adherence time may be allocated proportionally across those dimensions.

### Productive adherence (all)

Same as **Productive adherence**, but calculated using productive and productive-auxiliary definitions across all channels when that configuration is enabled for your account.

**Calculation:** (hours in productive adherence during scheduled productive time ÷ scheduled productive hours) × 100

**Notes:**

- Appears when your account uses expanded productive auxiliary event types.
- Compare to **Productive adherence** only when you understand whether auxiliary time is included in each metric.

### Hours in schedule adherence

Total time the agent followed their full schedule (all scheduled events except time off) during the specified interval.

**Calculation:** sum(hours in schedule adherence)

### Schedule adherence

Percentage of time an agent followed **all** scheduled events except time off.

**Calculation:** (hours in schedule adherence during scheduled events ÷ total scheduled hours) × 100

**Notes:**

- Maximum value is **100%**.
- **Time off** event types are excluded from both numerator and denominator.
- Includes adherence to non-productive scheduled events (breaks, meetings, training) as well as productive events.
- Often **lower** than productive adherence because more scheduled activity is included.

### Scheduled hours (total)

Time the agent was scheduled to work on any event during the specified interval.

**Calculation:** sum(all scheduled hours)

**Notes:**

- Includes productive and non-productive scheduled events.
- Excludes time off when calculating metrics that use "scheduled hours (total)" as defined in reporting (see **Schedule adherence** and **In-office shrinkage**).

### Scheduled hours (productive)

Time the agent was scheduled to work on **productive** events during the specified interval.

**Calculation:** sum(scheduled productive hours)

**Notes:**

- Used as the denominator for **Productive adherence** and **Conformance**.
- Does not indicate whether the agent actually worked those hours — only what was on the schedule.

### Conformance

Percentage of **actual productive hours worked** compared to **scheduled productive hours**, regardless of whether the agent was in the correct state at each moment.

**Calculation:** (actual productive hours worked ÷ scheduled productive hours) × 100

**Notes:**

- Can be **greater than 100%** if the agent worked more productive time than scheduled.
- Can be **less than 100%** if the agent worked fewer productive hours than scheduled.
- Timing does not matter: an agent can have high conformance but low adherence (or the reverse).
- Useful for flexible teams where total productive hours matter more than minute-by-minute schedule match.
- When you filter by channel or queue, conformance is calculated in that filter context (productive actual vs productive scheduled for that scope).

### Conformance (strict)

Percentage of **all actual hours worked** (productive and non-productive) compared to **all scheduled hours** (productive and non-productive, excluding time off).

**Calculation:** (actual productive and non-productive hours worked ÷ scheduled productive and non-productive hours) × 100

**Notes:**

- Can exceed 100% for the same reasons as **Conformance**.
- Includes non-productive scheduled and actual time (for example breaks and meetings), not only customer-facing productive time.
- Available in reporting when enabled for your account; not all customers see this metric in every view.

### Out of adherence duration

How long an agent has been out of adherence for their **currently scheduled productive event** in real-time adherence views.

**Calculation:** duration of current out-of-adherence period

**Notes:**

- Typically shown in real-time or agent-level adherence views, not as a historical aggregate in all reports.
- Measured in seconds or hours depending on the report.

## Productivity and utilization metrics

### Email productivity (case throughput)

Average number of email contacts handled per agent per hour.

**Calculation:** average(email contacts handled per hour)

**Notes:**

- Specific to the email channel and your queue and channel configuration.
- Distinct from **Messages sent (per scheduled hour)** or **Messages sent (per actual hour)**, which count outbound messages rather than completed contacts.

### Occupancy

Percentage of logged-in time an agent spent actively working on customer issues. **Occupied** and **available** states are defined by admins in agent state mappings.

**Calculation:** occupied time ÷ (occupied time + available time) × 100

**Notes:**

- Only includes agent states mapped to **occupied** (busy) or **available** for the channel or platform in scope.
- Does not measure schedule compliance — that is **adherence**.
- Does not measure whether scheduled time was productive — that is **utilization**.
- For channel-specific occupancy, only states mapped to that channel are included.

### Occupancy (all channels)

Percentage of logged-in time spent actively on customer work across **all** channels and platforms configured in agent state mappings.

**Calculation:** occupied time (all channels) ÷ available and occupied time (all channels) × 100

**Notes:**

- Use this when you need a single occupancy number across phone, chat, and other channels.
- Compare to channel-specific **Occupancy** when diagnosing a single channel.

### Scheduled utilization

Percentage of **scheduled** time allocated to productive events, whether or not the agent followed the schedule.

**Calculation:** (scheduled productive hours ÷ total scheduled hours) × 100

**Notes:**

- Answers: "Are we scheduling the right mix of customer work vs meetings, breaks, and other events?"
- **Time off** is excluded from the denominator (total scheduled hours for this metric uses scheduled time excluding time off, consistent with utilization reporting).
- Does not use actual agent states — only the schedule.

### Actual utilization

Percentage of **actual worked** time spent in productive states, regardless of adherence to the schedule.

**Calculation:** (actual productive hours worked ÷ actual hours worked (total)) × 100

**Notes:**

- Answers: "Of the time agents actually worked, how much was productive?"
- Ignores the schedule except indirectly (actual hours come from agent states).
- Preferred over legacy utilization definitions that divided by scheduled hours.

### Actual utilization (all channels)

Percentage of actual worked time spent in productive and productive-auxiliary states across all channels when that configuration is enabled.

**Calculation:** (actual productive and auxiliary productive hours worked ÷ actual hours worked (total)) × 100

**Notes:**

- Appears when your account includes auxiliary productive time in utilization reporting.

### In-office shrinkage

Percentage of **scheduled** time spent in non-productive states (for example breaks, meetings, training, or time out of adherence on productive events).

**Calculation:** actual hours in non-productive states ÷ total scheduled hours

**Notes:**

- Only includes hours during **scheduled** periods; **time off** is excluded.
- Non-productive states must be mapped correctly in agent state mappings and Event types.
- **Not reliable for async channels** (email, messaging): agents may appear "available" while not actively working. For async workflows, use **Actual utilization** or **Solved (per actual hour)** instead of shrinkage alone.
- Your organization may separately track planned vs unplanned shrinkage in BPO or vendor-requirement workflows.

### Actual non-productive hours

Total time an agent spent in non-productive auxiliary or non-productive states during the interval.

**Calculation:** sum(actual non-productive hours)

**Notes:**

- Appears when your account uses expanded auxiliary state definitions.
- Contributes to **In-office shrinkage** at the percentage level.

## Case resolution and response metrics

### Handle time

Total time to resolve contacts in the selected time range (typically using cases or contacts by **created date**, depending on the report).

**General calculation:** time contact ended − time contact started (definition varies by platform and channel)

**Note:** Assembled does **not** calculate handle time for **email**.

### Average handle time

Average time to resolve a phone or chat contact in the selected time range.

**Calculation:** sum(handle time) ÷ number of contacts

**Notes:**

- Excludes email.

### Average handle time per case

Average time to resolve a phone or chat **case** in the selected range when your account uses tickets v2 / units-of-work reporting with backward-compatible labeling.

**Calculation:** sum(handle time) ÷ number of cases

### Average handle time per unit of work

Average time to handle one **unit of work** within a case (from when that unit of work started to when it ended).

**Calculation:** sum(handle time for units of work) ÷ number of units of work

**Notes:**

- Used when cases contain multiple segments (for example reopens, transfers, or multiple handling periods).

### Total handle time (units of work)

Total time spent handling all units of work in the selected time range.

**Calculation:** sum(handle time across units of work)

### Agent ticket time

Total time an agent spent viewing tickets (active handle time from the Assembled Zendesk app).

**Calculation:** sum(agent ticket viewing time)

### Agent tickets touched

Number of distinct tickets an agent viewed.

**Calculation:** count(distinct tickets viewed)

### Agent average handle time

Average time spent per ticket while viewing.

**Calculation:** agent ticket time ÷ agent tickets touched

### Agent ticket time (solved)

Total time an agent spent viewing **solved** tickets.

**Calculation:** sum(agent ticket viewing time for solved tickets)

### Agent tickets touched (solved)

Number of distinct **solved** tickets an agent viewed.

**Calculation:** count(distinct solved tickets viewed)

### Agent average handle time (solved)

Average time spent per solved ticket while viewing.

**Calculation:** agent ticket time (solved) ÷ agent tickets touched (solved)

### Cases solved

Number of cases solved by an agent or group of agents in the selected time range (typically by **created date** unless the report specifies otherwise).

**Calculation:** count(cases solved)

### Units of work handled

Number of units of work that were solved, transferred, reassigned, or paused in the selected time range.

**Calculation:** count(units of work handled)

### Units of work handled (per scheduled hour)

**Calculation:** units of work handled ÷ scheduled productive hours

### Units of work handled (per actual hour)

**Calculation:** units of work handled ÷ actual productive hours worked

### Unique case solved rate / Total case solved rate

Percentage of terminal units of work that represent a solve (definitions differ when counting every solve vs unique case solves).

### Solved (per scheduled hour)

Number of cases solved per scheduled productive hour.

**Calculation:** cases solved ÷ scheduled productive hours

### Solved (per actual hour)

Number of cases solved per actual productive hour worked.

**Calculation:** cases solved ÷ actual productive hours worked

### Time to answer

Total time from first customer contact to first agent response for calls or chats in the selected time range.

**Calculation:** first response time − first contact time

### Average time to answer

Average time to answer calls or chats in the selected time range.

**Calculation:** sum(time to answer) ÷ count(contacts)

### Contacts received

Total inbound contacts received in the selected time range, regardless of subsequent messages or case splits.

**Calculation:** sum(contacts received)

### Service level

Percentage of first contacts that met your service level agreement (SLA) in the selected time range.

**Calculation:** (first contacts that met SLA ÷ first contacts) × 100

### New {calls / tickets / chats}

New contacts received in the selected time range.

**Calculation:** sum(new contacts)

### Open {calls / tickets / chats}

Open contacts in the selected time range.

**Calculation:** sum(open contacts)

### {Calls / tickets / chats} on hold

Contacts on hold in the selected time range.

**Calculation:** sum(contacts on hold)

### Pending {calls / tickets / chats}

Pending contacts in the selected time range.

**Calculation:** sum(pending contacts)

## Quality, case management, and messaging metrics

### CSAT responses received

Number of tickets or cases for which a customer provided a CSAT score attributed to an agent.

**Calculation:** count(tickets with a CSAT score)

### Average CSAT score

Average customer satisfaction score for an agent.

**Calculation:** sum(CSAT scores) ÷ number of CSAT responses

### Cases solved on first contact

Number of email tickets or cases resolved with a single agent response in the selected time range.

**Calculation:** count(cases resolved with one response)

### First contact resolution rate

Percentage of email tickets or cases resolved with a single response.

**Calculation:** (cases solved on first contact ÷ email cases solved) × 100

### Cases reassigned away

Number of cases reassigned from one agent to another within the same queue in the selected time range.

**Calculation:** count(cases reassigned)

### Reassigned away rate

Percentage of cases reassigned within the same queue, out of all cases that were solved, transferred, or reassigned for that agent.

**Calculation:** (cases reassigned within same queue ÷ (cases reassigned within same queue + cases transferred to another queue + cases solved)) × 100

### Cases transferred away

Number of cases transferred from one queue to another in the selected time range.

**Calculation:** count(cases transferred away)

### Transfer away rate

Percentage of cases transferred to another queue, out of all cases that were solved, transferred, or reassigned for that agent.

**Calculation:** (cases transferred to different queue ÷ (cases reassigned within same queue + cases transferred to different queue + cases solved)) × 100

### Messages sent

Number of messages or external comments an agent sent to a customer.

**Calculation:** count(messages sent)

### Messages sent (per scheduled hour) {Email}

Number of messages sent on the email channel per scheduled productive hour.

**Calculation:** messages sent ÷ scheduled productive hours

### Messages sent (per actual hour) {Email}

Number of messages sent on the email channel per actual productive hour worked.

**Calculation:** messages sent ÷ actual productive hours worked

## Configuration that commonly changes metrics

Your Deployment Strategist or support team can confirm which settings apply to your account.

| Configuration | Metrics affected | What changes |
| --- | --- | --- |
| Productive vs non-productive event types | Adherence, utilization, shrinkage | What counts as productive scheduled time |
| Productive auxiliary event types | Adherence (all), utilization (all channels) | Expands productive definitions |
| Agent state mappings | Adherence, occupancy | Which platform statuses count as busy, available, offline |
| Count every solve vs final solve only | Cases solved, rates per hour | Multiple solves per case vs one |
| Pending = solved (Zendesk) | Cases solved, pending volume | Pending tickets may count as solves |
| Units of work / tickets v2 | Handle time, solves, throughput | Case-level vs segment-level metrics |
| Queue and channel mapping | Volume, SLA, occupancy by channel | Which work appears in each channel |
| Agent state exclusions | Adherence | Periods removed from adherence (training, outages, etc.) |
| Kustomer ignore bots | Handle time, first response | Bot messages excluded from timing |
| Talkdesk wait time for first response | Handle time, time to answer | Wait time included in first-response duration |

## When numbers do not match expectations

1. Confirm the **date range, timezone, and filters** (channel, queue, site, team).
2. Verify **Event types** — is the scheduled event marked **productive**?
3. Verify **Agent states** — is each platform status mapped to the intended category?
4. Confirm **solve settings** — every solve vs final solve; pending-as-solved; assignee vs closer.
5. Compare the **right metric** — adherence, occupancy, conformance, and utilization answer different questions.
6. For email and messaging, prefer **actual utilization** and **solved per actual hour** over occupancy or shrinkage alone.
7. When comparing to your CRM or telephony report, align on **timestamps, wrap-up, hold time**, and **created vs solved date** definitions.
8. If scheduled hours differ between the Team Performance Report and the Schedule Analysis Report, check for overlapping scheduled events — the two reports handle them differently.
