OBLYTECH Logo
OBLYTECH Logo
ServiceNow Virtual Agent KPIs and Metrics That Matter

ServiceNow Virtual Agent KPIs and Metrics That Matter

Definition and Calculation of Key Metrics

Virtual Agent KPIs measure whether the virtual agent is achieving its intended goals: providing quick answers to users, reducing support ticket volume and improving user satisfaction. Each KPI has a clear definition, a method for calculating it and a target value that indicates good performance.

Metric 1: Conversation Completion Rate

Definition: The percentage of conversations where the virtual agent provided a complete resolution (user’s question was answered) versus the percentage that required escalation to a human agent.

Calculation: (Conversations resolved by bot / Total conversations) × 100

Data source: Virtual Agent conversation logs

Typical target: A strong majority for a mature virtual agent

Misuse to avoid: Counting conversations as “resolved” when the user was simply dissatisfied with the bot’s response. Require explicit user confirmation that the issue was resolved.

Metric 2: Conversation Abandonment Rate

Definition: The percentage of conversations that the user terminates without reaching resolution or escalation. Abandonment indicates the user was frustrated and left without getting help.

Calculation: (Conversations abandoned / Total conversations) × 100

Data source: Virtual Agent conversation logs

Typical target: Low, and expected to fall as the agent matures. High abandonment suggests users are leaving before resolution indicates the bot is not understanding users or providing useful responses.

Misuse to avoid: Attributing all abandonments to bot failure. Some abandonments may be intentional (user got distracted, found the answer elsewhere). Investigate patterns in abandonments to distinguish genuine failures from normal user behavior.

Metric 3: Average Resolution Time

Definition: The average time from when a conversation starts to when it ends (either with bot resolution or escalation to human).

Calculation: Sum of all conversation durations / Number of conversations

Data source: Virtual Agent conversation logs

Typical target: A few minutes for simple queries, longer for complex interactions

Misuse to avoid: Measuring only “successful” resolutions. Conversations that fail or are escalated may take longer; include all conversations in the average to understand true impact on wait times.

Metric 4: Escalation Rate to Human Agents

Definition: The percentage of conversations escalated to human agents because the bot could not handle the query.

Calculation: (Conversations escalated to human / Total conversations) × 100

Data source: Virtual Agent conversation logs with escalation tracking

Typical target: Around a moderate rate for mature agent (complementary to completion rate)

Misuse to avoid: Pressuring the bot to avoid escalations when escalation is appropriate. Escalating complex queries allows the bot to focus on routine questions while preserving human support for issues that need it.

Metric 5: User Satisfaction Score

Definition: Rating that users provide after interacting with the virtual agent (such as stars, thumbs up/down, or NPS score).

Calculation: Average of all user satisfaction ratings

Data source: Virtual Agent feedback collection (in-conversation ratings)

Typical target: High user satisfaction ratings

Misuse to avoid: Relying solely on user satisfaction scores. Users may rate the bot low even if it resolved their issue (if the interaction was awkward) or rate high even if they did not get a correct answer. Combine satisfaction scores with objective resolution metrics.

Metric 6: Conversation Volume Growth

Definition: The number of conversations handled by the virtual agent over time, tracking adoption and usage growth.

Calculation: Total conversations per week/month, trended over time

Data source: Virtual Agent conversation logs

Typical target: Growing over time as users discover and trust the bot, then plateauing once market saturation is reached

Misuse to avoid: Assuming growth is always good. High volume with low completion rate indicates adoption without satisfaction, a false positive. Monitor volume alongside completion and satisfaction metrics.

Metric 7: First Contact Resolution Rate

Definition: The percentage of conversations where the virtual agent resolved the issue without requiring a human agent handoff.

Calculation: (Conversations resolved by bot on first interaction / Total resolved conversations) × 100

Data source: Virtual Agent conversation logs, potentially correlated with incident/request data

Typical target: A strong majority for simple, well-defined queries

Misuse to avoid: Counting escalations that immediately return to the bot after human review as “first contact resolution.” Escalation followed by return to bot indicates two contacts.

Metric 8: Incident Ticket Reduction

Definition: Reduction in the volume of support tickets created after the virtual agent is deployed, comparing ticket volumes before and after.

Calculation: ((Tickets before – Tickets after) / Tickets before) × 100

Data source: Service desk ticketing system

Typical target: A noticeable reduction as the virtual agent handles routine questions

Misuse to avoid: Claiming credit for ticket reduction from other sources (process improvements, system stability improvements). Use a control group or baseline to isolate the bot’s impact from other variables.

Measuring and Reviewing KPIs

Track KPIs continuously on dashboards accessible to the virtual agent team and leadership. Monthly or quarterly reviews assess trends: is completion rate improving as the bot learns, or degrading as new question types appear. Escalation patterns reveal which types of queries the bot struggles with, guiding refinements to bot logic or training.

Investigate anomalies: sudden drops in completion rate indicate a change (bot update, new question types) that should be understood. Sudden increases in abandonment suggest users are frustrated with a new feature.

Build the measurement model before the first dashboard

A dashboard shows whatever the platform records, which is not always what the business asked about. Before anyone builds a chart, write down the question each measure answers and the event that starts and ends it. A conversation starts when the user sends the first message, but the team has to decide whether a second message after a long pause is the same conversation or a new one. That decision changes every rate on the page. Settle it, record it, and apply it the same way in every report, because a change in the rule will look like a change in performance. The reporting problems that usually sit behind this are covered in enhancing ServiceNow reporting.

Question the team asks Event that should be counted Common distortion
Did the agent answer the question? The user confirms the answer in their own words, or leaves after an answer with no further input Counting silence as success because the user left
Did the agent give the user a way forward? A hand-off, a record, or a link that the user opened Counting a link the user never clicked as a route
Is the agent being used for the right topics? Conversations grouped by the topic the agent matched Unmatched conversations hidden inside a general group
Did the work come back to the service desk? A ticket created within a defined window after a conversation that claimed resolution Windows that are too short to catch a delayed return

The table is deliberately about questions rather than names. Two teams can use the same metric label and mean different things by it. Writing the question down makes it possible to argue about the definition rather than about the number.

Set the baseline from the channel the agent will replace

A before-and-after comparison is only as good as the baseline. The baseline should come from the same population the agent will serve, measured over a period long enough to include the normal peaks in the service desk’s working pattern. If the agent will handle requests from the portal, the baseline must come from portal requests, not from a phone line that takes a different mix of questions. Capture the baseline before the pilot starts, store it outside the agent’s own reporting, and keep the query that produced it.

  1. Export request counts by category for a recent, representative period, and write down what the period excluded.
  2. Record the handling time for each category, separating requests that were resolved on first contact from those that were reopened.
  3. Note any change to the portal, the knowledge base, or staffing during the baseline period, since each one will be a reason for a later shift.
  4. Agree the comparison window for each measure, and do not change it once the pilot has started.
  5. Store the baseline query in the change record so an auditor or a new team member can rerun it.

Reading a movement without fooling yourself

A falling ticket count after launch is not proof that the agent works. Ticket volume moves with the calendar, with outages, with onboarding waves and with a change in how people are told to contact the service desk. The question to ask is whether the movement is in the categories the agent handles, and whether it has held after the novelty of a new channel has worn off.

  • Compare the change in agent-handled categories against the change in categories the agent does not touch. If both fall by the same amount, the agent is not the cause.
  • Look at the first week after any topic is added. A sudden rise in escalations usually means the new topic overlaps with an existing one.
  • Check whether repeat conversations from the same person are rising. A user who returns three times has not been helped, even if each conversation is closed as resolved.
  • Read a sample of conversations behind any movement of more than a few points before presenting it to a sponsor. For the dashboard side of this, see the guide to monitoring dashboard decisions.

Thresholds the service owner should set and defend

No target value is set here for each measure, and that is intentional. A target depends on the mix of topics, the tolerance for escalation in the business, and the cost of a wrong answer in each category. A password topic and a topic that changes a security group carry different risks, so they should not share one completion target. Choose a threshold the service owner can justify to the people a miss would affect, and write down why it was chosen. Revisit it after the first full cycle of data, when the team knows what the normal variation looks like.

What a failing measure usually points to

When a measure falls, the cause is often one of four things. The topic wording no longer matches how users describe the problem. A knowledge article changed and the agent now gives a different answer. A downstream system returns an error the agent treats as no result. Or the escalation route was changed and the hand-off queue now takes longer to answer. Each cause has a different owner, so the first task on a falling measure is to sort the failing conversations into those four buckets, not to adjust the agent. The regression cases for the first two causes sit in the testing and acceptance checklist.

Common questions about measuring the agent

Should satisfaction be the main measure?

It should be one measure among several. Users often rate a short, correct answer lower than a long, friendly exchange that ended with the wrong result. Use satisfaction to detect friction and use the event-based measures above to judge whether the answer was right.

How long should a measure be watched before it is trusted?

Keep it under observation until it has passed through a complete run of the normal demand pattern, which for most service desks takes a matter of several weeks. Treat any early pattern as a hypothesis to test in the sample reading, not as a result to report upward.

Who should see the raw conversation data?

The people who can act on a failure: the topic owner, the service desk lead and, where needed, the security owner. Summary dashboards can go wider. The rule should be decided before the first report is shared, not after someone asks.

What if two measures pull in opposite directions?

That is expected. Pushing escalations down can raise wrong answers, and pushing completion up can hide users who gave up. Choose which measure the service owner will accept as the trade-off, write the decision down, and review it when the pattern changes.

Next step

Definitions are cheap to agree before the pilot and expensive to change after it.

Frequently asked questions

How do we know if a conversation was truly resolved or if the user just gave up?

Require explicit user confirmation before marking a conversation resolved. Ask the user at the end of the conversation: 'Was your issue resolved?' or 'Did I answer your question?' Explicit confirmation avoids false resolution counts. You can also correlate virtual agent conversations with subsequent ticket creation: if a resolved conversation is followed immediately by a support ticket, the resolution was likely false.

What if virtual agent completion rate is low but escalations are handled quickly by human agents?

Low bot completion with fast human escalation is acceptable if it provides a good user experience: the bot attempts to help, escalates quickly when it cannot, and users get their issues resolved. The goal is not to maximize bot completion at all costs, but to provide efficient support overall. Monitor user satisfaction: if users are satisfied even with low bot completion, the system is working as designed.

How do we compare virtual agent performance to human agent performance fairly?

Use comparable metrics: completion rate (did the interaction resolve the issue?), first contact resolution (did it require follow-up?) and user satisfaction. Compare the virtual agent's performance on routine queries (its strength) to human agents handling the same types of queries. The virtual agent may outperform humans on simple, repetitive queries but underperform on complex, nuanced issues. Use performance data to segment work appropriately: bot handles routine, human handles complex.

Talk to Oblytech

Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.

Contact us