Freshdesk tickets from the KE-CC BPO Inbound queue joined to 3CX call logs by phone
number + same day. AHT comes from the matched call's talk time; FCR uses a 24-hour rule β a call counts as
First Contact Resolved unless the same number calls back again within 24 hours. Focus is the granular
sub-reason for interaction, with reason and ticket-outcome views alongside.
Data status
Loadingβ¦
Note: AHT and FCR are computed only from tickets matched to a 3CX answered call
(same phone, same day). Unmatched tickets still count toward ticket/outcome volumes.
Filters
All weeks Β· all reasons
Settings β data refresh
This dashboard is refreshed by running refresh.bat on a machine with Excel and
access to the raw Freshdesk / 3CX folders (Freshdesk exports are IRM-protected and can only be decrypted by
Excel itself). That regenerates public/seed-data.json and offers to redeploy. Only non-PII
counts are ever written β no phone numbers or ticket IDs leave the machine that runs the refresh.
AHT = average talk time (shown as hh:mm:ss, with the raw seconds alongside in
tables) of matched calls. FCR = % of matched calls where the caller did not call back again within 24
hours. Match rate = share of tickets matched to a 3CX call on the same day; only matched tickets
contribute to AHT/FCR. Every chart and table below has an βΆ button (top-right) to expand it to full
screen β press Esc or click again to go back.
Top sub-reasons by volume
AHT by week
FCR% by week
Slowest-to-resolve views below are limited to sub-reasons/outcomes with at least 5
matched calls, so a single unusually long call can't dominate the ranking.
Top 10 sub-reasons by AHT (slowest to resolve on call)
Top 10 outcomes by AHT (slowest to resolve on call)
Ticket volume by sub-reason
AHT (hh:mm:ss) by sub-reason
FCR% by sub-reason
Ticket volume by reason for interaction
AHT (hh:mm:ss) by reason
FCR% by reason
Ticket outcome mix
AHT (hh:mm:ss) by outcome
FCR% by outcome
Ticket resolution status
Ticket volume by week
AHT (hh:mm:ss) by week
FCR% by week
Calls are split into three length buckets by talk time (unmatched tickets get their
own bucket) so a small overall AHT isn't hiding a subset of reasons that genuinely run long. AHT below is
computed within each bucket, not blended across it.
Ticket mix by call length
Ticket volume by agent (top 25)
AHT (hh:mm:ss) by agent
FCR% by agent
Definitions
Scope β Freshdesk tickets where Group = KE-CC BPO Inbound only. All other groups are excluded.
Join β a ticket is matched to a 3CX answered call from the same phone number (last 9 digits) on the same calendar date, picking the call closest in time to the ticket's "Created time".
AHT (Average Handling Time) β average Talking duration (hh:mm:ss) of the matched 3CX call. Only matched tickets contribute; unmatched tickets have no AHT.
FCR (First Contact Resolution) β 24-hour rule: a call is FCR=Yes unless the same phone number calls again within the next 24 hours, in which case it's FCR=No. Computed purely from 3CX call timestamps per phone number, independent of the ticket.
Match rate β share of tickets in scope that were successfully joined to a 3CX call (~34% in the
current data). The main reason most tickets don't match isn't a data-quality bug β for ~63% of tickets,
the ticket's phone number simply never appears as a call in 3CX that day at all (checked against calls of
any status, not just answered). This is consistent with Freshdesk's phone field reflecting the customer's
registered account number, while 3CX logs the caller ID actually used for that call β these
often differ when a customer calls from a different line. AHT/FCR figures here describe the ~34% of
tickets that could be confidently linked to a specific call, not the full ticket population.
Sub-reason for Interaction β the granular Freshdesk field this dashboard is primarily organized around; Reason for interaction is its parent category.
Outcome / Ticket Resolution β Freshdesk's resolution disposition fields, analyzed for AHT/FCR the same way as sub-reasons.
By Agent β the Freshdesk ticket's assigned Agent field, aggregated the same way (tickets, AHT, FCR) as the reason/sub-reason views.
Time format β every duration in this dashboard is shown as hh:mm:ss; tables also carry the raw value in seconds alongside it.
Duration buckets β every ticket is assigned a call-length bucket from its matched call's talk
time: Short (β€1m), Medium (>1mβ3m), or Long (>3m); tickets with no matched call
fall into (unmatched). AHT shown per bucket is computed only from calls in that bucket β it isn't
the same number as the overall AHT. This splits out reasons/sub-reasons where a high volume of quick calls
is pulling the blended average down, from ones that genuinely run long once a call connects.
M-KOPA AHT & FCR by Contact Reason · Created by: Andy Museve — WFM Analyst, Customer Care · andy.museve@m-kopa.com