Skip to content

Resolution Time

The elapsed time from a support conversation opening to its resolution, best tracked as a median because reopened and stalled chats skew averages.

Also called: Time to resolution · Full resolution time · Average resolution time · TTR

Reviewed

Interactive lab

Hands on: use the controls to explore. Anything that plays on its own pauses while you are working inside it.

Take one refund chat apart

7 / 7
Whole trace

3,300 s end to end · 6 spans

Bottleneck: On hold: finance approves refund takes 1,140 s, 35% of the trace. Speeding it up shortens the whole request the most; trimming a span that runs in parallel with it may save nothing.

An illustrative 55-minute WhatsApp refund conversation, in seconds from the first message. Step through the spans: the team's own work is small next to waiting on the customer and on finance.

Whole trace: 3,300 s across 6 spans. Bottleneck: On hold: finance approves refund, 1,140 s (35% of the trace).

01What is resolution time?

Resolution time is the time that passes between a support conversation opening — the customer's first message — and the moment it is marked resolved. On a WhatsApp support team it is calculated from the inbox's own events: the conversation's created-at time and the time an agent or bot set its status to resolved. It is the second half of the speed picture, after first response time, which only measures the wait for the first reply.

Two choices shape the number. First, whether to count elapsed (calendar) time or business-hours time; a chat opened on Saturday evening and solved on Monday morning looks very different in each. Second, how to treat time spent pending, when the team is waiting for the customer to send a photo or a document. Many teams report gross resolution time (everything) and net resolution time (excluding pending and after-hours time), because the second is what the team can actually improve.

Reopenings are the classic distortion. If a customer replies "It's still not working" two days after the chat was resolved, the conversation reopens. Counting only the first resolution makes the team look fast while the problem persisted; counting until the final resolution can create a long tail. Decide on one rule, report the reopen rate beside it, and use the median rather than the average so a few multi-day cases do not hide what typical customers experience. First-contact resolution (FCR) complements this by measuring the share of issues solved in a single contact at all.

Key takeaways

  • Resolution time is the elapsed time from a conversation opening to the moment it is marked resolved.
  • Report the median and the 90th percentile; a few stalled or reopened chats inflate the average badly.
  • Decide whether reopened conversations restart the clock or extend the original one, and apply the rule consistently.
  • Time spent waiting on the customer (pending) is usually reported separately from time the team controlled.
  • It differs from first-contact resolution, which asks whether the issue was solved in one contact, not how long it took.

02Why does resolution time matter?

Customers judge support on whether their problem got solved and how long it took, more than on the first reply. Resolution time exposes slow handoffs, missing permissions and policies that force agents to wait on other teams. On WhatsApp it also has a cost dimension: a conversation that drags across days usually means the 24-hour service window closes between replies, so the team must restart it with a paid template, and every extra service reply in India has been charged at ₹0.145 since 1 October 2026.

03 · How it works, step by step

How does resolution time work?

  1. Step 1

    Fix the start and stop events

    Start at the first customer message of the conversation; stop at the first status change to resolved. Store both as timestamps on the conversation, not as calculated values.

  2. Step 2

    Separate pending time

    Record every status change. Sum the time spent in pending (waiting on the customer) and on hold (waiting on a third party) so you can report gross and net resolution time.

  3. Step 3

    Choose a reopen rule

    Either keep the original start and stop at the final resolution, or treat a reopen after a set period (for example, 7 days) as a new conversation. Report reopen rate either way.

  4. Step 4

    Report percentiles

    Publish the median and P90 per queue and priority. Show the average only alongside them, because it is pulled up by the longest cases.

  5. Step 5

    Find the slowest span

    Break long conversations into waiting for assignment, agent work, waiting for internal teams and waiting for the customer. The largest span is where to act.

04Example: A Lucknow electronics store finds its slow span

A Lucknow electronics retailer's WhatsApp queue has a median resolution time of 55 minutes but an average of 9 hours. Breaking long cases into spans shows that refund requests sit in on hold for hours waiting on finance approval, and that pending time while customers find their invoice photo is counted as team time. Giving senior agents approval for refunds under a set amount and reporting net time cuts the refund P90 from 26 hours to 6, while the median barely changes.

05Resolution time in code

-- Gross and net resolution time (hours) per queue, last 30 days.
-- status_events: conversation_id, status, entered_at, left_at
SELECT c.queue,
percentile_cont(0.5) WITHIN GROUP (
ORDER BY EXTRACT(EPOCH FROM c.resolved_at - c.opened_at) / 3600) AS median_gross_h,
percentile_cont(0.5) WITHIN GROUP (
ORDER BY (EXTRACT(EPOCH FROM c.resolved_at - c.opened_at)
- COALESCE(p.pending_s, 0)) / 3600) AS median_net_h,
AVG(CASE WHEN c.reopen_count > 0 THEN 1 ELSE 0 END) AS reopen_rate
FROM conversations c
LEFT JOIN (
SELECT conversation_id,
SUM(EXTRACT(EPOCH FROM left_at - entered_at)) AS pending_s
FROM status_events
WHERE status IN ('pending', 'on_hold')
GROUP BY conversation_id
) p ON p.conversation_id = c.id
WHERE c.resolved_at IS NOT NULL
AND c.opened_at >= now() - interval '30 days'
GROUP BY c.queue;

Net time subtracts the spans spent waiting on the customer or a third party.

06 · Common mistakes, and the fix

Common mistakes with resolution time

  • Closing chats to stop the clock

    If agents are judged on resolution time, they may resolve chats that are not solved. Watch the reopen rate and CSAT next to the time, and review reopened chats in QA.

  • Mixing pending time into team performance

    A customer who takes two days to send an invoice makes the team look slow. Report net resolution time without pending spans when judging the team.

  • Using the average alone

    One case open for three weeks can double the mean for a small queue. Lead with the median and show the P90 to keep the long tail visible.

  • Changing the reopen rule mid-quarter

    Switching how reopens are counted makes trends meaningless. Fix the rule, document it on the dashboard, and backfill if it must change.

07Resolution time: key facts and limits

Starts
First customer message of the conversation
Stops
Status set to resolved
Best summary
Median and P90, gross and net
Main distortions
Reopens, pending time, after-hours time
WhatsApp window
Free-form replies only within 24 h of the customer's last message

08Resolution Time FAQs

What is the difference between resolution time and first response time?+
First response time measures the wait for the first reply; resolution time measures the wait until the issue is solved. A chat can be answered in two minutes and still take two days to resolve.
Should resolution time use the average or the median?+
Lead with the median. A small number of stalled or reopened conversations pulls the average far above what most customers experienced; show the P90 too so the long tail is not hidden.
How do reopened tickets affect resolution time?+
It depends on your rule: either the clock runs to the final resolution, or a late reopen counts as a new conversation. Pick one, keep it fixed, and report the reopen rate beside the time.
Does pending time count in resolution time?+
In gross resolution time, yes; in net resolution time, no. Reporting both shows the customer's real wait and the time the team actually controlled.

09 · Tips from the bench

Best practices for resolution time

  • Auto-move chats to pending when the agent asks the customer for something, so pending time is captured.
  • Give first-line agents the permissions to solve common issues instead of escalating.
  • Track resolution time per conversation tag to find the issue types that take longest.
  • Follow up with an approved template if a pending chat goes quiet past the 24-hour window.

See InfiQ pricing

* Per-message rates for India, ex-GST: marketing, utility and authentication effective 1 July 2026; service messages ₹0.145 since 1 October 2026 (they were ₹0 until 30 September 2026). Volume commitments earn discounts — final rate is confirmed on your account; applicable GST extra. Rates for other countries differ (see the international rate table on /pricing).

From definition to your first message

InfiQ is an official Meta Business Partner. Start a 7-day free trial — no card needed — and see this running on your own number.