Documentation

Reports

Reports answer two questions: how much support volume you are handling, and how well it is being handled. This page defines every metric precisely, so you can trust the numbers rather than guess at them.

Date range, filters and time zone

Every report is scoped by a start and end date, with 7-day, 30-day and 90-day presets. Alongside the range you can narrow by brand, agent, team, tag and channel, and separate AI-handled conversations from human-handled ones.

Times are shown in your browser's time zone, and the page tells you which one it is using. If a colleague in another country sees slightly different daily buckets, this is why.

How the range is applied — read this once

Almost every conversation count is anchored to the date the conversation was created, not the date it changed state. So "Closed Tickets" means conversations created in this range that are now closed — not conversations closed during the range.

This is deliberate: it makes the totals internally consistent, so the daily figures in the charts sum to the totals on the cards. The practical consequence is that a ticket created just before your range and closed inside it will not appear in the closed count. If you are reconciling against another system, match on creation date.

Two metrics are anchored differently, because anchoring them to the conversation would be misleading: CSAT is anchored to when the rating was submitted, and message counts to when the message was sent.

Overview metrics

MetricExactly what it measures
CSAT ScoreThe average customer rating for ratings submitted in the range, shown out of 5, with the number of responses beneath it. Shown as not available when nobody has rated yet — an average of zero responses is not a zero score.
Resolution TimeAverage time from conversation creation to closing, across conversations created in the range that are now closed. Measured in hours. Conversations still open are excluded entirely.
First ResponseAverage time from creation to the first reply, in minutes, across conversations that actually received a reply. Unanswered conversations do not count as an infinitely slow response — they are simply not in the average.
Messages / TicketAverage number of messages on a conversation, counting every direction — customer, human agent and AI.
Created TicketsConversations created within the range.
Closed TicketsOf those created in the range, how many are currently closed.
Open TicketsOf those created in the range, how many are currently open.
Snoozed TicketsOf those created in the range, how many are currently snoozed.
Messages ReceivedMessages sent by customers in the range. This is inbound volume, so it is the closest thing to "how much did people ask us".

Because the status counts are a snapshot of current state, they move even for a range in the past: close an old ticket today and yesterday's closed count goes up. Created Tickets and Messages Received are the two figures that never change retrospectively.

The other tabs

TabWhat it shows
Team PerformanceVolume and speed aggregated per team.
Agent PerformanceThe same, per individual agent.
Busiest TimesA day-by-hour heatmap. You can switch what it plots between conversations, messages received, messages sent, first response time and average response time — useful for deciding staffing hours, or when to let the AI cover alone.
Live AgentsWho is online right now and what they are handling. This one is real-time rather than range-based, so the date filter does not apply.
SLACompliance against your SLA policies, split by first-response and resolution targets, including breaches.
Macro UsageWhich saved replies your team actually uses — the ones nobody touches are usually the ones worth deleting or rewriting.
CSATScore distribution plus the individual written comments, paged.
AIHow much the AI handled, and how that changed over time.
AI HandoffsWhere the AI escalated to a human and why — the fastest way to find gaps in your AI configuration.
Ticket FieldsBreakdowns by your custom ticket fields.
ReturnsEvery return request with order number, customer, items, reason, offer chosen, refund amount and refund status. Rows expand for detail.
Returns AnalyticsAggregated return reasons and trends rather than a list.

Exporting

Every tab has an Export CSV action that exports the current tab with the filters you have applied — not the whole account. Change the range or brand first, then export. Files are named for the tab and date range so they stay distinguishable in a downloads folder.

If a number looks wrong

  • Check the brand filter. With several brands, an unfiltered view mixes them and a filtered one can look surprisingly small.
  • Check whether you expected creation-anchored or closure-anchored counting — this explains most apparent discrepancies.
  • For averages, remember the excluded rows: unanswered conversations are absent from First Response, and open conversations from Resolution Time.

If it still does not reconcile, email hello@squidsupport.ai with the report, the date range and the filters you used. See also Troubleshooting and The AI agent.