EnableYourData.com

KPI · HR

Span of control: formula and example.

Span of control is the average number of employees who report directly to one manager. You divide the number of employees who have a manager by the number of managers. It indicates how flat or layered an organisation is and how much time a manager has for each person.

Span of control formula

Number of employees with a direct manager ÷ number of managers

Worked example

At Acme Groothandel, 149 of the 150 employees have a direct manager, and there are 15 managers. The average span of control is 149 ÷ 15 = 9.9. In the warehouse, 2 team leaders manage 38 people between them: a span of 38 ÷ 2 = 19.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A wider span means fewer managers and lower overhead, but also less time per employee for coaching and one-to-ones. What is appropriate depends on the work: similar, well-organised work allows a wider span than complex or varied work. Look by department and read it next to absence and voluntary turnover.

Pitfalls with span of control

  • Not counting managers as reports of their own manager, which throws the count off.
  • Relying on an outdated organisation chart; the manager field in HR systems is often poorly maintained.
  • Showing only the organisation-wide average when the differences between departments are what matter.

SQL & DAX

Calculating span of control 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 m.department,
       COUNT(DISTINCT e.manager_id) AS managers,
       COUNT(*) AS direct_reports,
       ROUND(COUNT(*)::numeric / NULLIF(COUNT(DISTINCT e.manager_id), 0), 1) AS avg_span_of_control
FROM employees e
JOIN employees m ON m.employee_id = e.manager_id
WHERE e.hire_date <= CURRENT_DATE
  AND (e.termination_date IS NULL OR e.termination_date > CURRENT_DATE)
GROUP BY ROLLUP (m.department)
ORDER BY m.department NULLS LAST;
DAX · Power BI
Direct Reports = CALCULATE ( COUNTROWS ( Employees ), NOT ISBLANK ( Employees[ManagerId] ), ISBLANK ( Employees[TerminationDate] ) )
Avg Span of Control = DIVIDE ( [Direct Reports], CALCULATE ( DISTINCTCOUNTNOBLANK ( Employees[ManagerId] ), ISBLANK ( Employees[TerminationDate] ) ) )

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for span of control 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

What is span of control?

Span of control is the number of employees who report directly to one manager. For an organisation you calculate the average across all managers. It says something about structure and how stretched managers are.

How do you calculate span of control?

Count the active employees who have a direct manager and divide by the number of distinct managers. Your HR system needs an up-to-date manager for every employee. Calculate it by department as well.

What is a good span of control?

There is no fixed figure; it depends on the type of work, the team's experience and the manager's other duties. Similar, independent work supports a wider span than complex work that needs a lot of guidance. Aim for what works in each department.

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.