EnableYourData.com

KPI · Customer service

Contact rate (contacts per order): formula and example.

Contact rate is the number of customer contacts with customer service divided by the number of orders in the same period. It shows how often customers need help per purchase, and so how smoothly the ordering, delivery and invoicing process runs. Because it is tied to the number of orders, it stays comparable as the business grows.

Contact rate (contacts per order) formula

Number of contacts (tickets, calls, chats) ÷ number of orders × 100%

Worked example

In March Acme Groothandel processed 15,000 orders and received 1,200 tickets. The contact rate is 1,200 ÷ 15,000 × 100% = 8%: for every 100 orders, 8 contacts came in.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A lower contact rate means customers need to get in touch less often, which usually points to clear information and few errors. Split contacts by reason, such as 'where is my order', returns or invoices, to see where the biggest gains are. Compare with earlier periods and watch for spikes after promotions or delivery problems.

Pitfalls with contact rate (contacts per order)

  • Including contacts that are not about an order, such as questions from prospects, without separating them.
  • Combining phone, email and chat in some periods but not in others.
  • Counting one customer calling three times about the same problem as one contact in one report and three in another.

SQL & DAX

Calculating contact rate (contacts per order) 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
WITH t AS (
  SELECT date_trunc('month', created_at)::date AS month, COUNT(*) AS contacts
  FROM tickets
  GROUP BY 1
), o AS (
  SELECT date_trunc('month', order_date)::date AS month, COUNT(*) AS orders
  FROM orders
  GROUP BY 1
)
SELECT o.month,
       o.orders,
       COALESCE(t.contacts, 0) AS contacts,
       ROUND(100.0 * COALESCE(t.contacts, 0) / NULLIF(o.orders, 0), 1) AS contact_rate_pct
FROM o
LEFT JOIN t ON t.month = o.month
WHERE o.month >= date_trunc('month', current_date) - interval '12 months'
ORDER BY o.month;
DAX · Power BI
Orders Count = DISTINCTCOUNT(Orders[OrderId])

Contact Rate % = DIVIDE(COUNTROWS(Tickets), [Orders Count])

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for contact rate (contacts per order) 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 contact rate?

Divide the number of customer contacts by the number of orders in the same period and multiply by 100%. With 1,200 contacts on 15,000 orders, the contact rate is 8%. Define which channels you include.

What is the difference between contact rate and tickets per customer?

Contact rate divides contacts by the number of orders, tickets per customer divides them by the number of customers. Contact rate says more about the quality of the ordering and delivery process, tickets per customer more about how much support an average customer needs.

How do you reduce contacts per order?

Start with the most common contact reason, often customers asking where their order is. Up-to-date tracking information, clear delivery times and accurate invoices prevent many contacts before they happen.

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.