How metrics are calculated
The exact definition behind every Analytics metric — what counts, what doesn't, and when.
Every number in Analytics is computed from each conversation's full event history. This page explains the ground rules that apply everywhere, then defines each metric exactly as it's calculated.
Ground rules
Data refreshes every 15 minutes. Metrics are recomputed on a schedule, so what you see can be up to about 15 minutes behind the live inbox.
Spam is excluded. Conversations marked as spam are left out of every metric — except Spam conversations, which counts only them.
Durations are medians, not averages. Every time metric (first response time, resolution time, handle time, …) reports the median, so a handful of outliers can't distort the picture.
Durations respect business hours. If your organization has business hours configured, time metrics count only the time that passes during those hours — a conversation opened Friday evening and answered Monday morning has a short first response time, not a 60-hour one. Without configured business hours, durations are plain clock time.
What counts as a reply. A reply is a customer-facing message sent by a human agent or the AI agent.
Two ways of counting. Most conversation metrics count a conversation in the period it was created. Metrics about things that happen — closes, reopens, replies, messages, handovers, spam marks — count each event in the period it occurred, regardless of when the conversation started. Open conversations is different again: it's a snapshot of what was open at a point in time.
Closed vs. resolved. The AI closes a conversation after every clean reply that leaves nothing pending — a soft close: it reopens the moment the customer writes back, and the AI keeps handling it. That's different from being resolved, which only happens once the close sticks: 24 hours pass on any channel without the customer writing back, or the AI explicitly marks the conversation resolved. Metrics about resolution — resolution time, one-/zero-touch rate, the AI outcome funnel, confirmed vs. assumed resolution — count only conversations that reached this resolved state. Metrics about closing as an event — Closed conversations, Reopened conversations — count every close/reopen, soft or not.
The 24 hours are the same on email, WhatsApp and live chat, so a recent day's resolution numbers are readable the next day rather than a week later. If the customer does write back after that — your channel's longer window keeps the conversation reopenable — the conversation goes back to being open and drops out of the resolution metrics until it settles again.
Conversation outcomes
Several metrics and the drill-through panel rely on a single classification: every conversation has exactly one outcome, decided in this order of precedence.
| Outcome | Meaning |
|---|---|
| Resolved | The conversation was actually resolved (see above), whoever resolved it. Resolution outranks everything else. |
| Transferred | A human took over a conversation that was routed to the AI — whether or not the AI ever replied — and it is not resolved yet. |
| Human-handled | The conversation was never routed to the AI and is not resolved yet. |
| Constrained | The AI is blocked waiting on your team — it asked for input or created a task that nobody has resolved yet. |
| Still automated | The AI is handling the conversation and none of the above applies yet — including a soft-closed conversation still waiting to become resolved. |
"The AI took part" means the AI sent at least one message. Being assigned the conversation is not enough.
Approving an AI draft is not a takeover. When the AI asks for review and an operator approves and sends its draft, that reply still counts as a human reply in reply and response-time metrics — but it does not mark the conversation Transferred. Approval is treated as review, not a takeover, so the conversation can still end Resolved and count toward the automation rate.
Volume
| Metric | How it's calculated |
|---|---|
| New conversations | Conversations created during the period. |
| Open conversations | A snapshot: conversations that were open — created, not closed, not snoozed — at the end of the selected range. As a trend line, each point is the count open at that point in time. |
| Closed conversations | Conversations closed during the period, counted at the moment of closing. A conversation closed more than once in the period counts once. |
| New vs closed | The two series above, side by side per period. |
| Reopened conversations | Conversations that went from closed back to open during the period. A conversation reopened several times counts once. |
| Conversations by channel | New conversations, grouped by the channel they arrived on. |
| Spam conversations | Conversations marked as spam during the period. The only metric that counts spam. |
| Messages received | Every message sent by a customer, counted at the moment it was sent. |
Responsiveness
All duration metrics here are medians and respect business hours.
| Metric | How it's calculated |
|---|---|
| First response time | Conversation created → the first reply from anyone, human or AI — whichever came first. |
| AI first response time | Conversation created → the AI's first reply. Only counts conversations where the AI replied before any human. |
| Human first response time | Conversation created → the first human reply. |
| Response time | The median across every customer message → next reply pair, not just the first. Counted at the time of the reply. The heatmap view breaks these pairs down by time period and duration band. |
| Response time after transfer | The moment a conversation moved from the AI to a human → the first human reply after that. |
| Resolution time | Conversation created → the close that actually resolved it (see the ground rules above). |
| Time to first close | Conversation created → its first close, soft or not. Reopenings don't push this back. |
| Handle time | Hands-on time human agents spent working the conversation, measured from actual viewing time. |
Productivity
| Metric | How it's calculated |
|---|---|
| Replies sent | Every reply from a human or the AI, counted at the moment it was sent. |
| Conversations replied to | Conversations that received at least one reply during the period. |
| One-touch rate | Of resolved conversations, the share resolved with exactly one reply (human or AI). |
| Zero-touch rate | Of resolved conversations, the share with no human reply at all. |
| Messages per conversation | The median number of messages per conversation — customer, human, and AI messages combined. |
| Reassignments per conversation | The median number of times a conversation changed owner, including AI → human handovers. The initial assignment doesn't count. |
AI performance
The last day reads low. A resolution only counts once the close sticks (see Closed vs. resolved above), which takes 24 hours of quiet. Conversations the AI closed within the last day are still Still automated while they wait that out, so the resolution and automation rates for today undercount and settle tomorrow. A conversation that gets a late reply leaves the resolution metrics again, so a recent number can still move in either direction.
| Metric | How it's calculated |
|---|---|
| Involvement rate | The share of all conversations the AI replied in. |
| Resolution rate | Of the conversations the AI replied in, the share it resolved without a human taking over. |
| Automation rate | Of all conversations, the share the AI resolved — replied in and reached resolution without a human taking over. |
| Transfer rate | Of the conversations routed to the AI, the share a human took over. |
| Answer rate | Of the conversations assigned to the AI, the share where it sent at least one reply — the complement of AI didn't need to reply. |
| Automated conversations | The number of conversations the AI resolved. |
| Automation by topic | A table with one row per topic: automated conversations, answer rate, resolution rate, automation rate, and Time saved by agents (see AI economics), each broken down by topic. Time saved uses each topic's own median human handle time, so a topic no human has handled yet shows no value. |
| Handovers | Conversations that moved from the AI to a human during the period, counted at the moment of handover. A conversation handed over more than once counts once. |
| Product recommendations | Product recommendation messages the AI sent during the period, counted at the moment they were shown. A carousel of several products counts as one recommendation. |
| Recommendation clicks | Clicks on the tracked links of AI product recommendations, counted at the moment of the click. |
| Recommendation click-through rate | Recommendation clicks ÷ recommendations sent. Can exceed 100% when one carousel gets several clicks. |
| Confirmed vs assumed resolution | AI-resolved conversations split in two: assumed when the close that led to the resolution carried no explicit confirmation — an AI soft-close followed by an inactivity window; confirmed when the AI explicitly resolved it, or a human closed it. |
| AI outcome funnel | A flow diagram over all conversations in the period: new conversations split three ways — AI replied, AI didn't need to reply (assigned to the AI, which never answered) and Straight to human (never assigned to the AI). AI-replied conversations split by outcome (Resolved by AI, Transferred, Constrained, Pending); a no-reply conversation a human took over flows into Transferred too. Transferred and human-worked straight-to-human conversations flow on to Resolved by human once they actually resolve; a conversation that resolved without anyone stepping in ends at its branch. The three first-hop buckets add up to the total conversation count. |
AI economics
| Metric | How it's calculated |
|---|---|
| Time saved by agents | Automated conversations × the median measured handle time of your human-handled conversations — an estimate of how long the AI's conversations would have taken a person. |
| Cost saved | Automated conversations × the margin between an assumed human cost of €4.50 per conversation and your plan's AI cost per conversation — never below zero. The €4.50 approximates the midpoint of the $3.00–$6.00 industry benchmark for a human-handled interaction, taking the dollar range at roughly parity. |
| Decrease in first response time | How much faster the AI answers than your team: (median human first response time − median AI first response time) ÷ median human first response time, as a percentage. |
| Decrease in resolution time | (Median resolution time of human-handled conversations − median resolution time of AI-resolved conversations) ÷ the median resolution time of human-handled conversations, as a percentage. |
| AI spend | Billed AI conversations in the period × your plan's effective per-conversation rate (the plan price divided by its included conversations — about €0.79 on Starter, €0.70 on Core, €0.60 on Scale). |
Usage & plan
These are point-in-time gauges over your current billing period — they ignore the selected date range.
| Metric | How it's calculated |
|---|---|
| AI conversations used | AI conversations consumed so far in the current billing period. |
| Percent of plan used | Used ÷ included in your plan × 100. The gauge shows an Overage state past 100%. Blank on a plan with no fixed allowance. |
| Overage cost | Conversations used beyond your plan's allowance × €1 each. Zero while you're within the allowance. |
Quality & Satisfaction
Satisfaction surveys are optional and off by default — an admin turns them on per channel in organization settings. Only a survey that actually sent counts anywhere below.
| Metric | How it's calculated |
|---|---|
| Sentiment distribution | Conversations grouped by their detected sentiment. |
| Sentiment over time | Sentiment-classified conversations per period, split by sentiment. |
| Negative-sentiment conversations | Conversations whose detected sentiment is negative. |
| CSAT surveys sent | Surveys the delivery provider accepted during the period, counted on the day they were sent. |
| CSAT response rate | Of the surveys sent during the period, the share that came back with a star rating. Cohorted on the send, so a bucket's denominator never moves after the fact. |
| CSAT score | Of the scored answers received during the period, the share rated 4 or 5 out of 5 — counted on the day the answer arrived. |
| CSAT average rating | The mean of the scored answers received during the period, on the 1–5 scale. |
| CSAT distribution | Scored answers received during the period, grouped by the star rating given. |
| CSAT: AI vs human | CSAT score split by who closed the conversation being rated — your AI or a teammate. Every survey falls into exactly one of the two. |
| CX score | Coming soon — a broader customer-experience score, still in the works. |
Topics & tags
| Metric | How it's calculated |
|---|---|
| Conversations by topic | Conversations grouped by topic. A conversation with several topics counts under each of them. |
| Topic trend | New conversations per period, split by topic. |
| Emerging topics | Each topic's volume change versus the immediately preceding period of the same length, as a percentage. Shows the 10 largest changes; a topic with no prior volume is marked New instead of a percentage. |
| Top tags | The 10 most-used tags in the period — AI-applied and manually applied pooled together — each with its previous-period count for comparison. |
| Priority distribution | Conversations grouped by priority. |
| Language distribution | Conversations grouped by detected language. |
| Tag volume (% of units sold) | Coming soon — requires order data. |
Agents
Per-agent metrics group by the person (or AI agent) involved. Spam conversations never count as agent work.
| Metric | How it's calculated |
|---|---|
| Agent performance | A table with one row per agent and seven columns: conversations assigned and conversations closed (defined below), first response time (conversation created → that agent's first reply, as a median — anchored at creation, so it reflects how fast customers heard from them regardless of when they were assigned), resolution time (the median resolution time of the conversations the agent closed that went on to actually resolve), one-touch rate (of the conversations the agent closed that actually resolved, the share resolved in a single reply), replies sent (the total number of replies the agent sent), and CSAT (the CSAT score of the surveys triggered by conversations the agent closed). |
| Conversations assigned per agent | Conversations in the period in which the agent was assigned. |
| Conversations closed per agent | Conversations whose final close was made by the agent. |
| Replies & closed per active time | A table with, per agent, their replies sent and their conversations closed, each divided by their hours of Active time in the period. |
| Active time | The agent's total tracked time actively viewing conversations during the period, clipped to the selected range. Time while a conversation was snoozed doesn't count. This is the same tracked activity behind handle time, but summed per agent. |
| Satisfaction by agent | A table with one row per agent, your AI included, grouped by who closed the surveyed conversation: conversations closed, surveys sent, responses received, response rate, CSAT, and average rating — the full survey funnel behind the headline CSAT column in Agent performance. |
Revenue & Conversion
Revenue attribution works from clicks on the product recommendations the AI sends: when a customer clicks a recommended product and then places a Shopify order within your organization's attribution window (24 hours by default, configurable in organization settings), that order is attributed to the AI — the whole order, even when it contains other products. Customers are matched by the contact details of the conversation (email or phone), so attribution works across devices. Orders are matched by a nightly sweep, so numbers can trail purchases by up to a day. Refunds and cancellations after attribution are not subtracted.
A second, independent pair of metrics uses Shopify's own session attribution instead: recommendation links carry tracking tags, and when the order's checkout session verifiably arrived through one of them, the order is session-attributed. This is stricter proof that the recommendation led to the purchase and also covers anonymous visitors who never shared contact details — but it can miss purchases completed on a different device, and Shopify may take up to two days to finish attributing a session. One order can appear in both pairs; the two are never added together.
| Metric | How it's calculated |
|---|---|
| Revenue influenced | The summed order totals of all contact-attributed orders in the period, on the order date. |
| Orders influenced | The number of contact-attributed orders in the period, on the order date. |
| Session-attributed revenue | The summed order totals of orders whose checkout session came through an AI recommendation link, on the order date. |
| Session-attributed orders | The number of orders whose checkout session came through an AI recommendation link, on the order date. |
The remaining revenue metrics — Conversion rate, Attributed AOV, Revenue per conversation, Revenue by channel, and Conversion funnel — are coming soon.