10 Contact Center KPIs to Track (With Ready DAX Formulas)
Ten contact center KPIs that actually get used in day-to-day reporting, with the DAX measure for each one, so the number means the same thing everywhere it appears.
Most contact center KPIs get discussed constantly and defined inconsistently. Ask three different team leads how they calculate Average Handle Time and you will often get three different formulas, none of which line up in a shared dashboard. This is a working reference: ten contact center KPIs that actually get used in day-to-day service and operations reporting, plus the DAX approach for each one, so the number means the same thing wherever it appears.
Why the same KPI keeps producing different numbers
It is rarely a data problem. It is a definition problem. Two agents’ AHT calculations disagree because one includes after-call work and the other does not, or one excludes calls transferred mid-way and the other counts them anyway. Fixing this is not a modeling exercise, it is a documentation exercise done once, in a semantic model, so every report pulls from the same DAX measure instead of a fresh spreadsheet formula.
The core efficiency KPIs
Average Handle Time (AHT) — talk time plus hold time plus after-call work, per resolved interaction.
AHT = DIVIDE(
SUM(Interactions[TalkTimeSeconds]) + SUM(Interactions[HoldTimeSeconds]) + SUM(Interactions[ACWSeconds]),
DISTINCTCOUNT(Interactions[InteractionID])
)
First Contact Resolution (FCR) — the share of interactions resolved without a follow-up contact on the same issue, usually measured with a lookback window (e.g. 7 days).
FCR% = DIVIDE(
CALCULATE(DISTINCTCOUNT(Interactions[InteractionID]), Interactions[ResolvedFirstContact] = TRUE),
DISTINCTCOUNT(Interactions[InteractionID])
)
Case Resolution Time (CRT%) — for teams that work cases rather than live interactions, the share resolved inside the target SLA window, split by escalated vs. non-escalated where volume allows, since the two behave very differently.
The core quality and experience KPIs
CSAT — always report it segmented (by channel, by queue, by agent tenure), a single blended number hides where the real problem is. Service Level — percentage of contacts answered inside your target threshold (e.g. 80% in 20 seconds), calculated on offered volume, not answered volume, or you will systematically overstate performance. Abandonment Rate — contacts abandoned before reaching an agent, divided by contacts offered.
The core workforce KPIs
Occupancy — the share of logged-in time actually spent handling contacts; useful, but read it alongside AHT and Service Level, a high occupancy number can just as easily mean understaffing as efficiency. Adherence — actual activity against the published schedule. Attrition and Cost per Contact round out the list for leadership-level reporting, tying operational performance back to a financial number.
Turning this list into a dashboard, not just a definition sheet
A documented KPI list is the starting point, not the deliverable. The real work is building a contact-center KPI framework where every one of these is a single DAX measure in one semantic model, reused across every report instead of recalculated by hand in each new spreadsheet. It is the same approach behind the CRT% driver-analysis dashboard covered in our case studies. If you are still maintaining separate definitions per report, or per person, get in touch and we can talk through what a shared model would look like for your data.
AI generated content.