Book a demo

Average Handle Time (AHT): Formula and How to Reduce It

Amrit Raj
Amrit Raj · Co-founder & CEO, Flowcall
·16 min read
Average Handle Time (AHT): Formula and How to Reduce It

Average handle time (AHT) is the average amount of agent time one customer contact takes: talk time, hold time and after-call work, divided by the number of contacts handled. On chat, WhatsApp and email, count the minutes an agent actually works on each conversation, not how long it stayed open, because agents handle several conversations at once and customers reply in their own time.

AHT is a long-standing call-center measure and one of the core customer service metrics. It is most useful for working out how many agent hours your volume needs, and easy to misuse: pushed down on its own, it produces rushed answers and customers who come back.

In short

  • AHT = (talk time + hold time + after-call work) ÷ contacts handled. It measures agent effort, not how long the customer waited.
  • Messaging needs its own definition. A chat open for 15 minutes while the agent handles two others took about 5 minutes of that agent's time.
  • A lower AHT is only better if repeat contacts don't rise. Track handle time per resolved request, split by request type.
  • Report AI-handled conversations separately from human ones, and expect human AHT to rise as the AI takes the simple requests.

How to calculate average handle time

The standard formula, used in call centers and BPOs (business process outsourcing firms) alike, is:

AHT = (total talk time + total hold time + total after-call work) ÷ number of contacts handled

Part What it covers
Talk time From the agent answering to the call ending
Hold time The customer on hold during the call, including while the agent checks another system or asks a colleague
Transfers and conferences Time a second agent or a supervisor spends on the same call
After-call work Notes, tags, wrap-up fields, the follow-up message and any action finished after the call

Leave out the time before an agent answers (queue and phone menu), and breaks, meetings and training, which count as shrinkage. Suppose your phone team handled 1,200 calls last week, with 5,400 minutes of talk, 900 of hold and 1,500 of after-call work (illustrative figures). AHT = (5,400 + 900 + 1,500) ÷ 1,200 = 6.5 minutes. In a spreadsheet with one call per row and the three times in seconds in columns B, C and D, =(SUM(B:B)+SUM(C:C)+SUM(D:D))/COUNT(B:B)/60 gives AHT in minutes.

AHT is not resolution time, which runs from the customer's first message until the problem is solved, waiting included.

Average handle time on chat, WhatsApp and email

The phone formula assumes one agent, one customer and one continuous conversation. Messaging breaks all three.

Chat runs in parallel. Say an agent works three chats at a time for an hour and closes 12 conversations. Each was open for 15 minutes on average, so a report that counts open time shows an AHT of 15 minutes. But the agent spent 60 minutes on 12 conversations: 5 minutes each. Open time is what the customer experiences, and it belongs with first response time and resolution time. Agent minutes per conversation is what staffing and cost depend on, and that is the number to call AHT.

WhatsApp and Instagram are asynchronous. In WhatsApp customer support and Instagram DMs, a customer may reply after 40 minutes, or the next morning. Count only the stretches when an agent is working on the conversation, and add them up.

Email is a series of touches. Add up the time spent reading, looking things up, writing and wrapping up on each reply. Several popular AHT guides add the customer's waiting time to their email formula, which turns handle time into resolution time.

Channel Count as handle time Leave out Watch for
Phone Talk, hold, transfers and after-call work Queue and phone-menu time Wrap-up done while the next call rings, and never recorded
Live chat Open time divided by how many chats the agent was handling, or the work time your tool records Time before the agent joins; waiting for the customer Comparing chat open time with phone AHT
WhatsApp and Instagram DMs The working stretches on each conversation, added up Hours waiting for the customer's reply An "AHT" of several hours that is mostly waiting
Email Working time on every reply, plus wrap-up Time in the queue or waiting for the customer Formulas that add waiting time

Check what your tool counts before comparing channels. Amazon Connect's documentation, for example, defines average handle time per contact as the time it is connected to an agent, including talk, hold and after-contact work, and reports concurrency (how many contacts agents handle at once) as a separate metric. Some helpdesks instead time how long each ticket is open on the agent's screen.

Why a lower AHT can mean worse service

AHT is counted per contact, but customers care about requests. When agents are pushed to keep contacts short, the time moves into the next contact. Compare two teams answering the same refund-status questions (illustrative figures):

Team A Team B
AHT 6 minutes 7 minutes
Customers who contact again about the same request within 7 days 30% 5%
Contacts per resolved request 1.3 1.05
Handle time per resolved request 7.8 minutes 7.35 minutes

Team A looks faster, yet it spends more agent time on every request it resolves, and three customers in ten have to come back.

Calculate handle time per resolved request as well: total handle time on all contacts about a set of requests, divided by the requests resolved. It needs contacts linked to the same order or issue, which first contact resolution depends on too. Report it with the repeat contact rate, CSAT and quality findings, and AHT stops rewarding speed at the customer's expense.

We built Flowcall's AI Helpdesk to do that linking. When the same customer writes on another channel while their issue is open, Flowcall keeps it on the same ticket, with the whole history visible, while a new issue or a different order gets its own ticket. So each ticket is one request, however many contacts it took, which is what handle time per resolved request needs.

What is a good average handle time?

There is no reliable universal figure. The one you'll most often see quoted, about six minutes, matches the average call handling time (6.1 minutes) in a survey of 470 US call centers that Cornell University researchers carried out in mid-2003. It describes phone work more than twenty years ago, not WhatsApp conversations about a courier delay, and the industry tables quoted alongside it rarely give a source or a date.

Set your own baseline for each request type and channel, track it over time, and keep the repeat contact rate beside it. Look at the median as well as the average: a few long calls about a damaged appliance can pull the average up without anything changing for most customers.

Use AHT per request type

A blended AHT mixes a quick order-status check with a damaged-product claim that needs photos, a policy decision and a replacement. When the mix shifts, as it does in a sale week, the blended number moves even if the service didn't. Split AHT by the request types behind most of your ecommerce customer service volume:

Request What the human agent has to find or do What inflates handle time What brings it down
Where is my order? Match the customer, find the order, read the courier's latest scan Asking for an order number; opening the courier's website; no rule for when a parcel counts as stuck Order and tracking on the ticket; a written "stuck" rule
Cancel before dispatch Check the order hasn't been packed; cancel; start the refund if prepaid Messaging the warehouse to check status; waiting for approval A clear cut-off; cancelling from the ticket
Change delivery address Check dispatch status and delivery coverage; update the order Retyping the address; checking coverage by hand A form for the new address; updating from the ticket
Return or exchange Check the window and the product; collect the reason and photos; book the pickup or create the exchange order Chasing photos; looking up the policy; booking in the courier portal Written eligibility rules; photos collected before an agent picks it up
Where is my refund? Find the refund, its method and reference; check the payment gateway Gateway lookups; explaining bank timelines from scratch Refund status and reference on the ticket; a saved reply with the timeline
Damaged, wrong or missing item Review photos, check the order and shipment, decide on a replacement or refund Judging evidence; approvals above a value; raising a warehouse query Value limits agents can apply alone; creating the replacement from the ticket
Payment taken, no order Match the payment to the customer; compare the gateway with the store Two systems that disagree; escalating to finance Payment status on the ticket; a rule for when to refund

Set targets per row, and compare agents only within the same request type and channel. Our guide to agent performance metrics covers the rest of an agent's scorecard.

The fixes in the table's last column are either written rules or things on the ticket, and Flowcall's AI Helpdesk takes care of the ticket side. Customer 360 shows the customer's orders, delivery, payments, refunds and past conversations on the ticket, so agents don't open Shopify or courier websites. Ticket actions let a human agent process a refund, create a replacement or update an order from the ticket, with the form prefilled from the conversation, so nobody retypes an address the customer has already sent.

Where the minutes go: a diagnostic

Take your three biggest request types, time 20 human-handled contacts of each (from recordings or by sitting with agents), and split every minute into six stages:

  1. Identify: who is this, and which order?
  2. Look up: the store admin, courier tracking, the payment gateway, past tickets.
  3. Decide: finding the policy, asking a team lead, waiting for approval.
  4. Act: cancelling, updating the address, booking the pickup, starting the refund.
  5. Write: the reply, notes, tags and wrap-up fields.
  6. Wait: hold, transfers and slow systems.

If identifying, looking up and deciding take longer than talking and writing, the fix is tooling and rules, not faster agents. The stages that are pure lookup are also the easiest to hand to customer service automation.

How to reduce average handle time without rushing customers

Start with the stages that don't involve the customer at all.

  1. Put the customer and the order on the ticket. Orders, tracking, payments, refunds and past conversations should sit beside the conversation, so nobody asks for an order number or opens three tabs. That is what a customer 360 view is for.
  2. Let agents act from the ticket. Cancellations, address changes and replacements should happen where the conversation is, with the form filled in from what the customer already said.
  3. Write the rules down, with limits. An agent who may approve a replacement up to a set value doesn't put the customer on hold to ask a team lead. Keep the rules in an internal knowledge base.
  4. Use saved replies that pull in order details. Canned responses for customer service save more time when the tracking link, refund reference and dates fill in automatically.
  5. Automate the lookups and the wrap-up. Software can fetch the order and courier status before an agent picks up, then summarise the conversation and fill the wrap-up fields. On calls, computer telephony integration opens the call with the customer's record instead of a search.
  6. Route by request type. Skill-based routing sends refunds to the agents who handle refunds all day.
  7. Remove contacts, not minutes. Proactive delay messages prevent many "where is my order?" (WISMO) contacts. Expect AHT to rise, because the quickest contacts leave the average.

We built Agent Assist for the writing and wrap-up in step 5: in Flowcall's AI Helpdesk, it drafts replies, summarises tickets and fills wrap-up fields, so agents review instead of typing. With Flowcall's phone integration, calls open in the same workspace with the customer's context and are logged, recorded and transcribed on the ticket, with a summary of each call linked to the right order.

Avoid shortcuts that move work elsewhere: time limits per contact, AHT leaderboards, transfers that protect an agent's own number, or closing a chat before the customer confirms the fix. If an outsourcing partner runs your phone or chat queue, pair any AHT target in the contract with repeat contacts and a QA scorecard.

How AI changes average handle time

Once an AI agent for customer service handles real volume, a blended AHT stops meaning anything. An AI-handled conversation uses no agent minutes, so averaging it in measures the AI's share of the work, not your team's efficiency. Report three paths for each request type:

  • Resolved by the AI: track completion, repeat contacts and time to resolution. Handle time doesn't apply.
  • Handed over to a human agent: handle time starts when the agent picks it up. If it's higher than for the same request type handled by human agents from the start, the handover is missing the summary, the order or what's been tried. Our chatbot vs live chat guide lists what a good handover carries, and escalation management covers what happens after it.
  • Handled by human agents throughout: your usual AHT.

Human AHT will rise as the AI takes the simple requests. Say 4,000 of your 10,000 monthly contacts are order-status checks at 3 minutes and the other 6,000 take 8: AHT is 6 minutes, and the team spends 60,000 minutes. If the AI resolves 3,500 of the order-status checks, the team handles 6,500 contacts in 49,500 minutes. AHT rises to 7.6 minutes while agent time falls by 17.5% (illustrative figures). Judge the change by agent minutes per 100 orders or per resolved request.

For staffing, multiply the contacts human agents will actually handle by the human AHT for each request type; a blended AHT that includes AI conversations will leave you short. Our guide to workforce management turns that workload into shifts.

Where your rules allow, Flowcall's AI Agent resolves the request itself: it checks current order, delivery, payment and refund data in your connected systems and completes cancellations, address changes, exchanges, replacements and refunds. When a human agent is needed, it creates a ticket with the conversation, a summary, the customer and order context and what's left to do, so a handed-over request starts with the work rather than with questions. Flowcall's AI Quality Assurance checks the other side of the handover, flagging human agents who ask again for details the customer already gave.

How Flowcall reduces handle time

Flowcall works on handle time from both ends. The AI Agent takes whole requests off the human queue where your rules allow. For the rest, Customer 360, ticket actions, Agent Assist and phone integration in the AI Helpdesk can shorten handle time by removing searches across store, courier and payment systems, screen switching, retyping and manual wrap-up. What's left for your team is the part that needs an agent: the conversation, the judgement and the approval.

To see where the minutes go, book a demo and we'll walk through a request like yours from the customer's first message to a closed ticket. Qualifying brands get a free proof of concept on the service problem they most need solved, built with their team and tested before anything goes live.

Frequently Asked Questions

What is the full form of AHT?

AHT stands for average handle time, also called average handling time: the average agent time one customer contact takes, including talk, hold and after-call work. FCR (first contact resolution) and CSAT (customer satisfaction score) are the acronyms usually reported next to it; see FCR full form.

What is the AHT formula in a BPO?

The same as in any call center: (total talk time + total hold time + total after-call work) ÷ calls handled. For example, 40 calls with 200 minutes of talk, 30 of hold and 50 of after-call work give an AHT of 280 ÷ 40 = 7 minutes. For chat processes, use agent working time per chat, not how long each chat stayed open.

What is AHT in chat?

The agent time one chat takes. Because agents handle several chats at once, divide how long chats stayed open by the number the agent was handling, or use the working time your tool records. Don't compare chat open time with phone AHT.

What does an AHT of 3 hours mean?

Almost always that the report counts elapsed time, not agent time: an email ticket or WhatsApp conversation left open while waiting for the customer. Recalculate using only the time agents spent working on it, and report the elapsed time as resolution time.

What is the 80/20 rule in call centers?

A common service-level target: answering 80% of calls within 20 seconds. AHT is one input for meeting it, because call volume multiplied by AHT gives the agent hours you need in each half-hour. If AHT rises and staffing doesn't, the service level falls.

Share:
Amrit Raj
Amrit Raj
Co-founder & CEO, Flowcall

Co-founder and CEO of Flowcall, and earlier a founder at Housing.com. Building AI customer support that resolves issues, not just replies to them.

Connect on LinkedIn

See How 80%+ Automation Actually Works

We'll show you real conversations—AI handling refunds, tracking orders, switching languages—all fully automated, end to end.