EnableYourData.com

KPI · Customer service

Service level (call centre): formula and example.

Service level is the percentage of incoming calls or chats answered within a set waiting time, for example within 20 seconds. It is written as a combination of percentage and threshold, such as 75% within 20 seconds. Service level is the standard measure of reachability and the basis for staffing plans in a contact centre.

Service level (call centre) formula

Calls answered within the threshold ÷ calls offered × 100% (offered = answered + abandoned, usually excluding short drops)

Worked example

In March Acme Groothandel was offered 2,200 calls: 2,000 answered and 200 abandoned. Of the answered calls, 1,650 were picked up within 20 seconds. Service level is 1,650 ÷ 2,200 × 100% = 75% within 20 seconds.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A higher service level means callers reach someone faster. Look at it by half hour or hour, because a good daily average can hide long waits at peak times. Compare with the target you have set yourself, and read service level together with abandonment rate and average waiting time.

Pitfalls with service level (call centre)

  • Leaving abandoned calls out of the denominator, which makes service level look better than it is.
  • Quoting only the percentage without the threshold, so it is unclear what is being measured.
  • Reporting a daily average when staffing needs to be right for every half hour.

SQL & DAX

Calculating service level (call centre) in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
SELECT date_trunc('month', started_at)::date AS month,
       COUNT(*) AS offered_calls,
       COUNT(*) FILTER (WHERE NOT abandoned AND wait_seconds <= 20) AS answered_within_20s,
       ROUND(100.0 * COUNT(*) FILTER (WHERE NOT abandoned AND wait_seconds <= 20)
             / NULLIF(COUNT(*), 0), 1) AS service_level_pct
FROM calls
WHERE NOT (abandoned AND wait_seconds < 5)
  AND started_at >= current_date - interval '12 months'
GROUP BY 1
ORDER BY 1;
DAX · Power BI
Offered Calls = COUNTROWS(FILTER(Calls, NOT (Calls[Abandoned] && Calls[WaitSeconds] < 5)))

Service Level % =
DIVIDE(CALCULATE(COUNTROWS(Calls), Calls[Abandoned] = FALSE(), Calls[WaitSeconds] <= 20), [Offered Calls])

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for service level (call centre) per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate service level?

Divide the number of calls answered within the threshold by the number of calls offered and multiply by 100%. With 1,650 calls answered within 20 seconds out of 2,200 offered, service level is 75%. Always state the threshold.

What is the difference between service level and average speed of answer?

Service level measures what share of callers are helped within a set time, average speed of answer how long callers wait on average. Service level says more about the experience of most callers, while the average is pulled up by a few long waits.

Do abandoned calls count in service level?

Usually yes: abandoned calls are part of the calls offered and so count in the denominator. Calls dropped within a few seconds are often excluded. Record your method, because the result differs between versions.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.